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 ConnectionManagerInterface : public Tp::AbstractInterface
00045 {
00046 Q_OBJECT
00047
00048 public:
00055 static inline QLatin1String staticInterfaceName()
00056 {
00057 return QLatin1String("org.freedesktop.Telepathy.ConnectionManager");
00058 }
00059
00067 ConnectionManagerInterface(
00068 const QString& busName,
00069 const QString& objectPath,
00070 QObject* parent = 0
00071 );
00072
00081 ConnectionManagerInterface(
00082 const QDBusConnection& connection,
00083 const QString& busName,
00084 const QString& objectPath,
00085 QObject* parent = 0
00086 );
00087
00094 ConnectionManagerInterface(Tp::DBusProxy *proxy);
00095
00118 inline Tp::PendingVariant *requestPropertyProtocols() const
00119 {
00120 return internalRequestProperty(QLatin1String("Protocols"));
00121 }
00122
00148 inline Tp::PendingVariant *requestPropertyInterfaces() const
00149 {
00150 return internalRequestProperty(QLatin1String("Interfaces"));
00151 }
00152
00159 Tp::PendingVariantMap *requestAllProperties() const
00160 {
00161 return internalRequestAllProperties();
00162 }
00163
00164 public Q_SLOTS:
00186 inline QDBusPendingReply<Tp::ParamSpecList> GetParameters(const QString& protocol, int timeout = -1)
00187 {
00188 if (!invalidationReason().isEmpty()) {
00189 return QDBusPendingReply<Tp::ParamSpecList>(QDBusMessage::createError(
00190 invalidationReason(),
00191 invalidationMessage()
00192 ));
00193 }
00194
00195 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00196 this->staticInterfaceName(), QLatin1String("GetParameters"));
00197 callMessage << QVariant::fromValue(protocol);
00198 return this->connection().asyncCall(callMessage, timeout);
00199 }
00200
00216 inline QDBusPendingReply<QStringList> ListProtocols(int timeout = -1)
00217 {
00218 if (!invalidationReason().isEmpty()) {
00219 return QDBusPendingReply<QStringList>(QDBusMessage::createError(
00220 invalidationReason(),
00221 invalidationMessage()
00222 ));
00223 }
00224
00225 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00226 this->staticInterfaceName(), QLatin1String("ListProtocols"));
00227 return this->connection().asyncCall(callMessage, timeout);
00228 }
00229
00298 inline QDBusPendingReply<QString, QDBusObjectPath> RequestConnection(const QString& protocol, const QVariantMap& parameters, int timeout = -1)
00299 {
00300 if (!invalidationReason().isEmpty()) {
00301 return QDBusPendingReply<QString, QDBusObjectPath>(QDBusMessage::createError(
00302 invalidationReason(),
00303 invalidationMessage()
00304 ));
00305 }
00306
00307 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00308 this->staticInterfaceName(), QLatin1String("RequestConnection"));
00309 callMessage << QVariant::fromValue(protocol) << QVariant::fromValue(parameters);
00310 return this->connection().asyncCall(callMessage, timeout);
00311 }
00312
00313 Q_SIGNALS:
00331 void NewConnection(const QString& busName, const QDBusObjectPath& objectPath, const QString& protocol);
00332
00333 protected:
00334 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
00335 };
00336
00344 class TELEPATHY_QT4_EXPORT ProtocolInterface : public Tp::AbstractInterface
00345 {
00346 Q_OBJECT
00347
00348 public:
00355 static inline QLatin1String staticInterfaceName()
00356 {
00357 return QLatin1String("org.freedesktop.Telepathy.Protocol");
00358 }
00359
00367 ProtocolInterface(
00368 const QString& busName,
00369 const QString& objectPath,
00370 QObject* parent = 0
00371 );
00372
00381 ProtocolInterface(
00382 const QDBusConnection& connection,
00383 const QString& busName,
00384 const QString& objectPath,
00385 QObject* parent = 0
00386 );
00387
00394 ProtocolInterface(Tp::DBusProxy *proxy);
00395
00403 explicit ProtocolInterface(const Tp::Client::ConnectionManagerInterface& mainInterface);
00404
00412 ProtocolInterface(const Tp::Client::ConnectionManagerInterface& mainInterface, QObject* parent);
00413
00435 inline Tp::PendingVariant *requestPropertyInterfaces() const
00436 {
00437 return internalRequestProperty(QLatin1String("Interfaces"));
00438 }
00439
00459 inline Tp::PendingVariant *requestPropertyParameters() const
00460 {
00461 return internalRequestProperty(QLatin1String("Parameters"));
00462 }
00463
00486 inline Tp::PendingVariant *requestPropertyConnectionInterfaces() const
00487 {
00488 return internalRequestProperty(QLatin1String("ConnectionInterfaces"));
00489 }
00490
00554 inline Tp::PendingVariant *requestPropertyRequestableChannelClasses() const
00555 {
00556 return internalRequestProperty(QLatin1String("RequestableChannelClasses"));
00557 }
00558
00606 inline Tp::PendingVariant *requestPropertyVCardField() const
00607 {
00608 return internalRequestProperty(QLatin1String("VCardField"));
00609 }
00610
00647 inline Tp::PendingVariant *requestPropertyEnglishName() const
00648 {
00649 return internalRequestProperty(QLatin1String("EnglishName"));
00650 }
00651
00679 inline Tp::PendingVariant *requestPropertyIcon() const
00680 {
00681 return internalRequestProperty(QLatin1String("Icon"));
00682 }
00683
00727 inline Tp::PendingVariant *requestPropertyAuthenticationTypes() const
00728 {
00729 return internalRequestProperty(QLatin1String("AuthenticationTypes"));
00730 }
00731
00738 Tp::PendingVariantMap *requestAllProperties() const
00739 {
00740 return internalRequestAllProperties();
00741 }
00742
00743 public Q_SLOTS:
00779 inline QDBusPendingReply<QString> IdentifyAccount(const QVariantMap& parameters, int timeout = -1)
00780 {
00781 if (!invalidationReason().isEmpty()) {
00782 return QDBusPendingReply<QString>(QDBusMessage::createError(
00783 invalidationReason(),
00784 invalidationMessage()
00785 ));
00786 }
00787
00788 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00789 this->staticInterfaceName(), QLatin1String("IdentifyAccount"));
00790 callMessage << QVariant::fromValue(parameters);
00791 return this->connection().asyncCall(callMessage, timeout);
00792 }
00793
00846 inline QDBusPendingReply<QString> NormalizeContact(const QString& contactID, int timeout = -1)
00847 {
00848 if (!invalidationReason().isEmpty()) {
00849 return QDBusPendingReply<QString>(QDBusMessage::createError(
00850 invalidationReason(),
00851 invalidationMessage()
00852 ));
00853 }
00854
00855 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00856 this->staticInterfaceName(), QLatin1String("NormalizeContact"));
00857 callMessage << QVariant::fromValue(contactID);
00858 return this->connection().asyncCall(callMessage, timeout);
00859 }
00860
00861 protected:
00862 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
00863 };
00864
00872 class TELEPATHY_QT4_EXPORT ProtocolInterfaceAvatarsInterface : public Tp::AbstractInterface
00873 {
00874 Q_OBJECT
00875
00876 public:
00883 static inline QLatin1String staticInterfaceName()
00884 {
00885 return QLatin1String("org.freedesktop.Telepathy.Protocol.Interface.Avatars");
00886 }
00887
00895 ProtocolInterfaceAvatarsInterface(
00896 const QString& busName,
00897 const QString& objectPath,
00898 QObject* parent = 0
00899 );
00900
00909 ProtocolInterfaceAvatarsInterface(
00910 const QDBusConnection& connection,
00911 const QString& busName,
00912 const QString& objectPath,
00913 QObject* parent = 0
00914 );
00915
00922 ProtocolInterfaceAvatarsInterface(Tp::DBusProxy *proxy);
00923
00931 explicit ProtocolInterfaceAvatarsInterface(const Tp::Client::ConnectionManagerInterface& mainInterface);
00932
00940 ProtocolInterfaceAvatarsInterface(const Tp::Client::ConnectionManagerInterface& mainInterface, QObject* parent);
00941
00953 inline Tp::PendingVariant *requestPropertySupportedAvatarMIMETypes() const
00954 {
00955 return internalRequestProperty(QLatin1String("SupportedAvatarMIMETypes"));
00956 }
00957
00969 inline Tp::PendingVariant *requestPropertyMinimumAvatarHeight() const
00970 {
00971 return internalRequestProperty(QLatin1String("MinimumAvatarHeight"));
00972 }
00973
00985 inline Tp::PendingVariant *requestPropertyMinimumAvatarWidth() const
00986 {
00987 return internalRequestProperty(QLatin1String("MinimumAvatarWidth"));
00988 }
00989
01001 inline Tp::PendingVariant *requestPropertyRecommendedAvatarHeight() const
01002 {
01003 return internalRequestProperty(QLatin1String("RecommendedAvatarHeight"));
01004 }
01005
01017 inline Tp::PendingVariant *requestPropertyRecommendedAvatarWidth() const
01018 {
01019 return internalRequestProperty(QLatin1String("RecommendedAvatarWidth"));
01020 }
01021
01033 inline Tp::PendingVariant *requestPropertyMaximumAvatarHeight() const
01034 {
01035 return internalRequestProperty(QLatin1String("MaximumAvatarHeight"));
01036 }
01037
01049 inline Tp::PendingVariant *requestPropertyMaximumAvatarWidth() const
01050 {
01051 return internalRequestProperty(QLatin1String("MaximumAvatarWidth"));
01052 }
01053
01065 inline Tp::PendingVariant *requestPropertyMaximumAvatarBytes() const
01066 {
01067 return internalRequestProperty(QLatin1String("MaximumAvatarBytes"));
01068 }
01069
01076 Tp::PendingVariantMap *requestAllProperties() const
01077 {
01078 return internalRequestAllProperties();
01079 }
01080
01081 protected:
01082 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
01083 };
01084
01092 class TELEPATHY_QT4_EXPORT ProtocolInterfacePresenceInterface : public Tp::AbstractInterface
01093 {
01094 Q_OBJECT
01095
01096 public:
01103 static inline QLatin1String staticInterfaceName()
01104 {
01105 return QLatin1String("org.freedesktop.Telepathy.Protocol.Interface.Presence");
01106 }
01107
01115 ProtocolInterfacePresenceInterface(
01116 const QString& busName,
01117 const QString& objectPath,
01118 QObject* parent = 0
01119 );
01120
01129 ProtocolInterfacePresenceInterface(
01130 const QDBusConnection& connection,
01131 const QString& busName,
01132 const QString& objectPath,
01133 QObject* parent = 0
01134 );
01135
01142 ProtocolInterfacePresenceInterface(Tp::DBusProxy *proxy);
01143
01151 explicit ProtocolInterfacePresenceInterface(const Tp::Client::ConnectionManagerInterface& mainInterface);
01152
01160 ProtocolInterfacePresenceInterface(const Tp::Client::ConnectionManagerInterface& mainInterface, QObject* parent);
01161
01175 inline Tp::PendingVariant *requestPropertyStatuses() const
01176 {
01177 return internalRequestProperty(QLatin1String("Statuses"));
01178 }
01179
01186 Tp::PendingVariantMap *requestAllProperties() const
01187 {
01188 return internalRequestAllProperties();
01189 }
01190
01191 protected:
01192 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
01193 };
01194 }
01195 }
01196 Q_DECLARE_METATYPE(Tp::Client::ConnectionManagerInterface*)
01197 Q_DECLARE_METATYPE(Tp::Client::ProtocolInterface*)
01198 Q_DECLARE_METATYPE(Tp::Client::ProtocolInterfaceAvatarsInterface*)
01199 Q_DECLARE_METATYPE(Tp::Client::ProtocolInterfacePresenceInterface*)