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
00120 inline Tp::PendingVariant *requestPropertyProtocols() const
00121 {
00122 return internalRequestProperty(QLatin1String("Protocols"));
00123 }
00124
00152 inline Tp::PendingVariant *requestPropertyInterfaces() const
00153 {
00154 return internalRequestProperty(QLatin1String("Interfaces"));
00155 }
00156
00163 Tp::PendingVariantMap *requestAllProperties() const
00164 {
00165 return internalRequestAllProperties();
00166 }
00167
00168 public Q_SLOTS:
00192 inline QDBusPendingReply<Tp::ParamSpecList> GetParameters(const QString& protocol, int timeout = -1)
00193 {
00194 if (!invalidationReason().isEmpty()) {
00195 return QDBusPendingReply<Tp::ParamSpecList>(QDBusMessage::createError(
00196 invalidationReason(),
00197 invalidationMessage()
00198 ));
00199 }
00200
00201 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00202 this->staticInterfaceName(), QLatin1String("GetParameters"));
00203 callMessage << QVariant::fromValue(protocol);
00204 return this->connection().asyncCall(callMessage, timeout);
00205 }
00206
00222 inline QDBusPendingReply<QStringList> ListProtocols(int timeout = -1)
00223 {
00224 if (!invalidationReason().isEmpty()) {
00225 return QDBusPendingReply<QStringList>(QDBusMessage::createError(
00226 invalidationReason(),
00227 invalidationMessage()
00228 ));
00229 }
00230
00231 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00232 this->staticInterfaceName(), QLatin1String("ListProtocols"));
00233 return this->connection().asyncCall(callMessage, timeout);
00234 }
00235
00306 inline QDBusPendingReply<QString, QDBusObjectPath> RequestConnection(const QString& protocol, const QVariantMap& parameters, int timeout = -1)
00307 {
00308 if (!invalidationReason().isEmpty()) {
00309 return QDBusPendingReply<QString, QDBusObjectPath>(QDBusMessage::createError(
00310 invalidationReason(),
00311 invalidationMessage()
00312 ));
00313 }
00314
00315 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00316 this->staticInterfaceName(), QLatin1String("RequestConnection"));
00317 callMessage << QVariant::fromValue(protocol) << QVariant::fromValue(parameters);
00318 return this->connection().asyncCall(callMessage, timeout);
00319 }
00320
00321 Q_SIGNALS:
00339 void NewConnection(const QString& busName, const QDBusObjectPath& objectPath, const QString& protocol);
00340
00341 protected:
00342 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
00343 };
00344
00352 class TELEPATHY_QT4_EXPORT ProtocolInterface : public Tp::AbstractInterface
00353 {
00354 Q_OBJECT
00355
00356 public:
00363 static inline QLatin1String staticInterfaceName()
00364 {
00365 return QLatin1String("org.freedesktop.Telepathy.Protocol");
00366 }
00367
00375 ProtocolInterface(
00376 const QString& busName,
00377 const QString& objectPath,
00378 QObject* parent = 0
00379 );
00380
00389 ProtocolInterface(
00390 const QDBusConnection& connection,
00391 const QString& busName,
00392 const QString& objectPath,
00393 QObject* parent = 0
00394 );
00395
00402 ProtocolInterface(Tp::DBusProxy *proxy);
00403
00411 explicit ProtocolInterface(const Tp::Client::ConnectionManagerInterface& mainInterface);
00412
00420 ProtocolInterface(const Tp::Client::ConnectionManagerInterface& mainInterface, QObject* parent);
00421
00445 inline Tp::PendingVariant *requestPropertyInterfaces() const
00446 {
00447 return internalRequestProperty(QLatin1String("Interfaces"));
00448 }
00449
00471 inline Tp::PendingVariant *requestPropertyParameters() const
00472 {
00473 return internalRequestProperty(QLatin1String("Parameters"));
00474 }
00475
00500 inline Tp::PendingVariant *requestPropertyConnectionInterfaces() const
00501 {
00502 return internalRequestProperty(QLatin1String("ConnectionInterfaces"));
00503 }
00504
00570 inline Tp::PendingVariant *requestPropertyRequestableChannelClasses() const
00571 {
00572 return internalRequestProperty(QLatin1String("RequestableChannelClasses"));
00573 }
00574
00624 inline Tp::PendingVariant *requestPropertyVCardField() const
00625 {
00626 return internalRequestProperty(QLatin1String("VCardField"));
00627 }
00628
00667 inline Tp::PendingVariant *requestPropertyEnglishName() const
00668 {
00669 return internalRequestProperty(QLatin1String("EnglishName"));
00670 }
00671
00701 inline Tp::PendingVariant *requestPropertyIcon() const
00702 {
00703 return internalRequestProperty(QLatin1String("Icon"));
00704 }
00705
00751 inline Tp::PendingVariant *requestPropertyAuthenticationTypes() const
00752 {
00753 return internalRequestProperty(QLatin1String("AuthenticationTypes"));
00754 }
00755
00762 Tp::PendingVariantMap *requestAllProperties() const
00763 {
00764 return internalRequestAllProperties();
00765 }
00766
00767 public Q_SLOTS:
00805 inline QDBusPendingReply<QString> IdentifyAccount(const QVariantMap& parameters, int timeout = -1)
00806 {
00807 if (!invalidationReason().isEmpty()) {
00808 return QDBusPendingReply<QString>(QDBusMessage::createError(
00809 invalidationReason(),
00810 invalidationMessage()
00811 ));
00812 }
00813
00814 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00815 this->staticInterfaceName(), QLatin1String("IdentifyAccount"));
00816 callMessage << QVariant::fromValue(parameters);
00817 return this->connection().asyncCall(callMessage, timeout);
00818 }
00819
00874 inline QDBusPendingReply<QString> NormalizeContact(const QString& contactID, int timeout = -1)
00875 {
00876 if (!invalidationReason().isEmpty()) {
00877 return QDBusPendingReply<QString>(QDBusMessage::createError(
00878 invalidationReason(),
00879 invalidationMessage()
00880 ));
00881 }
00882
00883 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00884 this->staticInterfaceName(), QLatin1String("NormalizeContact"));
00885 callMessage << QVariant::fromValue(contactID);
00886 return this->connection().asyncCall(callMessage, timeout);
00887 }
00888
00889 protected:
00890 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
00891 };
00892
00900 class TELEPATHY_QT4_EXPORT ProtocolInterfaceAvatarsInterface : public Tp::AbstractInterface
00901 {
00902 Q_OBJECT
00903
00904 public:
00911 static inline QLatin1String staticInterfaceName()
00912 {
00913 return QLatin1String("org.freedesktop.Telepathy.Protocol.Interface.Avatars");
00914 }
00915
00923 ProtocolInterfaceAvatarsInterface(
00924 const QString& busName,
00925 const QString& objectPath,
00926 QObject* parent = 0
00927 );
00928
00937 ProtocolInterfaceAvatarsInterface(
00938 const QDBusConnection& connection,
00939 const QString& busName,
00940 const QString& objectPath,
00941 QObject* parent = 0
00942 );
00943
00950 ProtocolInterfaceAvatarsInterface(Tp::DBusProxy *proxy);
00951
00959 explicit ProtocolInterfaceAvatarsInterface(const Tp::Client::ConnectionManagerInterface& mainInterface);
00960
00968 ProtocolInterfaceAvatarsInterface(const Tp::Client::ConnectionManagerInterface& mainInterface, QObject* parent);
00969
00981 inline Tp::PendingVariant *requestPropertySupportedAvatarMIMETypes() const
00982 {
00983 return internalRequestProperty(QLatin1String("SupportedAvatarMIMETypes"));
00984 }
00985
00997 inline Tp::PendingVariant *requestPropertyMinimumAvatarHeight() const
00998 {
00999 return internalRequestProperty(QLatin1String("MinimumAvatarHeight"));
01000 }
01001
01013 inline Tp::PendingVariant *requestPropertyMinimumAvatarWidth() const
01014 {
01015 return internalRequestProperty(QLatin1String("MinimumAvatarWidth"));
01016 }
01017
01029 inline Tp::PendingVariant *requestPropertyRecommendedAvatarHeight() const
01030 {
01031 return internalRequestProperty(QLatin1String("RecommendedAvatarHeight"));
01032 }
01033
01045 inline Tp::PendingVariant *requestPropertyRecommendedAvatarWidth() const
01046 {
01047 return internalRequestProperty(QLatin1String("RecommendedAvatarWidth"));
01048 }
01049
01061 inline Tp::PendingVariant *requestPropertyMaximumAvatarHeight() const
01062 {
01063 return internalRequestProperty(QLatin1String("MaximumAvatarHeight"));
01064 }
01065
01077 inline Tp::PendingVariant *requestPropertyMaximumAvatarWidth() const
01078 {
01079 return internalRequestProperty(QLatin1String("MaximumAvatarWidth"));
01080 }
01081
01093 inline Tp::PendingVariant *requestPropertyMaximumAvatarBytes() const
01094 {
01095 return internalRequestProperty(QLatin1String("MaximumAvatarBytes"));
01096 }
01097
01104 Tp::PendingVariantMap *requestAllProperties() const
01105 {
01106 return internalRequestAllProperties();
01107 }
01108
01109 protected:
01110 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
01111 };
01112
01120 class TELEPATHY_QT4_EXPORT ProtocolInterfacePresenceInterface : public Tp::AbstractInterface
01121 {
01122 Q_OBJECT
01123
01124 public:
01131 static inline QLatin1String staticInterfaceName()
01132 {
01133 return QLatin1String("org.freedesktop.Telepathy.Protocol.Interface.Presence");
01134 }
01135
01143 ProtocolInterfacePresenceInterface(
01144 const QString& busName,
01145 const QString& objectPath,
01146 QObject* parent = 0
01147 );
01148
01157 ProtocolInterfacePresenceInterface(
01158 const QDBusConnection& connection,
01159 const QString& busName,
01160 const QString& objectPath,
01161 QObject* parent = 0
01162 );
01163
01170 ProtocolInterfacePresenceInterface(Tp::DBusProxy *proxy);
01171
01179 explicit ProtocolInterfacePresenceInterface(const Tp::Client::ConnectionManagerInterface& mainInterface);
01180
01188 ProtocolInterfacePresenceInterface(const Tp::Client::ConnectionManagerInterface& mainInterface, QObject* parent);
01189
01203 inline Tp::PendingVariant *requestPropertyStatuses() const
01204 {
01205 return internalRequestProperty(QLatin1String("Statuses"));
01206 }
01207
01214 Tp::PendingVariantMap *requestAllProperties() const
01215 {
01216 return internalRequestAllProperties();
01217 }
01218
01219 protected:
01220 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
01221 };
01222 }
01223 }
01224 Q_DECLARE_METATYPE(Tp::Client::ConnectionManagerInterface*)
01225 Q_DECLARE_METATYPE(Tp::Client::ProtocolInterface*)
01226 Q_DECLARE_METATYPE(Tp::Client::ProtocolInterfaceAvatarsInterface*)
01227 Q_DECLARE_METATYPE(Tp::Client::ProtocolInterfacePresenceInterface*)