46a5dc0b3bbf9bdb954dfe3c1deb54555ab8b8a759d90cc404fa30376ef3172fbd6a4e70a8c81b0a
759
  bool removeFile (false);
759
  bool removeFile (false);
760
  XferInfo::XferKind kind (XferInfo::Xfer_None);
760
  XferInfo::XferKind kind (XferInfo::Xfer_None);
761
  XferInfo::XferDirection inout (XferInfo::Xfer_Out);
761
  XferInfo::XferDirection inout (XferInfo::Xfer_Out);
 
 
762
  qint64  duration (0);
762
  XferStateMap::iterator  stateIt = xferState.find(id);
763
  XferStateMap::iterator  stateIt = xferState.find(id);
763
  if (stateIt != xferState.end()) {
764
  if (stateIt != xferState.end()) {
764
    kind = stateIt->second.kind;
765
    kind = stateIt->second.kind;
765
    inout = stateIt->second.inout;
766
    inout = stateIt->second.inout;
766
    removeFile = stateIt->second.removeOnComplete;
767
    removeFile = stateIt->second.removeOnComplete;
 
 
768
    duration = stateIt->second.usecs;
767
  }
769
  }
768
  xferState.erase (id);
770
  xferState.erase (id);
769
  QFile *fp = xferFile[id];
771
  QFile *fp = xferFile[id];
770
  QString filename (tr("unknown file"));
772
  QString filename (tr("unknown file"));
 
 
773
  qDebug () << __PRETTY_FUNCTION__ << " file " << fp;
771
  if (fp) {
774
  if (fp) {
772
    filename = fp->fileName();
775
    filename = fp->fileName();
 
 
776
    qDebug () << __PRETTY_FUNCTION__ 
 
 
777
              << " closing receive file "  << fp->fileName();
773
    fp->close();
778
    fp->close();
 
 
779
    qDebug () << "     file size after close " 
 
 
780
              << QFileInfo (filename).size ();
 
 
781
    qDebug () << "     file perms after close " 
 
 
782
              << QFileInfo (filename).permissions ();
774
    if (removeFile) {
783
    if (removeFile) {
775
      fp->remove ();
784
      fp->remove ();
776
    }
785
    }
...
 
...
 
795
    if (inout == XferInfo::Xfer_In) {
804
    if (inout == XferInfo::Xfer_In) {
796
#if DO_AUDIO
805
#if DO_AUDIO
797
      audio.FinishReceive ();
806
      audio.FinishReceive ();
798
#else
807
#endif
799
  #if DO_MOBI_AUDIO
808
#if DO_MOBI_AUDIO
800
      mobiAudio.FinishReceive ();
809
      mobiAudio.FinishReceive (filename, duration);
801
  #endif
 
 
802
#endif
810
#endif
803
    } else if (inout == XferInfo::Xfer_Out) {
811
    } else if (inout == XferInfo::Xfer_Out) {
804
      ui.samButton->setEnabled (qtAudioOk);
812
      ui.samButton->setEnabled (qtAudioOk);
...
 
...
 
891
    info.lastChunkAck = 0;
899
    info.lastChunkAck = 0;
892
    info.kind = XferInfo::Xfer_Audio;
900
    info.kind = XferInfo::Xfer_Audio;
893
    info.inout = XferInfo::Xfer_In;
901
    info.inout = XferInfo::Xfer_In;
 
 
902
    info.usecs = msg.Attribute("usecs").toLongLong();
894
#if DO_AUDIO
903
#if DO_AUDIO
895
    audio.StartReceive ();
904
    audio.StartReceive ();
896
    QFile * fp = audio.InFile ();
905
    QFile * fp = audio.InFile ();