26 #ifndef LIBQUTIM_CHATSESSION_H
27 #define LIBQUTIM_CHATSESSION_H
39 class ChatSessionPrivate;
40 class ChatLayerPrivate;
46 Q_PROPERTY(
bool active READ isActive WRITE setActive NOTIFY activated)
48 Q_PROPERTY(QDateTime dateOpened READ dateOpened WRITE setDateOpened NOTIFY dateOpenedChanged)
52 virtual
ChatUnit *getUnit() const = 0;
56 virtual QTextDocument *getInputField() = 0;
57 virtual void markRead(quint64
id) = 0;
60 QDateTime dateOpened()
const;
61 void setDateOpened(
const QDateTime &date);
66 void setActive(
bool active);
69 {
Message msg(text);
return appendMessage(msg); }
71 virtual void doSetActive(
bool active) = 0;
74 void dateOpenedChanged(
const QDateTime &date);
79 void activated(
bool active);
83 virtual void virtual_hook(
int id,
void *data);
84 friend class MessageHandlerHook;
86 QScopedPointer<ChatSessionPrivate> d_ptr;
93 Q_CLASSINFO(
"Service",
"ChatLayer")
94 Q_PROPERTY(
bool alertStatus READ isAlerted WRITE alert NOTIFY alertStatusChanged)
99 ChatSession *getSession(QObject *obj,
bool create = true);
105 bool isAlerted() const;
107 void alert(
int msecs);
108 bool event(QEvent *);
112 void alertStatusChanged(
bool);
117 virtual
void virtual_hook(
int id,
void *data);
118 QScopedPointer<ChatLayerPrivate> d_ptr;
123 return getSession(obj, create);
131 #endif // LIBQUTIM_CHATSESSION_H
qint64 appendMessage(const QString &text)
Definition: chatsession.h:68
#define LIBQUTIM_EXPORT
Definition: libqutim_global.h:45
Definition: abstractsearchrequest.h:33
Account is base class for all account entites.
Definition: account.h:66
void activate()
Definition: chatsession.h:67
Q_DECLARE_METATYPE(qutim_sdk_0_3::ExtensionIcon)
QList< Message > MessageList
Definition: message.h:95
Definition: chatsession.h:42
ChatUnit is base class for all chat members.
Definition: chatunit.h:57
Definition: chatsession.h:89