diff options
Diffstat (limited to 'Swiften/Chat/ChatStateNotifier.h')
-rw-r--r-- | Swiften/Chat/ChatStateNotifier.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Swiften/Chat/ChatStateNotifier.h b/Swiften/Chat/ChatStateNotifier.h index a7af9e4..2b24c76 100644 --- a/Swiften/Chat/ChatStateNotifier.h +++ b/Swiften/Chat/ChatStateNotifier.h @@ -18,10 +18,13 @@ namespace Swift { class StanzaChannel; class EntityCapsProvider; + class TimerFactory; + class Timer; + class SWIFTEN_API ChatStateNotifier { public: - ChatStateNotifier(StanzaChannel* stanzaChannel, const JID& contact, EntityCapsProvider* entityCapsManager); + ChatStateNotifier(StanzaChannel* stanzaChannel, const JID& contact, EntityCapsProvider* entityCapsManager, TimerFactory* timerFactory, int idleTimeInMilliSecs); ~ChatStateNotifier(); void setContact(const JID& contact); @@ -36,6 +39,7 @@ namespace Swift { void setContactIsOnline(bool online); private: + void userBecameIdleWhileTyping(); bool contactShouldReceiveStates(); void changeState(ChatState::ChatStateType type); void handleCapsChanged(const JID& contact); @@ -48,5 +52,7 @@ namespace Swift { bool contactHasSentActive_; bool userIsTyping_; bool contactIsOnline_; + std::shared_ptr<Timer> idleTimer_; + }; } |