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 ChannelDispatcherInterface : public Tp::AbstractInterface
00045 {
00046 Q_OBJECT
00047
00048 public:
00055 static inline QLatin1String staticInterfaceName()
00056 {
00057 return QLatin1String("org.freedesktop.Telepathy.ChannelDispatcher");
00058 }
00059
00067 ChannelDispatcherInterface(
00068 const QString& busName,
00069 const QString& objectPath,
00070 QObject* parent = 0
00071 );
00072
00081 ChannelDispatcherInterface(
00082 const QDBusConnection& connection,
00083 const QString& busName,
00084 const QString& objectPath,
00085 QObject* parent = 0
00086 );
00087
00094 ChannelDispatcherInterface(Tp::DBusProxy *proxy);
00095
00105 inline Tp::PendingVariant *requestPropertyInterfaces() const
00106 {
00107 return internalRequestProperty(QLatin1String("Interfaces"));
00108 }
00109
00123 inline Tp::PendingVariant *requestPropertySupportsRequestHints() const
00124 {
00125 return internalRequestProperty(QLatin1String("SupportsRequestHints"));
00126 }
00127
00134 Tp::PendingVariantMap *requestAllProperties() const
00135 {
00136 return internalRequestAllProperties();
00137 }
00138
00139 public Q_SLOTS:
00189 inline QDBusPendingReply<QDBusObjectPath> CreateChannel(const QDBusObjectPath& account, const QVariantMap& requestedProperties, qlonglong userActionTime, const QString& preferredHandler, int timeout = -1)
00190 {
00191 if (!invalidationReason().isEmpty()) {
00192 return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
00193 invalidationReason(),
00194 invalidationMessage()
00195 ));
00196 }
00197
00198 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00199 this->staticInterfaceName(), QLatin1String("CreateChannel"));
00200 callMessage << QVariant::fromValue(account) << QVariant::fromValue(requestedProperties) << QVariant::fromValue(userActionTime) << QVariant::fromValue(preferredHandler);
00201 return this->connection().asyncCall(callMessage, timeout);
00202 }
00203
00251 inline QDBusPendingReply<QDBusObjectPath> EnsureChannel(const QDBusObjectPath& account, const QVariantMap& requestedProperties, qlonglong userActionTime, const QString& preferredHandler, int timeout = -1)
00252 {
00253 if (!invalidationReason().isEmpty()) {
00254 return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
00255 invalidationReason(),
00256 invalidationMessage()
00257 ));
00258 }
00259
00260 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00261 this->staticInterfaceName(), QLatin1String("EnsureChannel"));
00262 callMessage << QVariant::fromValue(account) << QVariant::fromValue(requestedProperties) << QVariant::fromValue(userActionTime) << QVariant::fromValue(preferredHandler);
00263 return this->connection().asyncCall(callMessage, timeout);
00264 }
00265
00390 inline QDBusPendingReply<QDBusObjectPath> CreateChannelWithHints(const QDBusObjectPath& account, const QVariantMap& requestedProperties, qlonglong userActionTime, const QString& preferredHandler, const QVariantMap& hints, int timeout = -1)
00391 {
00392 if (!invalidationReason().isEmpty()) {
00393 return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
00394 invalidationReason(),
00395 invalidationMessage()
00396 ));
00397 }
00398
00399 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00400 this->staticInterfaceName(), QLatin1String("CreateChannelWithHints"));
00401 callMessage << QVariant::fromValue(account) << QVariant::fromValue(requestedProperties) << QVariant::fromValue(userActionTime) << QVariant::fromValue(preferredHandler) << QVariant::fromValue(hints);
00402 return this->connection().asyncCall(callMessage, timeout);
00403 }
00404
00502 inline QDBusPendingReply<QDBusObjectPath> EnsureChannelWithHints(const QDBusObjectPath& account, const QVariantMap& requestedProperties, qlonglong userActionTime, const QString& preferredHandler, const QVariantMap& hints, int timeout = -1)
00503 {
00504 if (!invalidationReason().isEmpty()) {
00505 return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
00506 invalidationReason(),
00507 invalidationMessage()
00508 ));
00509 }
00510
00511 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00512 this->staticInterfaceName(), QLatin1String("EnsureChannelWithHints"));
00513 callMessage << QVariant::fromValue(account) << QVariant::fromValue(requestedProperties) << QVariant::fromValue(userActionTime) << QVariant::fromValue(preferredHandler) << QVariant::fromValue(hints);
00514 return this->connection().asyncCall(callMessage, timeout);
00515 }
00516
00517 protected:
00518 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
00519 };
00520 }
00521 }
00522 Q_DECLARE_METATYPE(Tp::Client::ChannelDispatcherInterface*)