waiting for a signal

Posted by Umesha MS on Stack Overflow See other posts from Stack Overflow or by Umesha MS
Published on 2010-06-16T09:50:09Z Indexed on 2010/06/16 9:52 UTC
Read the original article Hit count: 196

Filed under:

Hi,

I am working on an application which uploads the content of the file to server.

To upload the file to server I am using ‘QNetworkAccessManager’ class. Since it works as asynchronous way, I changed it to work as synchronous way by using QEventLoop.

Class FileTransfer
{
Public : 
     QNetworkAccessManager mNetworkManager;
     Void Upload(QNetworkRequest request, QIODevice *data)
     {
           responce = mNetworkManager.put(request, data);
           EventLoop.exec();
           ReadResponce(responce);
      }

      Void Stop()
      {
            responce ->close();
      }
}

In my sample application I have 2 windows. 1st to select the files and 2nd to show the progress.

When user click on upload button in the first window, the 2nd window will be displayed and then I create the FileTransfer object and start uploading.

While uploading the file if user closes the form then in the destructor of the window I call the stop of ‘FileTransfer’ after that I delete the ‘FileTransfer’ object.

But here the Upload() function is not yet completed so it will crash.

Please help me to: How to wait in 'stop()' function until the Upload() function is completed

© Stack Overflow or respective owner

Related posts about qt