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
00045 class ConnectionManagerInterface : public Telepathy::Client::AbstractInterface
00046 {
00047 Q_OBJECT
00048
00049 public:
00056 static inline const char *staticInterfaceName()
00057 {
00058 return "org.freedesktop.Telepathy.ConnectionManager";
00059 }
00060
00068 ConnectionManagerInterface(
00069 const QString& serviceName,
00070 const QString& objectPath,
00071 QObject* parent = 0
00072 );
00073
00082 ConnectionManagerInterface(
00083 const QDBusConnection& connection,
00084 const QString& serviceName,
00085 const QString& objectPath,
00086 QObject* parent = 0
00087 );
00088
00095 ConnectionManagerInterface(Telepathy::Client::DBusProxy *proxy);
00096
00112 Q_PROPERTY(QStringList Interfaces READ Interfaces)
00113
00114
00122 inline QStringList Interfaces() const TELEPATHY_GNUC_DEPRECATED
00123 {
00124 return qvariant_cast<QStringList>(internalPropGet("Interfaces"));
00125 }
00126
00127 public Q_SLOTS:
00144 inline QDBusPendingReply<Telepathy::ParamSpecList> GetParameters(const QString& protocol)
00145 {
00146 if (!invalidationReason().isEmpty()) {
00147 return QDBusPendingReply<Telepathy::ParamSpecList>(QDBusMessage::createError(
00148 invalidationReason(),
00149 invalidationMessage()
00150 ));
00151 }
00152
00153
00154 QList<QVariant> argumentList;
00155 argumentList << QVariant::fromValue(protocol);
00156 return asyncCallWithArgumentList(QLatin1String("GetParameters"), argumentList);
00157 }
00158
00169 inline QDBusPendingReply<QStringList> ListProtocols()
00170 {
00171 if (!invalidationReason().isEmpty()) {
00172 return QDBusPendingReply<QStringList>(QDBusMessage::createError(
00173 invalidationReason(),
00174 invalidationMessage()
00175 ));
00176 }
00177
00178
00179 return asyncCall(QLatin1String("ListProtocols"));
00180 }
00181
00277 inline QDBusPendingReply<QString, QDBusObjectPath> RequestConnection(const QString& protocol, const QVariantMap& parameters)
00278 {
00279 if (!invalidationReason().isEmpty()) {
00280 return QDBusPendingReply<QString, QDBusObjectPath>(QDBusMessage::createError(
00281 invalidationReason(),
00282 invalidationMessage()
00283 ));
00284 }
00285
00286
00287 QList<QVariant> argumentList;
00288 argumentList << QVariant::fromValue(protocol) << QVariant::fromValue(parameters);
00289 return asyncCallWithArgumentList(QLatin1String("RequestConnection"), argumentList);
00290 }
00291
00292 Q_SIGNALS:
00310 void NewConnection(const QString& busName, const QDBusObjectPath& objectPath, const QString& protocol);
00311
00312 protected:
00313 virtual void invalidate(Telepathy::Client::DBusProxy *, const QString &, const QString &);
00314 };
00315 }
00316 }