00001
00002
00003
00004
00005
00006
00007
00008 #include <TelepathyQt/AbstractAdaptor>
00009 #include <TelepathyQt/Global>
00010 #include <TelepathyQt/Types>
00011
00012 #include <QObject>
00013 #include <QtDBus>
00014
00015 namespace Tp
00016 {
00017 namespace Service
00018 {
00019
00027 class TP_QT_EXPORT ConnectionManagerAdaptor : public Tp::AbstractAdaptor
00028 {
00029 Q_OBJECT
00030 Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Telepathy.ConnectionManager")
00031 Q_CLASSINFO("D-Bus Introspection", ""
00032 " <interface name=\"org.freedesktop.Telepathy.ConnectionManager\">\n"
00033 " <property access=\"read\" type=\"a{sa{sv}}\" name=\"Protocols\">\n"
00034 " <annotation value=\"Tp::ProtocolPropertiesMap\" name=\"com.trolltech.QtDBus.QtTypeName\"/>\n"
00035 " </property>\n"
00036 " <property access=\"read\" type=\"as\" name=\"Interfaces\"/>\n"
00037 " <method name=\"GetParameters\">\n"
00038 " <arg direction=\"in\" type=\"s\" name=\"protocol\"/>\n"
00039 " <arg direction=\"out\" type=\"a(susv)\" name=\"parameters\">\n"
00040 " <annotation value=\"Tp::ParamSpecList\" name=\"com.trolltech.QtDBus.QtTypeName.Out0\"/>\n"
00041 " </arg>\n"
00042 " </method>\n"
00043 " <method name=\"ListProtocols\">\n"
00044 " <arg direction=\"out\" type=\"as\" name=\"protocols\"/>\n"
00045 " </method>\n"
00046 " <method name=\"RequestConnection\">\n"
00047 " <arg direction=\"in\" type=\"s\" name=\"protocol\"/>\n"
00048 " <arg direction=\"in\" type=\"a{sv}\" name=\"parameters\">\n"
00049 " <annotation value=\"QVariantMap\" name=\"com.trolltech.QtDBus.QtTypeName.In1\"/>\n"
00050 " </arg>\n"
00051 " <arg direction=\"out\" type=\"s\" name=\"busName\"/>\n"
00052 " <arg direction=\"out\" type=\"o\" name=\"objectPath\"/>\n"
00053 " </method>\n"
00054 " <signal name=\"NewConnection\">\n"
00055 " <arg type=\"s\" name=\"busName\"/>\n"
00056 " <arg type=\"o\" name=\"objectPath\"/>\n"
00057 " <arg type=\"s\" name=\"protocol\"/>\n"
00058 " </signal>\n"
00059 " </interface>\n"
00060 "")
00061 Q_PROPERTY(Tp::ProtocolPropertiesMap Protocols READ Protocols )
00062 Q_PROPERTY(QStringList Interfaces READ Interfaces )
00063
00064 public:
00065 ConnectionManagerAdaptor(const QDBusConnection& dbusConnection, QObject* adaptee, QObject* parent);
00066 virtual ~ConnectionManagerAdaptor();
00067
00068 typedef Tp::MethodInvocationContextPtr< Tp::ParamSpecList > GetParametersContextPtr;
00069 typedef Tp::MethodInvocationContextPtr< QStringList > ListProtocolsContextPtr;
00070 typedef Tp::MethodInvocationContextPtr< QString, QDBusObjectPath > RequestConnectionContextPtr;
00071
00072 public:
00099 Tp::ProtocolPropertiesMap Protocols() const;
00129 QStringList Interfaces() const;
00130
00131 public Q_SLOTS:
00158 Tp::ParamSpecList GetParameters(const QString& protocol, const QDBusMessage& dbusMessage);
00176 QStringList ListProtocols(const QDBusMessage& dbusMessage);
00253 QString RequestConnection(const QString& protocol, const QVariantMap& parameters, const QDBusMessage& dbusMessage, QDBusObjectPath& objectPath);
00254
00255 Q_SIGNALS:
00274 void NewConnection(const QString& busName, const QDBusObjectPath& objectPath, const QString& protocol);
00275 };
00276
00284 class TP_QT_EXPORT ProtocolAdaptor : public Tp::AbstractAdaptor
00285 {
00286 Q_OBJECT
00287 Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Telepathy.Protocol")
00288 Q_CLASSINFO("D-Bus Introspection", ""
00289 " <interface name=\"org.freedesktop.Telepathy.Protocol\">\n"
00290 " <property access=\"read\" type=\"as\" name=\"Interfaces\"/>\n"
00291 " <property access=\"read\" type=\"a(susv)\" name=\"Parameters\">\n"
00292 " <annotation value=\"Tp::ParamSpecList\" name=\"com.trolltech.QtDBus.QtTypeName\"/>\n"
00293 " </property>\n"
00294 " <property access=\"read\" type=\"as\" name=\"ConnectionInterfaces\"/>\n"
00295 " <property access=\"read\" type=\"a(a{sv}as)\" name=\"RequestableChannelClasses\">\n"
00296 " <annotation value=\"Tp::RequestableChannelClassList\" name=\"com.trolltech.QtDBus.QtTypeName\"/>\n"
00297 " </property>\n"
00298 " <property access=\"read\" type=\"s\" name=\"VCardField\"/>\n"
00299 " <property access=\"read\" type=\"s\" name=\"EnglishName\"/>\n"
00300 " <property access=\"read\" type=\"s\" name=\"Icon\"/>\n"
00301 " <property access=\"read\" type=\"as\" name=\"AuthenticationTypes\"/>\n"
00302 " <method name=\"IdentifyAccount\">\n"
00303 " <arg direction=\"in\" type=\"a{sv}\" name=\"parameters\">\n"
00304 " <annotation value=\"QVariantMap\" name=\"com.trolltech.QtDBus.QtTypeName.In0\"/>\n"
00305 " </arg>\n"
00306 " <arg direction=\"out\" type=\"s\" name=\"accountID\"/>\n"
00307 " </method>\n"
00308 " <method name=\"NormalizeContact\">\n"
00309 " <arg direction=\"in\" type=\"s\" name=\"contactID\"/>\n"
00310 " <arg direction=\"out\" type=\"s\" name=\"normalizedContactID\"/>\n"
00311 " </method>\n"
00312 " </interface>\n"
00313 "")
00314 Q_PROPERTY(QStringList Interfaces READ Interfaces )
00315 Q_PROPERTY(Tp::ParamSpecList Parameters READ Parameters )
00316 Q_PROPERTY(QStringList ConnectionInterfaces READ ConnectionInterfaces )
00317 Q_PROPERTY(Tp::RequestableChannelClassList RequestableChannelClasses READ RequestableChannelClasses )
00318 Q_PROPERTY(QString VCardField READ VCardField )
00319 Q_PROPERTY(QString EnglishName READ EnglishName )
00320 Q_PROPERTY(QString Icon READ Icon )
00321 Q_PROPERTY(QStringList AuthenticationTypes READ AuthenticationTypes )
00322
00323 public:
00324 ProtocolAdaptor(const QDBusConnection& dbusConnection, QObject* adaptee, QObject* parent);
00325 virtual ~ProtocolAdaptor();
00326
00327 typedef Tp::MethodInvocationContextPtr< QString > IdentifyAccountContextPtr;
00328 typedef Tp::MethodInvocationContextPtr< QString > NormalizeContactContextPtr;
00329
00330 public:
00356 QStringList Interfaces() const;
00385 Tp::ParamSpecList Parameters() const;
00412 QStringList ConnectionInterfaces() const;
00480 Tp::RequestableChannelClassList RequestableChannelClasses() const;
00532 QString VCardField() const;
00573 QString EnglishName() const;
00605 QString Icon() const;
00653 QStringList AuthenticationTypes() const;
00654
00655 public Q_SLOTS:
00694 QString IdentifyAccount(const QVariantMap& parameters, const QDBusMessage& dbusMessage);
00750 QString NormalizeContact(const QString& contactID, const QDBusMessage& dbusMessage);
00751 };
00752
00760 class TP_QT_EXPORT ProtocolInterfaceAddressingAdaptor : public Tp::AbstractAdaptor
00761 {
00762 Q_OBJECT
00763 Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Telepathy.Protocol.Interface.Addressing")
00764 Q_CLASSINFO("D-Bus Introspection", ""
00765 " <interface name=\"org.freedesktop.Telepathy.Protocol.Interface.Addressing\">\n"
00766 " <property access=\"read\" type=\"as\" name=\"AddressableVCardFields\"/>\n"
00767 " <property access=\"read\" type=\"as\" name=\"AddressableURISchemes\"/>\n"
00768 " <method name=\"NormalizeVCardAddress\">\n"
00769 " <arg direction=\"in\" type=\"s\" name=\"VCardField\"/>\n"
00770 " <arg direction=\"in\" type=\"s\" name=\"VCardAddress\"/>\n"
00771 " <arg direction=\"out\" type=\"s\" name=\"normalizedVCardAddress\"/>\n"
00772 " </method>\n"
00773 " <method name=\"NormalizeContactURI\">\n"
00774 " <arg direction=\"in\" type=\"s\" name=\"URI\"/>\n"
00775 " <arg direction=\"out\" type=\"s\" name=\"normalizedURI\"/>\n"
00776 " </method>\n"
00777 " </interface>\n"
00778 "")
00779 Q_PROPERTY(QStringList AddressableVCardFields READ AddressableVCardFields )
00780 Q_PROPERTY(QStringList AddressableURISchemes READ AddressableURISchemes )
00781
00782 public:
00783 ProtocolInterfaceAddressingAdaptor(const QDBusConnection& dbusConnection, QObject* adaptee, QObject* parent);
00784 virtual ~ProtocolInterfaceAddressingAdaptor();
00785
00786 typedef Tp::MethodInvocationContextPtr< QString > NormalizeVCardAddressContextPtr;
00787 typedef Tp::MethodInvocationContextPtr< QString > NormalizeContactURIContextPtr;
00788
00789 public:
00854 QStringList AddressableVCardFields() const;
00936 QStringList AddressableURISchemes() const;
00937
00938 public Q_SLOTS:
00981 QString NormalizeVCardAddress(const QString& VCardField, const QString& VCardAddress, const QDBusMessage& dbusMessage);
01043 QString NormalizeContactURI(const QString& URI, const QDBusMessage& dbusMessage);
01044 };
01045
01053 class TP_QT_EXPORT ProtocolInterfaceAvatarsAdaptor : public Tp::AbstractAdaptor
01054 {
01055 Q_OBJECT
01056 Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Telepathy.Protocol.Interface.Avatars")
01057 Q_CLASSINFO("D-Bus Introspection", ""
01058 " <interface name=\"org.freedesktop.Telepathy.Protocol.Interface.Avatars\">\n"
01059 " <property access=\"read\" type=\"as\" name=\"SupportedAvatarMIMETypes\"/>\n"
01060 " <property access=\"read\" type=\"u\" name=\"MinimumAvatarHeight\"/>\n"
01061 " <property access=\"read\" type=\"u\" name=\"MinimumAvatarWidth\"/>\n"
01062 " <property access=\"read\" type=\"u\" name=\"RecommendedAvatarHeight\"/>\n"
01063 " <property access=\"read\" type=\"u\" name=\"RecommendedAvatarWidth\"/>\n"
01064 " <property access=\"read\" type=\"u\" name=\"MaximumAvatarHeight\"/>\n"
01065 " <property access=\"read\" type=\"u\" name=\"MaximumAvatarWidth\"/>\n"
01066 " <property access=\"read\" type=\"u\" name=\"MaximumAvatarBytes\"/>\n"
01067 " </interface>\n"
01068 "")
01069 Q_PROPERTY(QStringList SupportedAvatarMIMETypes READ SupportedAvatarMIMETypes )
01070 Q_PROPERTY(uint MinimumAvatarHeight READ MinimumAvatarHeight )
01071 Q_PROPERTY(uint MinimumAvatarWidth READ MinimumAvatarWidth )
01072 Q_PROPERTY(uint RecommendedAvatarHeight READ RecommendedAvatarHeight )
01073 Q_PROPERTY(uint RecommendedAvatarWidth READ RecommendedAvatarWidth )
01074 Q_PROPERTY(uint MaximumAvatarHeight READ MaximumAvatarHeight )
01075 Q_PROPERTY(uint MaximumAvatarWidth READ MaximumAvatarWidth )
01076 Q_PROPERTY(uint MaximumAvatarBytes READ MaximumAvatarBytes )
01077
01078 public:
01079 ProtocolInterfaceAvatarsAdaptor(const QDBusConnection& dbusConnection, QObject* adaptee, QObject* parent);
01080 virtual ~ProtocolInterfaceAvatarsAdaptor();
01081
01082
01083 public:
01097 QStringList SupportedAvatarMIMETypes() const;
01111 uint MinimumAvatarHeight() const;
01125 uint MinimumAvatarWidth() const;
01139 uint RecommendedAvatarHeight() const;
01153 uint RecommendedAvatarWidth() const;
01167 uint MaximumAvatarHeight() const;
01181 uint MaximumAvatarWidth() const;
01195 uint MaximumAvatarBytes() const;
01196 };
01197
01205 class TP_QT_EXPORT ProtocolInterfacePresenceAdaptor : public Tp::AbstractAdaptor
01206 {
01207 Q_OBJECT
01208 Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Telepathy.Protocol.Interface.Presence")
01209 Q_CLASSINFO("D-Bus Introspection", ""
01210 " <interface name=\"org.freedesktop.Telepathy.Protocol.Interface.Presence\">\n"
01211 " <property access=\"read\" type=\"a{s(ubb)}\" name=\"Statuses\">\n"
01212 " <annotation value=\"Tp::SimpleStatusSpecMap\" name=\"com.trolltech.QtDBus.QtTypeName\"/>\n"
01213 " </property>\n"
01214 " </interface>\n"
01215 "")
01216 Q_PROPERTY(Tp::SimpleStatusSpecMap Statuses READ Statuses )
01217
01218 public:
01219 ProtocolInterfacePresenceAdaptor(const QDBusConnection& dbusConnection, QObject* adaptee, QObject* parent);
01220 virtual ~ProtocolInterfacePresenceAdaptor();
01221
01222
01223 public:
01239 Tp::SimpleStatusSpecMap Statuses() const;
01240 };
01241
01242 }
01243 }