KXmlRpcClient 5.109.0
client.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2003-2004 Frerich Raabe <raabe@kde.org>
3 SPDX-FileCopyrightText: 2003-2004 Tobias Koenig <tokoe@kde.org>
4 SPDX-FileCopyrightText: 2006 Narayan Newton <narayannewton@gmail.com>
5
6 SPDX-License-Identifier: BSD-2-Clause
7*/
21#ifndef KXML_RPC_CLIENT_H
22#define KXML_RPC_CLIENT_H
23
24#include "kxmlrpcclient_export.h"
25
26#include <QList>
27#include <QObject>
28#include <QUrl>
29#include <QVariant>
30class ClientPrivate;
31
33namespace KXmlRpc
34{
54class KXMLRPCCLIENT_EXPORT Client : public QObject
55{
56 Q_OBJECT
57
58public:
64 explicit Client(QObject *parent = nullptr);
65
72 explicit Client(const QUrl &url, QObject *parent = nullptr);
73
77 ~Client() override;
78
84 QUrl url() const;
85
93 void setUrl(const QUrl &url);
94
100 QString userAgent() const;
101
109 void setUserAgent(const QString &userAgent);
110
118
125 void setDigestAuthEnabled(bool enabled);
126
127public Q_SLOTS:
140 void call(const QString &method,
141 const QList<QVariant> &args,
142 QObject *msgObj,
143 const char *messageSlot,
144 QObject *faultObj,
145 const char *faultSlot,
146 const QVariant &id = QVariant());
147
160 void call(const QString &method,
161 const QVariant &arg,
162 QObject *msgObj,
163 const char *messageSlot,
164 QObject *faultObj,
165 const char *faultSlot,
166 const QVariant &id = QVariant());
167
180 void
181 call(const QString &method, int arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id = QVariant());
182
195 void
196 call(const QString &method, bool arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id = QVariant());
197
210 void call(const QString &method,
211 double arg,
212 QObject *msgObj,
213 const char *messageSlot,
214 QObject *faultObj,
215 const char *faultSlot,
216 const QVariant &id = QVariant());
217
230 void call(const QString &method,
231 const QString &arg,
232 QObject *msgObj,
233 const char *messageSlot,
234 QObject *faultObj,
235 const char *faultSlot,
236 const QVariant &id = QVariant());
237
250 void call(const QString &method,
251 const QByteArray &arg,
252 QObject *msgObj,
253 const char *messageSlot,
254 QObject *faultObj,
255 const char *faultSlot,
256 const QVariant &id = QVariant());
257
270 void call(const QString &method,
271 const QDateTime &arg,
272 QObject *msgObj,
273 const char *messageSlot,
274 QObject *faultObj,
275 const char *faultSlot,
276 const QVariant &id = QVariant());
277
290 void call(const QString &method,
291 const QStringList &arg,
292 QObject *msgObj,
293 const char *messageSlot,
294 QObject *faultObj,
295 const char *faultSlot,
296 const QVariant &id = QVariant());
297
298private:
299 ClientPrivate *const d;
300
301 template<typename T>
302 void call(const QString &method,
303 const QList<T> &arg,
304 QObject *obj1,
305 const char *messageSlot,
306 QObject *obj2,
307 const char *faultSlot,
308 const QVariant &id = QVariant());
309
310 Q_PRIVATE_SLOT(d, void queryFinished(Query *))
311};
312
325template<typename T>
326void Client::call(const QString &method,
327 const QList<T> &arg,
328 QObject *msgObj,
329 const char *messageSlot,
330 QObject *faultObj,
331 const char *faultSlot,
332 const QVariant &id)
333{
334 QList<QVariant> args;
335 const int numArgs = arg.count();
336 args.reserve(numArgs);
337 for (int i = 0; i < numArgs; ++i) {
338 args << QVariant(arg[i]);
339 }
340
341 return call(method, args, faultObj, faultSlot, msgObj, messageSlot, id);
342}
343
344}
345
346#endif
A class that represents a connection to a XML-RPC server.
Definition client.h:55
void call(const QString &method, const QVariant &arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id=QVariant())
Calls the given method on a XML-RPC server, with the given argument.
void call(const QString &method, const QDateTime &arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id=QVariant())
Calls the given method on a XML-RPC server, with the given date as the argument.
~Client() override
Destroys the XML-RPC Client.
void setDigestAuthEnabled(bool enabled)
Enables/disables HTTP-Digest authentication.
void setUrl(const QUrl &url)
Sets the url the Client will connect to.
void call(const QString &method, const QString &arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id=QVariant())
Calls the given method on a XML-RPC server, with the given string as the argument.
QUrl url() const
Returns the current url the XML-RPC Client will connect to.
Client(const QUrl &url, QObject *parent=nullptr)
Constructs a XML-RPC Client, which will connect to url.
void call(const QString &method, double arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id=QVariant())
Calls the given method on a XML-RPC server, with the given double as the argument.
void call(const QString &method, const QByteArray &arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id=QVariant())
Calls the given method on a XML-RPC server, with the given byte array as the argument.
void call(const QString &method, bool arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id=QVariant())
Calls the given method on a XML-RPC server, with the given bool as the argument.
void call(const QString &method, int arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id=QVariant())
Calls the given method on a XML-RPC server, with the given int as the argument.
bool isDigestAuthEnabled() const
Returns true if HTTP-Digest authentication is enabled, false if not.
void call(const QString &method, const QStringList &arg, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id=QVariant())
Calls the given method on a XML-RPC server, with the given string list as the argument.
QString userAgent() const
Returns the user agent string currently used by the Client.
void call(const QString &method, const QList< QVariant > &args, QObject *msgObj, const char *messageSlot, QObject *faultObj, const char *faultSlot, const QVariant &id=QVariant())
Calls the given method on a XML-RPC server, with the given argument list.
void setUserAgent(const QString &userAgent)
Sets the userAgent string the Client will use to identify itself.
Client(QObject *parent=nullptr)
Constructs a XML-RPC Client.
Names for XmlRpc related classes.
Definition client.h:34