Exemple #1
0
EveApi::Delegates::Delegates()
{
    shared_ptr<Delegate> delegate(new CharactersParser(this));
    this->connect(delegate.get(), SIGNAL(requestComplete(QString,shared_ptr<CharactersData>,QString,QDateTime)),
                  this, SIGNAL(requestComplete(QString,shared_ptr<CharactersData>,QString,QDateTime)));
    this->_delegates.insert("Characters.xml", delegate);
}
void FBRequestEnvelope::onRequestCallback(QByteArray resp) {
	disconnect(Facebook::instance()->getRequestManager(), SIGNAL(requestReady(QByteArray)), this, SLOT(onRequestCallback(QByteArray)));
	if(resp.isEmpty())
	{
		//error need to tell the UI
		emit requestError(0x0);
		return;
	}
	response->parse(resp);

	if(response->getType() == FBApiResponseObjectFactory::Empty)
	{
		emit requestComplete(NULL);
	}
	else if(response->getResponse() != NULL)
	{
		if(param1 == NULL)
		{
			emit requestComplete(response->getResponse());
		}
		else
		{
			emit requestComplete(param1, response->getResponse());
		}
	}
	else
	{
		emit requestError(response->getMeta());
	}
}
void XMLHttpRequestClass::requestFinished() {
    disconnect(&_timer, SIGNAL(timeout()), this, SLOT(requestTimeout()));

    _errorCode = _reply->error();

    if (_errorCode == QNetworkReply::NoError) {
        _rawResponseData.append(_reply->readAll());

        if (_responseType == "json") {
            _responseData = _engine->evaluate("(" + QString(_rawResponseData.data()) + ")");
            if (_responseData.isError()) {
                _engine->clearExceptions();
                _responseData = QScriptValue::NullValue;
            }
        } else if (_responseType == "arraybuffer") {
            QScriptValue data = _engine->newVariant(QVariant::fromValue(_rawResponseData));
            _responseData = _engine->newObject(reinterpret_cast<ScriptEngine*>(_engine)->getArrayBufferClass(), data);
        } else {
            _responseData = QScriptValue(QString(_rawResponseData.data()));
        }
    }

    setReadyState(DONE);
    emit requestComplete();
}
Exemple #4
0
int32 FileDaemon::WaitOnRequests(void *arg) {
	FileDaemon *us = reinterpret_cast<FileDaemon *>(arg);
	status_t err = B_ERROR;
	BMessenger msgr(us);
	bool work = true;
	thread_id thread = find_thread(NULL);

	while (work) {
		snooze(kSnoozeTime);

		BMessage getRequest(kGetRequest);
		getRequest.AddInt32("threadid", thread);
		BMessage reply;

		if (msgr.SendMessage(&getRequest, &reply) != B_OK) {
			work = false;
			continue;
		};

		RequestInfo *info = NULL;
		reply.FindBool("continue", &work);
		
		if (reply.FindPointer("requestinfo", reinterpret_cast<void **>(&info)) != B_OK) continue;
		if (info == NULL) continue;

		status_t result = info->request->Start();

		// Send the complete/ error message
		if (info->target) {
			fprintf(stderr, "FileDaemon::WaitOnRequests(): %s: %s (%i)\n", info->request->URL(),
				strerror(result), result);
		
			switch (result) {
				case B_OK: {
					if (info->finish) info->target->SendMessage(info->finish);
				} break;
				
				case DownloadCancelled: {
					if (info->cancel) info->target->SendMessage(info->cancel);
				} break;
				
				default: {
					if (info->error) info->target->SendMessage(info->error);
				} break;
			};
		};

		BMessage requestComplete(kRequestComplete);
		requestComplete.AddInt32("threadid", thread);
		requestComplete.AddPointer("requestinfo", &info);
		
		msgr.SendMessage(&requestComplete);
	};

	BMessage threadComplete(kThreadComplete);
	threadComplete.AddInt32("threadid", thread);
	msgr.SendMessage(&threadComplete);
	
	return B_OK;
};
void XMLHttpRequestClass::requestTimeout() {
    if (_onTimeout.isFunction()) {
        _onTimeout.call(QScriptValue::NullValue);
    }
    abortRequest();
    _errorCode = QNetworkReply::TimeoutError;
    setReadyState(DONE);
    emit requestComplete();
}
void XMLHttpRequestClass::send(const QScriptValue& data) {
    if (_readyState == OPENED && !_reply) {
        if (!data.isNull()) {
            _sendData = new QBuffer(this);
            if (data.isObject()) {
                QByteArray ba = qscriptvalue_cast<QByteArray>(data);
                _sendData->setData(ba);
            } else {
                _sendData->setData(data.toString().toUtf8());
            }
        }

        doSend();

        if (!_async) {
            QEventLoop loop;
            connect(this, SIGNAL(requestComplete()), &loop, SLOT(quit()));
            loop.exec();
        }
    }
}
Exemple #7
0
void TransmRpcSession::dataReceived(bool error) {
  if(error) {
    QMessageBox::warning(parent, tr("TranRem"), tr("Error recieving data!"), QMessageBox::Ok );
    //qDebug() << "Error recieving data!" << http->errorString();
    emit errorSignal(dataRecievingError);
  }
  else {
    switch(http->lastResponse().statusCode()) {
    case 409:
	  transmSessionId = http->lastResponse().value("X-Transmission-Session-Id");
	  requestHeader.setValue("X-Transmission-Session-Id", transmSessionId);
	  response->close();
	  response->buffer().clear(); 
	  http->request(requestHeader, requestBody, response);//check this!!!
	  break;
	  case 200:
	  response->seek(0);
      if(parseRequestData()) {
        emit requestComplete();
/*        //debug
        qDebug() << "Tag: " << Tag << " Result: " << Result;
        int i;
        for(i=0;i<Torrents.size();i++)
          qDebug() << "# " << i << " Status: " << Torrents.at(i).status(); 
        //end debug   */
      }
	    else
		    emit errorSignal(parsingError);
	  break;
	  default:
    QMessageBox::warning(parent, tr("TranRem"), tr("Response status code: %1").arg(http->lastResponse().statusCode()), QMessageBox::Ok );
	  //qDebug() << "Response status code: " << http->lastResponse().statusCode();
	  response->close();
	  response->buffer().clear();
	  emit errorSignal(connectionError);
	}
  };
};