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/AbstractInterface>
00023 #include <TelepathyQt4/DBusProxy>
00024 #include <TelepathyQt4/Global>
00025
00026 namespace Tp
00027 {
00028 class PendingVariant;
00029 class PendingOperation;
00030 }
00031
00032 namespace Tp
00033 {
00034 namespace Client
00035 {
00036
00044 class TELEPATHY_QT4_EXPORT AccountInterface : public Tp::AbstractInterface
00045 {
00046 Q_OBJECT
00047
00048 public:
00055 static inline QLatin1String staticInterfaceName()
00056 {
00057 return QLatin1String("org.freedesktop.Telepathy.Account");
00058 }
00059
00067 AccountInterface(
00068 const QString& busName,
00069 const QString& objectPath,
00070 QObject* parent = 0
00071 );
00072
00081 AccountInterface(
00082 const QDBusConnection& connection,
00083 const QString& busName,
00084 const QString& objectPath,
00085 QObject* parent = 0
00086 );
00087
00094 AccountInterface(Tp::DBusProxy *proxy);
00095
00105 inline Tp::PendingVariant *requestPropertyInterfaces() const
00106 {
00107 return internalRequestProperty(QLatin1String("Interfaces"));
00108 }
00109
00123 inline Tp::PendingVariant *requestPropertyDisplayName() const
00124 {
00125 return internalRequestProperty(QLatin1String("DisplayName"));
00126 }
00127
00141 inline Tp::PendingOperation *setPropertyDisplayName(QString newValue)
00142 {
00143 return internalSetProperty(QLatin1String("DisplayName"), QVariant::fromValue(newValue));
00144 }
00145
00158 inline Tp::PendingVariant *requestPropertyIcon() const
00159 {
00160 return internalRequestProperty(QLatin1String("Icon"));
00161 }
00162
00175 inline Tp::PendingOperation *setPropertyIcon(QString newValue)
00176 {
00177 return internalSetProperty(QLatin1String("Icon"), QVariant::fromValue(newValue));
00178 }
00179
00199 inline Tp::PendingVariant *requestPropertyValid() const
00200 {
00201 return internalRequestProperty(QLatin1String("Valid"));
00202 }
00203
00240 inline Tp::PendingVariant *requestPropertyEnabled() const
00241 {
00242 return internalRequestProperty(QLatin1String("Enabled"));
00243 }
00244
00281 inline Tp::PendingOperation *setPropertyEnabled(bool newValue)
00282 {
00283 return internalSetProperty(QLatin1String("Enabled"), QVariant::fromValue(newValue));
00284 }
00285
00303 inline Tp::PendingVariant *requestPropertyNickname() const
00304 {
00305 return internalRequestProperty(QLatin1String("Nickname"));
00306 }
00307
00325 inline Tp::PendingOperation *setPropertyNickname(QString newValue)
00326 {
00327 return internalSetProperty(QLatin1String("Nickname"), QVariant::fromValue(newValue));
00328 }
00329
00371 inline Tp::PendingVariant *requestPropertyService() const
00372 {
00373 return internalRequestProperty(QLatin1String("Service"));
00374 }
00375
00417 inline Tp::PendingOperation *setPropertyService(QString newValue)
00418 {
00419 return internalSetProperty(QLatin1String("Service"), QVariant::fromValue(newValue));
00420 }
00421
00439 inline Tp::PendingVariant *requestPropertyParameters() const
00440 {
00441 return internalRequestProperty(QLatin1String("Parameters"));
00442 }
00443
00473 inline Tp::PendingVariant *requestPropertyAutomaticPresence() const
00474 {
00475 return internalRequestProperty(QLatin1String("AutomaticPresence"));
00476 }
00477
00507 inline Tp::PendingOperation *setPropertyAutomaticPresence(Tp::SimplePresence newValue)
00508 {
00509 return internalSetProperty(QLatin1String("AutomaticPresence"), QVariant::fromValue(newValue));
00510 }
00511
00527 inline Tp::PendingVariant *requestPropertyConnectAutomatically() const
00528 {
00529 return internalRequestProperty(QLatin1String("ConnectAutomatically"));
00530 }
00531
00547 inline Tp::PendingOperation *setPropertyConnectAutomatically(bool newValue)
00548 {
00549 return internalSetProperty(QLatin1String("ConnectAutomatically"), QVariant::fromValue(newValue));
00550 }
00551
00571 inline Tp::PendingVariant *requestPropertyConnection() const
00572 {
00573 return internalRequestProperty(QLatin1String("Connection"));
00574 }
00575
00593 inline Tp::PendingVariant *requestPropertyConnectionStatus() const
00594 {
00595 return internalRequestProperty(QLatin1String("ConnectionStatus"));
00596 }
00597
00610 inline Tp::PendingVariant *requestPropertyConnectionStatusReason() const
00611 {
00612 return internalRequestProperty(QLatin1String("ConnectionStatusReason"));
00613 }
00614
00643 inline Tp::PendingVariant *requestPropertyConnectionError() const
00644 {
00645 return internalRequestProperty(QLatin1String("ConnectionError"));
00646 }
00647
00670 inline Tp::PendingVariant *requestPropertyConnectionErrorDetails() const
00671 {
00672 return internalRequestProperty(QLatin1String("ConnectionErrorDetails"));
00673 }
00674
00689 inline Tp::PendingVariant *requestPropertyCurrentPresence() const
00690 {
00691 return internalRequestProperty(QLatin1String("CurrentPresence"));
00692 }
00693
00719 inline Tp::PendingVariant *requestPropertyRequestedPresence() const
00720 {
00721 return internalRequestProperty(QLatin1String("RequestedPresence"));
00722 }
00723
00749 inline Tp::PendingOperation *setPropertyRequestedPresence(Tp::SimplePresence newValue)
00750 {
00751 return internalSetProperty(QLatin1String("RequestedPresence"), QVariant::fromValue(newValue));
00752 }
00753
00793 inline Tp::PendingVariant *requestPropertyChangingPresence() const
00794 {
00795 return internalRequestProperty(QLatin1String("ChangingPresence"));
00796 }
00797
00833 inline Tp::PendingVariant *requestPropertyNormalizedName() const
00834 {
00835 return internalRequestProperty(QLatin1String("NormalizedName"));
00836 }
00837
00852 inline Tp::PendingVariant *requestPropertyHasBeenOnline() const
00853 {
00854 return internalRequestProperty(QLatin1String("HasBeenOnline"));
00855 }
00856
00863 Tp::PendingVariantMap *requestAllProperties() const
00864 {
00865 return internalRequestAllProperties();
00866 }
00867
00868 public Q_SLOTS:
00879 inline QDBusPendingReply<> Remove(int timeout = -1)
00880 {
00881 if (!invalidationReason().isEmpty()) {
00882 return QDBusPendingReply<>(QDBusMessage::createError(
00883 invalidationReason(),
00884 invalidationMessage()
00885 ));
00886 }
00887
00888 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00889 this->staticInterfaceName(), QLatin1String("Remove"));
00890 return this->connection().asyncCall(callMessage, timeout);
00891 }
00892
00959 inline QDBusPendingReply<QStringList> UpdateParameters(const QVariantMap& set, const QStringList& unset, int timeout = -1)
00960 {
00961 if (!invalidationReason().isEmpty()) {
00962 return QDBusPendingReply<QStringList>(QDBusMessage::createError(
00963 invalidationReason(),
00964 invalidationMessage()
00965 ));
00966 }
00967
00968 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00969 this->staticInterfaceName(), QLatin1String("UpdateParameters"));
00970 callMessage << QVariant::fromValue(set) << QVariant::fromValue(unset);
00971 return this->connection().asyncCall(callMessage, timeout);
00972 }
00973
01013 inline QDBusPendingReply<> Reconnect(int timeout = -1)
01014 {
01015 if (!invalidationReason().isEmpty()) {
01016 return QDBusPendingReply<>(QDBusMessage::createError(
01017 invalidationReason(),
01018 invalidationMessage()
01019 ));
01020 }
01021
01022 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
01023 this->staticInterfaceName(), QLatin1String("Reconnect"));
01024 return this->connection().asyncCall(callMessage, timeout);
01025 }
01026
01027 Q_SIGNALS:
01037 void Removed();
01038
01053 void AccountPropertyChanged(const QVariantMap& properties);
01054
01055 protected:
01056 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
01057 };
01058
01066 class TELEPATHY_QT4_EXPORT AccountInterfaceAddressingInterface : public Tp::AbstractInterface
01067 {
01068 Q_OBJECT
01069
01070 public:
01077 static inline QLatin1String staticInterfaceName()
01078 {
01079 return QLatin1String("org.freedesktop.Telepathy.Account.Interface.Addressing");
01080 }
01081
01089 AccountInterfaceAddressingInterface(
01090 const QString& busName,
01091 const QString& objectPath,
01092 QObject* parent = 0
01093 );
01094
01103 AccountInterfaceAddressingInterface(
01104 const QDBusConnection& connection,
01105 const QString& busName,
01106 const QString& objectPath,
01107 QObject* parent = 0
01108 );
01109
01116 AccountInterfaceAddressingInterface(Tp::DBusProxy *proxy);
01117
01125 explicit AccountInterfaceAddressingInterface(const Tp::Client::AccountInterface& mainInterface);
01126
01134 AccountInterfaceAddressingInterface(const Tp::Client::AccountInterface& mainInterface, QObject* parent);
01135
01152 inline Tp::PendingVariant *requestPropertyURISchemes() const
01153 {
01154 return internalRequestProperty(QLatin1String("URISchemes"));
01155 }
01156
01163 Tp::PendingVariantMap *requestAllProperties() const
01164 {
01165 return internalRequestAllProperties();
01166 }
01167
01168 public Q_SLOTS:
01189 inline QDBusPendingReply<> SetURISchemeAssociation(const QString& URIScheme, bool association, int timeout = -1)
01190 {
01191 if (!invalidationReason().isEmpty()) {
01192 return QDBusPendingReply<>(QDBusMessage::createError(
01193 invalidationReason(),
01194 invalidationMessage()
01195 ));
01196 }
01197
01198 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
01199 this->staticInterfaceName(), QLatin1String("SetURISchemeAssociation"));
01200 callMessage << QVariant::fromValue(URIScheme) << QVariant::fromValue(association);
01201 return this->connection().asyncCall(callMessage, timeout);
01202 }
01203
01204 protected:
01205 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
01206 };
01207
01215 class TELEPATHY_QT4_EXPORT AccountInterfaceAvatarInterface : public Tp::AbstractInterface
01216 {
01217 Q_OBJECT
01218
01219 public:
01226 static inline QLatin1String staticInterfaceName()
01227 {
01228 return QLatin1String("org.freedesktop.Telepathy.Account.Interface.Avatar");
01229 }
01230
01238 AccountInterfaceAvatarInterface(
01239 const QString& busName,
01240 const QString& objectPath,
01241 QObject* parent = 0
01242 );
01243
01252 AccountInterfaceAvatarInterface(
01253 const QDBusConnection& connection,
01254 const QString& busName,
01255 const QString& objectPath,
01256 QObject* parent = 0
01257 );
01258
01265 AccountInterfaceAvatarInterface(Tp::DBusProxy *proxy);
01266
01274 explicit AccountInterfaceAvatarInterface(const Tp::Client::AccountInterface& mainInterface);
01275
01283 AccountInterfaceAvatarInterface(const Tp::Client::AccountInterface& mainInterface, QObject* parent);
01284
01298 inline Tp::PendingVariant *requestPropertyAvatar() const
01299 {
01300 return internalRequestProperty(QLatin1String("Avatar"));
01301 }
01302
01316 inline Tp::PendingOperation *setPropertyAvatar(Tp::Avatar newValue)
01317 {
01318 return internalSetProperty(QLatin1String("Avatar"), QVariant::fromValue(newValue));
01319 }
01320
01327 Tp::PendingVariantMap *requestAllProperties() const
01328 {
01329 return internalRequestAllProperties();
01330 }
01331
01332 Q_SIGNALS:
01341 void AvatarChanged();
01342
01343 protected:
01344 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
01345 };
01346 }
01347 }
01348 Q_DECLARE_METATYPE(Tp::Client::AccountInterface*)
01349 Q_DECLARE_METATYPE(Tp::Client::AccountInterfaceAddressingInterface*)
01350 Q_DECLARE_METATYPE(Tp::Client::AccountInterfaceAvatarInterface*)