00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef QDBUSPROXY_H
00025 #define QDBUSPROXY_H
00026
00211 #include <qobject.h>
00212
00213 #include "dbus/qdbusmacros.h"
00214
00215 class QDBusConnection;
00216 class QDBusData;
00217 class QDBusError;
00218 class QDBusMessage;
00219
00220 template <class T> class QValueList;
00221
00236 class QDBUS_EXPORT QDBusProxy : public QObject
00237 {
00238 Q_OBJECT
00239 public:
00249 QDBusProxy(QObject* parent = 0, const char* name = 0);
00250
00266 QDBusProxy(const QDBusConnection& connection, QObject* parent = 0,
00267 const char* name = 0);
00268
00283 QDBusProxy(const QString& service, const QString& path,
00284 const QString& interface, const QDBusConnection& connection,
00285 QObject* parent = 0, const char* name = 0);
00286
00290 virtual ~QDBusProxy();
00291
00312 bool setConnection(const QDBusConnection& connection);
00313
00319 const QDBusConnection& connection() const;
00320
00337 void setService(const QString& service);
00338
00346 QString service() const;
00347
00365 void setPath(const QString& path);
00366
00374 QString path() const;
00375
00393 void setInterface(const QString& interface);
00394
00402 QString interface() const;
00403
00422 bool canSend() const;
00423
00443 bool send(const QString& method, const QValueList<QDBusData>& params) const;
00444
00465 QDBusMessage sendWithReply(const QString& method,
00466 const QValueList<QDBusData>& params, QDBusError* error = 0) const;
00467
00497 int sendWithAsyncReply(const QString& method, const QValueList<QDBusData>& params);
00498
00508 QDBusError lastError() const;
00509
00510 signals:
00521 void dbusSignal(const QDBusMessage& message);
00522
00537 void asyncReply(int callID, const QDBusMessage& message);
00538
00539 protected slots:
00559 virtual void handleDBusSignal(const QDBusMessage& message);
00560
00571 virtual void handleAsyncReply(const QDBusMessage& message);
00572
00573 private:
00574 class Private;
00575 Private* d;
00576
00577 private:
00578 QDBusProxy(const QDBusProxy&);
00579 QDBusProxy& operator=(const QDBusProxy&);
00580 };
00581
00582 #endif
00583