32 #include <QtCore/QVariant>
34 using namespace KXmlRpc;
39 Private() : mUserAgent(
"KDE XMLRPC resources" ), mDigestAuth( false ){}
41 void queryFinished(
Query * );
46 QList<Query*> mPendingQueries;
49 void Client::Private::queryFinished(
Query *query )
51 mPendingQueries.removeAll( query );
56 : QObject( parent ), d( new Private )
61 : QObject( parent ), d( new Private )
68 QList<Query *>::Iterator it;
69 for ( it = d->mPendingQueries.begin(); it != d->mPendingQueries.end(); ++it ) {
70 ( *it )->deleteLater();
73 d->mPendingQueries.clear();
80 d->mUrl = url.isValid() ? url : KUrl();
100 return d->mDigestAuth;
105 d->mDigestAuth = enabled;
109 QObject *msgObj,
const char *messageSlot,
110 QObject *faultObj,
const char *faultSlot,
const QVariant &
id )
113 QMap<QString, QString> metaData;
115 if ( d->mUrl.isEmpty() ) {
116 kWarning() <<
"Cannot execute call to" << method <<
": empty server URL";
120 if ( d->mUserAgent.isEmpty() ) {
121 metaData[
"UserAgent"] =
"KDE-XMLRPC";
123 metaData[
"UserAgent"] = d->mUserAgent;
126 if ( d->mDigestAuth ) {
127 metaData[
"WWW-Authenticate:"] =
"Digest";
131 connect( query, SIGNAL(message(QList<QVariant>,QVariant)), msgObj, messageSlot );
132 connect( query, SIGNAL(fault(
int,QString,QVariant)), faultObj, faultSlot );
133 connect( query, SIGNAL(finished(
Query*)),
this, SLOT(queryFinished(
Query*)) );
134 d->mPendingQueries.append( query );
136 query->
call( d->mUrl.url(), method, args, metaData );
140 QObject *msgObj,
const char *messageSlot,
141 QObject *faultObj,
const char *faultSlot,
144 QList<QVariant> args;
146 call( method, args, msgObj, messageSlot, faultObj, faultSlot,
id );
150 QObject *msgObj,
const char *messageSlot,
151 QObject *faultObj,
const char *faultSlot,
154 QList<QVariant> args;
155 args << QVariant( arg );
156 call( method, args, msgObj, messageSlot, faultObj, faultSlot,
id );
160 QObject *msgObj,
const char *messageSlot,
161 QObject *faultObj,
const char *faultSlot,
164 QList<QVariant> args;
165 args << QVariant( arg );
166 call( method, args, msgObj, messageSlot, faultObj, faultSlot,
id );
170 QObject *msgObj,
const char *messageSlot,
171 QObject *faultObj,
const char *faultSlot,
174 QList<QVariant> args;
175 args << QVariant( arg );
176 call( method, args, msgObj, messageSlot, faultObj, faultSlot,
id );
180 QObject *msgObj,
const char *messageSlot,
181 QObject *faultObj,
const char *faultSlot,
184 QList<QVariant> args;
185 args << QVariant( arg );
186 call( method, args, msgObj, messageSlot, faultObj, faultSlot,
id );
190 QObject *msgObj,
const char *messageSlot,
191 QObject *faultObj,
const char *faultSlot,
194 QList<QVariant> args;
195 args << QVariant( arg );
196 call( method, args, faultObj, faultSlot, msgObj, messageSlot,
id );
200 QObject *msgObj,
const char *messageSlot,
201 QObject *faultObj,
const char *faultSlot,
204 QList<QVariant> args;
205 args << QVariant( arg );
206 call( method, args, msgObj, messageSlot, faultObj, faultSlot,
id );
210 QObject *msgObj,
const char *messageSlot,
211 QObject *faultObj,
const char *faultSlot,
214 QList<QVariant> args;
215 for (
int i = 0; i < arg.count(); ++i ) {
216 args << QVariant( arg[ i ] );
219 call( method, args, msgObj, messageSlot, faultObj, faultSlot,
id );
222 #include "moc_client.cpp"