QNetworkReply* MaiaXmlRpcClient::call(QString method, QList<QVariant> args, QObject* responseObject, const char* responseSlot, QObject* faultObject, const char* faultSlot) { MaiaObject* call = new MaiaObject(); connect(call, SIGNAL(aresponse(QVariant &, QNetworkReply *)), responseObject, responseSlot); connect(call, SIGNAL(fault(int, const QString &, QNetworkReply *)), faultObject, faultSlot); QNetworkReply* reply = manager.post( request, call->prepareCall(method, args).toUtf8() ); callmap[reply] = call; return reply; }
void MaiaXmlRpcClient::call(QString method, QList<QVariant> args, QObject* responseObject, const char* responseSlot, QObject* faultObject, const char* faultSlot) { int callid = 0; MaiaObject* call = new MaiaObject(this); connect(call, SIGNAL(aresponse(QVariant &)), responseObject, responseSlot); connect(call, SIGNAL(fault(int, const QString &)), faultObject, faultSlot); connect(&http, SIGNAL(requestFinished(int, bool)), this, SLOT(httpRequestDone(int, bool))); QHttpRequestHeader header("POST", m_url.path()); header.setValue("Host", m_url.host()); header.setValue("User-Agent", "libmaia 0.1"); header.setValue("Content-type", "text/xml"); callid = http.request(header, call->prepareCall(method, args).toUtf8()); callmap[callid] = call; }