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;
}
Exemple #2
0
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;
}