示例#1
0
//----------------------------------------------------------------------------
ctkExampleDicomHost::ctkExampleDicomHost(ctkHostedAppPlaceholderWidget* placeholderWidget, int hostPort, int appPort) :
    ctkDicomAbstractHost(hostPort, appPort),
    PlaceholderWidget(placeholderWidget),
    exitingApplication(false)
{
  connect(this,SIGNAL(appReady()),SLOT(onAppReady()));
  connect(this,SIGNAL(startProgress()),this,SLOT(onStartProgress()));
  connect(this,SIGNAL(releaseAvailableResources()),this,SLOT(onReleaseAvailableResources()));
  connect(this,SIGNAL(resumed()),this,SLOT(onResumed()));
  connect(this,SIGNAL(completed()),this,SLOT(onCompleted()));
  connect(this,SIGNAL(suspended()),this,SLOT(onSuspended()));
  connect(this,SIGNAL(canceled()),this,SLOT(onCanceled()));
  connect(this,SIGNAL(exited()),this,SLOT(onExited()));
}
示例#2
0
void HttpClient::onFinished(TcpClientState finishState)
{
	if (finishState == eTCS_Failed) code = 0;

	if (mode == eHCM_File)
	{
		debugf("Download file len written: %d, res^ %d", fileTell(saveFile), isSuccessful());
		if (!isSuccessful())
			fileDelete(saveFile);
		fileClose(saveFile);
	}

	if (onCompleted)
		onCompleted(*this, isSuccessful());

	TcpClient::onFinished(finishState);
}
示例#3
0
void HttpService::poll()
{
    assert(multiHandle != nullptr);

    int runningCount = 0;
    curl_multi_perform(multiHandle, &runningCount);

    int messageCount = 0;
    CURLMsg* message = nullptr;

    while ((message = curl_multi_info_read(multiHandle, &messageCount)) != nullptr)
    {
        CURL* curl = message->easy_handle;

        curl_multi_remove_handle(multiHandle, curl);

        auto pair = sessions.find(curl);
        assert(pair != std::end(sessions));

        if (pair != std::end(sessions)) {
            auto request = std::move(pair->second);
            if (message->msg != CURLMSG_DONE) {
                //std::fprintf(stderr, "CURL error in %s, %d\n", __FILE__, __LINE__);
                request->onError();
            }
            else if (message->data.result != CURLE_OK) {
                //std::fprintf(stderr, "CURL error in %s, %d\n", __FILE__, __LINE__);
                request->onError();
            }
            else {
                request->onCompleted();
            }
            sessions.erase(pair);
        }
    }
}
示例#4
0
 void OnCompleted() override
 {
     if (onCompleted) {
         onCompleted();
     }
 }
示例#5
0
void TextFileRecovererPlugin::onTextFileRecoveringEnded(TextFileRecoverer &rec)
{
    m_recoverers.erase(&rec);
    if (completed())
        onCompleted();
}
示例#6
0
void TextFileRecovererPlugin::onTextEditSaverDestroyed(TextEditSaver &saver)
{
    m_savers.erase(&saver);
    if (completed())
        onCompleted();
}