00001
00023 #ifndef _TelepathyQt4_pending_channel_request_h_HEADER_GUARD_
00024 #define _TelepathyQt4_pending_channel_request_h_HEADER_GUARD_
00025
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029
00030 #include <TelepathyQt4/Global>
00031 #include <TelepathyQt4/PendingOperation>
00032 #include <TelepathyQt4/Types>
00033
00034 #include <QDateTime>
00035 #include <QString>
00036 #include <QVariantMap>
00037
00038 class QDBusPendingCallWatcher;
00039
00040 namespace Tp
00041 {
00042
00043 class Account;
00044 class ChannelRequestHints;
00045
00046 class TELEPATHY_QT4_EXPORT PendingChannelRequest : public PendingOperation
00047 {
00048 Q_OBJECT
00049 Q_DISABLE_COPY(PendingChannelRequest)
00050
00051 public:
00052 ~PendingChannelRequest();
00053
00054 AccountPtr account() const;
00055
00056 ChannelRequestPtr channelRequest() const;
00057
00058 PendingOperation *cancel();
00059
00060 Q_SIGNALS:
00061 void channelRequestCreated(const Tp::ChannelRequestPtr &channelRequest);
00062
00063 private Q_SLOTS:
00064 TELEPATHY_QT4_NO_EXPORT void onWatcherFinished(QDBusPendingCallWatcher *watcher);
00065 TELEPATHY_QT4_NO_EXPORT void onProceedOperationFinished(Tp::PendingOperation *op);
00066 TELEPATHY_QT4_NO_EXPORT void onCancelOperationFinished(Tp::PendingOperation *op);
00067
00068 private:
00069 friend class Account;
00070
00071 TELEPATHY_QT4_NO_EXPORT PendingChannelRequest(const AccountPtr &account,
00072 const QVariantMap &requestedProperties, const QDateTime &userActionTime,
00073 const QString &preferredHandler, bool create, const ChannelRequestHints &hints);
00074 TELEPATHY_QT4_NO_EXPORT PendingChannelRequest(const AccountPtr &account,
00075 const QString &errorName, const QString &errorMessage);
00076
00077 struct Private;
00078 friend struct Private;
00079 Private *mPriv;
00080 };
00081
00082 }
00083
00084 #endif