Home · All Classes · All Namespaces · Modules · Functions · Files

simple-text-observer.h

00001 
00023 #ifndef _TelepathyQt4_simple_text_observer_h_HEADER_GUARD_
00024 #define _TelepathyQt4_simple_text_observer_h_HEADER_GUARD_
00025 
00026 #include <TelepathyQt4/AbstractClientObserver>
00027 #include <TelepathyQt4/Types>
00028 
00029 #include <QObject>
00030 
00031 namespace Tp
00032 {
00033 
00034 class Message;
00035 class PendingOperation;
00036 class ReceivedMessage;
00037 
00038 class TELEPATHY_QT4_EXPORT SimpleTextObserver : public QObject, public RefCounted
00039 {
00040     Q_OBJECT
00041     Q_DISABLE_COPY(SimpleTextObserver)
00042 
00043 public:
00044     static SimpleTextObserverPtr create(const AccountPtr &account);
00045     static SimpleTextObserverPtr create(const AccountPtr &account,
00046             const ContactPtr &contact);
00047     static SimpleTextObserverPtr create(const AccountPtr &account,
00048             const QString &contactIdentifier);
00049 
00050     virtual ~SimpleTextObserver();
00051 
00052     AccountPtr account() const;
00053     QString contactIdentifier() const;
00054 
00055 Q_SIGNALS:
00056     void messageSent(const Tp::Message &message, Tp::MessageSendingFlags flags,
00057             const QString &sentMessageToken, const Tp::TextChannelPtr &channel);
00058     void messageReceived(const Tp::ReceivedMessage &message, const Tp::TextChannelPtr &channel);
00059 
00060 private Q_SLOTS:
00061     TELEPATHY_QT4_NO_EXPORT void onAccountConnectionChanged(const Tp::ConnectionPtr &connection);
00062     TELEPATHY_QT4_NO_EXPORT void onAccountConnectionConnected();
00063     TELEPATHY_QT4_NO_EXPORT void onContactConstructed(Tp::PendingOperation *op);
00064 
00065     TELEPATHY_QT4_NO_EXPORT void onMessageSent(const Tp::Message &message,
00066             Tp::MessageSendingFlags flags, const QString &sentMessageToken,
00067             const Tp::TextChannelPtr &textChannel);
00068     TELEPATHY_QT4_NO_EXPORT void onMessageReceived(const Tp::ReceivedMessage &message,
00069             const Tp::TextChannelPtr &textChannel);
00070 
00071 private:
00072     TELEPATHY_QT4_NO_EXPORT static SimpleTextObserverPtr create(const AccountPtr &account,
00073             const QString &contactIdentifier, bool requiresNormalization);
00074 
00075     TELEPATHY_QT4_NO_EXPORT SimpleTextObserver(const AccountPtr &account,
00076             const QString &contactIdentifier, bool requiresNormalization);
00077 
00078     struct Private;
00079     friend struct Private;
00080     Private *mPriv;
00081 };
00082 
00083 } // Tp
00084 
00085 #endif


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt4 0.5.14