00001
00023 #ifndef _TelepathyQt4_handled_channel_notifier_h_HEADER_GUARD_
00024 #define _TelepathyQt4_handled_channel_notifier_h_HEADER_GUARD_
00025
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029
00030 #include <TelepathyQt4/Channel>
00031 #include <TelepathyQt4/Types>
00032
00033 #include <QObject>
00034
00035 namespace Tp
00036 {
00037
00038 class ChannelRequestHints;
00039 class RequestTemporaryHandler;
00040
00041 class TELEPATHY_QT4_EXPORT HandledChannelNotifier : public QObject
00042 {
00043 Q_OBJECT
00044 Q_DISABLE_COPY(HandledChannelNotifier)
00045
00046 public:
00047 ~HandledChannelNotifier();
00048
00049 ChannelPtr channel() const;
00050
00051 Q_SIGNALS:
00052 void handledAgain(const QDateTime &userActionTime, const Tp::ChannelRequestHints &requestHints);
00053
00054 protected:
00055 void connectNotify(const char *);
00056
00057 private Q_SLOTS:
00058 TELEPATHY_QT4_NO_EXPORT void onChannelReceived(const Tp::ChannelPtr &channel,
00059 const QDateTime &userActionTime, const Tp::ChannelRequestHints &requestHints);
00060 TELEPATHY_QT4_NO_EXPORT void onChannelInvalidated();
00061
00062 private:
00063 friend class PendingChannel;
00064
00065 HandledChannelNotifier(const ClientRegistrarPtr &cr,
00066 const SharedPtr<RequestTemporaryHandler> &handler);
00067
00068 struct Private;
00069 friend struct Private;
00070 Private *mPriv;
00071 };
00072
00073 }
00074
00075 #endif