00001
00002
00003
00004
00005
00006
00007
00008 #ifndef IN_TELEPATHY_QT4_HEADER
00009 #error IN_TELEPATHY_QT4_HEADER
00010 #endif
00011
00012 #include <TelepathyQt4/Types>
00013
00014 #include <QtGlobal>
00015
00016 #include <QString>
00017 #include <QObject>
00018 #include <QVariant>
00019
00020 #include <QDBusPendingReply>
00021
00022 #include <TelepathyQt4/Client/AbstractInterface>
00023 #include <TelepathyQt4/Client/DBusProxy>
00024
00025
00026 #ifndef TELEPATHY_GNUC_DEPRECATED
00027 # if defined(Q_CC_GNUC) && __GNUC__ >= 4
00028 # define TELEPATHY_GNUC_DEPRECATED __attribute__((__deprecated__))
00029 # else
00030 # define TELEPATHY_GNUC_DEPRECATED
00031 # endif
00032 #endif
00033 namespace Telepathy
00034 {
00035 namespace Client
00036 {
00037 namespace DBus
00038 {
00039
00047 class DBusDaemonInterface : public Telepathy::Client::AbstractInterface
00048 {
00049 Q_OBJECT
00050
00051 public:
00058 static inline const char *staticInterfaceName()
00059 {
00060 return "org.freedesktop.DBus";
00061 }
00062
00070 DBusDaemonInterface(
00071 const QString& serviceName,
00072 const QString& objectPath,
00073 QObject* parent = 0
00074 );
00075
00084 DBusDaemonInterface(
00085 const QDBusConnection& connection,
00086 const QString& serviceName,
00087 const QString& objectPath,
00088 QObject* parent = 0
00089 );
00090
00097 DBusDaemonInterface(Telepathy::Client::DBusProxy *proxy);
00098
00106 explicit DBusDaemonInterface(const Telepathy::Client::AbstractInterface& mainInterface);
00107
00115 DBusDaemonInterface(const Telepathy::Client::AbstractInterface& mainInterface, QObject* parent);
00116
00117 public Q_SLOTS:
00121 inline QDBusPendingReply<QString> Hello()
00122 {
00123 if (!invalidationReason().isEmpty()) {
00124 return QDBusPendingReply<QString>(QDBusMessage::createError(
00125 invalidationReason(),
00126 invalidationMessage()
00127 ));
00128 }
00129
00130
00131 return asyncCall(QLatin1String("Hello"));
00132 }
00133
00137 inline QDBusPendingReply<uint> RequestName(const QString& name, uint flags)
00138 {
00139 if (!invalidationReason().isEmpty()) {
00140 return QDBusPendingReply<uint>(QDBusMessage::createError(
00141 invalidationReason(),
00142 invalidationMessage()
00143 ));
00144 }
00145
00146
00147 QList<QVariant> argumentList;
00148 argumentList << QVariant::fromValue(name) << QVariant::fromValue(flags);
00149 return asyncCallWithArgumentList(QLatin1String("RequestName"), argumentList);
00150 }
00151
00155 inline QDBusPendingReply<uint> ReleaseName(const QString& name)
00156 {
00157 if (!invalidationReason().isEmpty()) {
00158 return QDBusPendingReply<uint>(QDBusMessage::createError(
00159 invalidationReason(),
00160 invalidationMessage()
00161 ));
00162 }
00163
00164
00165 QList<QVariant> argumentList;
00166 argumentList << QVariant::fromValue(name);
00167 return asyncCallWithArgumentList(QLatin1String("ReleaseName"), argumentList);
00168 }
00169
00173 inline QDBusPendingReply<uint> StartServiceByName(const QString& service, uint flags)
00174 {
00175 if (!invalidationReason().isEmpty()) {
00176 return QDBusPendingReply<uint>(QDBusMessage::createError(
00177 invalidationReason(),
00178 invalidationMessage()
00179 ));
00180 }
00181
00182
00183 QList<QVariant> argumentList;
00184 argumentList << QVariant::fromValue(service) << QVariant::fromValue(flags);
00185 return asyncCallWithArgumentList(QLatin1String("StartServiceByName"), argumentList);
00186 }
00187
00191 inline QDBusPendingReply<bool> NameHasOwner(const QString& nameToCheck)
00192 {
00193 if (!invalidationReason().isEmpty()) {
00194 return QDBusPendingReply<bool>(QDBusMessage::createError(
00195 invalidationReason(),
00196 invalidationMessage()
00197 ));
00198 }
00199
00200
00201 QList<QVariant> argumentList;
00202 argumentList << QVariant::fromValue(nameToCheck);
00203 return asyncCallWithArgumentList(QLatin1String("NameHasOwner"), argumentList);
00204 }
00205
00209 inline QDBusPendingReply<QStringList> ListNames()
00210 {
00211 if (!invalidationReason().isEmpty()) {
00212 return QDBusPendingReply<QStringList>(QDBusMessage::createError(
00213 invalidationReason(),
00214 invalidationMessage()
00215 ));
00216 }
00217
00218
00219 return asyncCall(QLatin1String("ListNames"));
00220 }
00221
00225 inline QDBusPendingReply<QStringList> ListActivatableNames()
00226 {
00227 if (!invalidationReason().isEmpty()) {
00228 return QDBusPendingReply<QStringList>(QDBusMessage::createError(
00229 invalidationReason(),
00230 invalidationMessage()
00231 ));
00232 }
00233
00234
00235 return asyncCall(QLatin1String("ListActivatableNames"));
00236 }
00237
00241 inline QDBusPendingReply<> AddMatch(const QString& rule)
00242 {
00243 if (!invalidationReason().isEmpty()) {
00244 return QDBusPendingReply<>(QDBusMessage::createError(
00245 invalidationReason(),
00246 invalidationMessage()
00247 ));
00248 }
00249
00250
00251 QList<QVariant> argumentList;
00252 argumentList << QVariant::fromValue(rule);
00253 return asyncCallWithArgumentList(QLatin1String("AddMatch"), argumentList);
00254 }
00255
00259 inline QDBusPendingReply<> RemoveMatch(const QString& rule)
00260 {
00261 if (!invalidationReason().isEmpty()) {
00262 return QDBusPendingReply<>(QDBusMessage::createError(
00263 invalidationReason(),
00264 invalidationMessage()
00265 ));
00266 }
00267
00268
00269 QList<QVariant> argumentList;
00270 argumentList << QVariant::fromValue(rule);
00271 return asyncCallWithArgumentList(QLatin1String("RemoveMatch"), argumentList);
00272 }
00273
00277 inline QDBusPendingReply<QString> GetNameOwner(const QString& name)
00278 {
00279 if (!invalidationReason().isEmpty()) {
00280 return QDBusPendingReply<QString>(QDBusMessage::createError(
00281 invalidationReason(),
00282 invalidationMessage()
00283 ));
00284 }
00285
00286
00287 QList<QVariant> argumentList;
00288 argumentList << QVariant::fromValue(name);
00289 return asyncCallWithArgumentList(QLatin1String("GetNameOwner"), argumentList);
00290 }
00291
00295 inline QDBusPendingReply<QStringList> ListQueuedOwners(const QString& name)
00296 {
00297 if (!invalidationReason().isEmpty()) {
00298 return QDBusPendingReply<QStringList>(QDBusMessage::createError(
00299 invalidationReason(),
00300 invalidationMessage()
00301 ));
00302 }
00303
00304
00305 QList<QVariant> argumentList;
00306 argumentList << QVariant::fromValue(name);
00307 return asyncCallWithArgumentList(QLatin1String("ListQueuedOwners"), argumentList);
00308 }
00309
00313 inline QDBusPendingReply<uint> GetConnectionUnixUser(const QString& connectionName)
00314 {
00315 if (!invalidationReason().isEmpty()) {
00316 return QDBusPendingReply<uint>(QDBusMessage::createError(
00317 invalidationReason(),
00318 invalidationMessage()
00319 ));
00320 }
00321
00322
00323 QList<QVariant> argumentList;
00324 argumentList << QVariant::fromValue(connectionName);
00325 return asyncCallWithArgumentList(QLatin1String("GetConnectionUnixUser"), argumentList);
00326 }
00327
00331 inline QDBusPendingReply<uint> GetConnectionUnixProcessID(const QString& connectionName)
00332 {
00333 if (!invalidationReason().isEmpty()) {
00334 return QDBusPendingReply<uint>(QDBusMessage::createError(
00335 invalidationReason(),
00336 invalidationMessage()
00337 ));
00338 }
00339
00340
00341 QList<QVariant> argumentList;
00342 argumentList << QVariant::fromValue(connectionName);
00343 return asyncCallWithArgumentList(QLatin1String("GetConnectionUnixProcessID"), argumentList);
00344 }
00345
00349 inline QDBusPendingReply<QByteArray> GetConnectionSELinuxSecurityContext(const QString& connectionName)
00350 {
00351 if (!invalidationReason().isEmpty()) {
00352 return QDBusPendingReply<QByteArray>(QDBusMessage::createError(
00353 invalidationReason(),
00354 invalidationMessage()
00355 ));
00356 }
00357
00358
00359 QList<QVariant> argumentList;
00360 argumentList << QVariant::fromValue(connectionName);
00361 return asyncCallWithArgumentList(QLatin1String("GetConnectionSELinuxSecurityContext"), argumentList);
00362 }
00363
00367 inline QDBusPendingReply<> ReloadConfig()
00368 {
00369 if (!invalidationReason().isEmpty()) {
00370 return QDBusPendingReply<>(QDBusMessage::createError(
00371 invalidationReason(),
00372 invalidationMessage()
00373 ));
00374 }
00375
00376
00377 return asyncCall(QLatin1String("ReloadConfig"));
00378 }
00379
00383 inline QDBusPendingReply<QString> GetId()
00384 {
00385 if (!invalidationReason().isEmpty()) {
00386 return QDBusPendingReply<QString>(QDBusMessage::createError(
00387 invalidationReason(),
00388 invalidationMessage()
00389 ));
00390 }
00391
00392
00393 return asyncCall(QLatin1String("GetId"));
00394 }
00395
00396 Q_SIGNALS:
00400 void NameOwnerChanged(const QString& name, const QString& oldOwner, const QString& newOwner);
00401
00405 void NameLost(const QString& name);
00406
00410 void NameAcquired(const QString& name);
00411
00412 protected:
00413 virtual void invalidate(Telepathy::Client::DBusProxy *, const QString &, const QString &);
00414 };
00415
00423 class IntrospectableInterface : public Telepathy::Client::AbstractInterface
00424 {
00425 Q_OBJECT
00426
00427 public:
00434 static inline const char *staticInterfaceName()
00435 {
00436 return "org.freedesktop.DBus.Introspectable";
00437 }
00438
00446 IntrospectableInterface(
00447 const QString& serviceName,
00448 const QString& objectPath,
00449 QObject* parent = 0
00450 );
00451
00460 IntrospectableInterface(
00461 const QDBusConnection& connection,
00462 const QString& serviceName,
00463 const QString& objectPath,
00464 QObject* parent = 0
00465 );
00466
00473 IntrospectableInterface(Telepathy::Client::DBusProxy *proxy);
00474
00482 explicit IntrospectableInterface(const Telepathy::Client::AbstractInterface& mainInterface);
00483
00491 IntrospectableInterface(const Telepathy::Client::AbstractInterface& mainInterface, QObject* parent);
00492
00493 public Q_SLOTS:
00497 inline QDBusPendingReply<QString> Introspect()
00498 {
00499 if (!invalidationReason().isEmpty()) {
00500 return QDBusPendingReply<QString>(QDBusMessage::createError(
00501 invalidationReason(),
00502 invalidationMessage()
00503 ));
00504 }
00505
00506
00507 return asyncCall(QLatin1String("Introspect"));
00508 }
00509
00510 protected:
00511 virtual void invalidate(Telepathy::Client::DBusProxy *, const QString &, const QString &);
00512 };
00513
00521 class PeerInterface : public Telepathy::Client::AbstractInterface
00522 {
00523 Q_OBJECT
00524
00525 public:
00532 static inline const char *staticInterfaceName()
00533 {
00534 return "org.freedesktop.DBus.Peer";
00535 }
00536
00544 PeerInterface(
00545 const QString& serviceName,
00546 const QString& objectPath,
00547 QObject* parent = 0
00548 );
00549
00558 PeerInterface(
00559 const QDBusConnection& connection,
00560 const QString& serviceName,
00561 const QString& objectPath,
00562 QObject* parent = 0
00563 );
00564
00571 PeerInterface(Telepathy::Client::DBusProxy *proxy);
00572
00580 explicit PeerInterface(const Telepathy::Client::AbstractInterface& mainInterface);
00581
00589 PeerInterface(const Telepathy::Client::AbstractInterface& mainInterface, QObject* parent);
00590
00591 public Q_SLOTS:
00595 inline QDBusPendingReply<> Ping()
00596 {
00597 if (!invalidationReason().isEmpty()) {
00598 return QDBusPendingReply<>(QDBusMessage::createError(
00599 invalidationReason(),
00600 invalidationMessage()
00601 ));
00602 }
00603
00604
00605 return asyncCall(QLatin1String("Ping"));
00606 }
00607
00611 inline QDBusPendingReply<QString> GetMachineId()
00612 {
00613 if (!invalidationReason().isEmpty()) {
00614 return QDBusPendingReply<QString>(QDBusMessage::createError(
00615 invalidationReason(),
00616 invalidationMessage()
00617 ));
00618 }
00619
00620
00621 return asyncCall(QLatin1String("GetMachineId"));
00622 }
00623
00624 protected:
00625 virtual void invalidate(Telepathy::Client::DBusProxy *, const QString &, const QString &);
00626 };
00627
00635 class PropertiesInterface : public Telepathy::Client::AbstractInterface
00636 {
00637 Q_OBJECT
00638
00639 public:
00646 static inline const char *staticInterfaceName()
00647 {
00648 return "org.freedesktop.DBus.Properties";
00649 }
00650
00658 PropertiesInterface(
00659 const QString& serviceName,
00660 const QString& objectPath,
00661 QObject* parent = 0
00662 );
00663
00672 PropertiesInterface(
00673 const QDBusConnection& connection,
00674 const QString& serviceName,
00675 const QString& objectPath,
00676 QObject* parent = 0
00677 );
00678
00685 PropertiesInterface(Telepathy::Client::DBusProxy *proxy);
00686
00694 explicit PropertiesInterface(const Telepathy::Client::AbstractInterface& mainInterface);
00695
00703 PropertiesInterface(const Telepathy::Client::AbstractInterface& mainInterface, QObject* parent);
00704
00705 public Q_SLOTS:
00709 inline QDBusPendingReply<QDBusVariant> Get(const QString& interfaceName, const QString& propertyName)
00710 {
00711 if (!invalidationReason().isEmpty()) {
00712 return QDBusPendingReply<QDBusVariant>(QDBusMessage::createError(
00713 invalidationReason(),
00714 invalidationMessage()
00715 ));
00716 }
00717
00718
00719 QList<QVariant> argumentList;
00720 argumentList << QVariant::fromValue(interfaceName) << QVariant::fromValue(propertyName);
00721 return asyncCallWithArgumentList(QLatin1String("Get"), argumentList);
00722 }
00723
00727 inline QDBusPendingReply<> Set(const QString& interfaceName, const QString& propertyName, const QDBusVariant& value)
00728 {
00729 if (!invalidationReason().isEmpty()) {
00730 return QDBusPendingReply<>(QDBusMessage::createError(
00731 invalidationReason(),
00732 invalidationMessage()
00733 ));
00734 }
00735
00736
00737 QList<QVariant> argumentList;
00738 argumentList << QVariant::fromValue(interfaceName) << QVariant::fromValue(propertyName) << QVariant::fromValue(value);
00739 return asyncCallWithArgumentList(QLatin1String("Set"), argumentList);
00740 }
00741
00745 inline QDBusPendingReply<QVariantMap> GetAll(const QString& interfaceName)
00746 {
00747 if (!invalidationReason().isEmpty()) {
00748 return QDBusPendingReply<QVariantMap>(QDBusMessage::createError(
00749 invalidationReason(),
00750 invalidationMessage()
00751 ));
00752 }
00753
00754
00755 QList<QVariant> argumentList;
00756 argumentList << QVariant::fromValue(interfaceName);
00757 return asyncCallWithArgumentList(QLatin1String("GetAll"), argumentList);
00758 }
00759
00760 protected:
00761 virtual void invalidate(Telepathy::Client::DBusProxy *, const QString &, const QString &);
00762 };
00763 }
00764 }
00765 }