diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-10-27 21:22:16 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-10-29 18:09:04 (GMT) |
commit | bbd3bbf5747c28ec5925a89ea43fd4767d135f6e (patch) | |
tree | 7082ca4c7aa66cf66e3b1ebb24a90a5c1d37a1cd /Swiften/Chat/ChatStateNotifier.h | |
parent | 420654a8e323beb7c8877453393568240a3f2a07 (diff) | |
download | swift-contrib-bbd3bbf5747c28ec5925a89ea43fd4767d135f6e.zip swift-contrib-bbd3bbf5747c28ec5925a89ea43fd4767d135f6e.tar.bz2 |
Make ChatStateNotifier use StanzaChannel directly.
Diffstat (limited to 'Swiften/Chat/ChatStateNotifier.h')
-rw-r--r-- | Swiften/Chat/ChatStateNotifier.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/Swiften/Chat/ChatStateNotifier.h b/Swiften/Chat/ChatStateNotifier.h index 3889b9c..1185ed0 100644 --- a/Swiften/Chat/ChatStateNotifier.h +++ b/Swiften/Chat/ChatStateNotifier.h @@ -9,23 +9,39 @@ #include "Swiften/Base/boost_bsignals.h" #include <boost/shared_ptr.hpp> +#include "Swiften/Elements/Message.h" #include "Swiften/Elements/ChatState.h" +#include "Swiften/JID/JID.h" namespace Swift { + class StanzaChannel; + class EntityCapsProvider; + class ChatStateNotifier { public: - ChatStateNotifier(); - void setContactHas85Caps(bool hasCaps); + ChatStateNotifier(StanzaChannel* stanzaChannel, const JID& contact, EntityCapsProvider* entityCapsManager); + ~ChatStateNotifier(); + + void setContact(const JID& contact); + + void addChatStateRequest(Message::ref message); + void setUserIsTyping(); - void setContactIsOnline(bool online); void userSentMessage(); void userCancelledNewMessage(); + void receivedMessageFromContact(bool hasActiveElement); + void setContactIsOnline(bool online); + + private: bool contactShouldReceiveStates(); - void contactJIDHasChanged(); + void changeState(ChatState::ChatStateType type); + void handleCapsChanged(const JID& contact); - boost::signal<void (ChatState::ChatStateType)> onChatStateChanged; private: + StanzaChannel* stanzaChannel_; + EntityCapsProvider* entityCapsManager_; + JID contact_; bool contactHas85Caps_; bool contactHasSentActive_; bool userIsTyping_; |