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:
00197 inline QDBusPendingReply<QDBusObjectPath> CreateChannel(const QDBusObjectPath& account, const QVariantMap& requestedProperties, qlonglong userActionTime, const QString& preferredHandler, int timeout = -1)
00198 {
00199 if (!invalidationReason().isEmpty()) {
00200 return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
00201 invalidationReason(),
00202 invalidationMessage()
00203 ));
00204 }
00205
00206 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00207 this->staticInterfaceName(), QLatin1String("CreateChannel"));
00208 callMessage << QVariant::fromValue(account) << QVariant::fromValue(requestedProperties) << QVariant::fromValue(userActionTime) << QVariant::fromValue(preferredHandler);
00209 return this->connection().asyncCall(callMessage, timeout);
00210 }
00211
00267 inline QDBusPendingReply<QDBusObjectPath> EnsureChannel(const QDBusObjectPath& account, const QVariantMap& requestedProperties, qlonglong userActionTime, const QString& preferredHandler, int timeout = -1)
00268 {
00269 if (!invalidationReason().isEmpty()) {
00270 return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
00271 invalidationReason(),
00272 invalidationMessage()
00273 ));
00274 }
00275
00276 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00277 this->staticInterfaceName(), QLatin1String("EnsureChannel"));
00278 callMessage << QVariant::fromValue(account) << QVariant::fromValue(requestedProperties) << QVariant::fromValue(userActionTime) << QVariant::fromValue(preferredHandler);
00279 return this->connection().asyncCall(callMessage, timeout);
00280 }
00281
00414 inline QDBusPendingReply<QDBusObjectPath> CreateChannelWithHints(const QDBusObjectPath& account, const QVariantMap& requestedProperties, qlonglong userActionTime, const QString& preferredHandler, const QVariantMap& hints, int timeout = -1)
00415 {
00416 if (!invalidationReason().isEmpty()) {
00417 return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
00418 invalidationReason(),
00419 invalidationMessage()
00420 ));
00421 }
00422
00423 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00424 this->staticInterfaceName(), QLatin1String("CreateChannelWithHints"));
00425 callMessage << QVariant::fromValue(account) << QVariant::fromValue(requestedProperties) << QVariant::fromValue(userActionTime) << QVariant::fromValue(preferredHandler) << QVariant::fromValue(hints);
00426 return this->connection().asyncCall(callMessage, timeout);
00427 }
00428
00534 inline QDBusPendingReply<QDBusObjectPath> EnsureChannelWithHints(const QDBusObjectPath& account, const QVariantMap& requestedProperties, qlonglong userActionTime, const QString& preferredHandler, const QVariantMap& hints, int timeout = -1)
00535 {
00536 if (!invalidationReason().isEmpty()) {
00537 return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
00538 invalidationReason(),
00539 invalidationMessage()
00540 ));
00541 }
00542
00543 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00544 this->staticInterfaceName(), QLatin1String("EnsureChannelWithHints"));
00545 callMessage << QVariant::fromValue(account) << QVariant::fromValue(requestedProperties) << QVariant::fromValue(userActionTime) << QVariant::fromValue(preferredHandler) << QVariant::fromValue(hints);
00546 return this->connection().asyncCall(callMessage, timeout);
00547 }
00548
00549 protected:
00550 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
00551 };
00552 }
00553 }
00554 Q_DECLARE_METATYPE(Tp::Client::ChannelDispatcherInterface*)