diff options
Diffstat (limited to 'Swiften/Chat/ChatStateNotifier.h')
-rw-r--r-- | Swiften/Chat/ChatStateNotifier.h | 75 |
1 files changed, 38 insertions, 37 deletions
diff --git a/Swiften/Chat/ChatStateNotifier.h b/Swiften/Chat/ChatStateNotifier.h index d832680..a7af9e4 100644 --- a/Swiften/Chat/ChatStateNotifier.h +++ b/Swiften/Chat/ChatStateNotifier.h @@ -1,51 +1,52 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once -#include <Swiften/Base/boost_bsignals.h> -#include <boost/shared_ptr.hpp> +#include <memory> + +#include <boost/signals2.hpp> #include <Swiften/Base/API.h> -#include <Swiften/Elements/Message.h> #include <Swiften/Elements/ChatState.h> +#include <Swiften/Elements/Message.h> #include <Swiften/JID/JID.h> namespace Swift { - class StanzaChannel; - class EntityCapsProvider; - - class SWIFTEN_API ChatStateNotifier { - public: - ChatStateNotifier(StanzaChannel* stanzaChannel, const JID& contact, EntityCapsProvider* entityCapsManager); - ~ChatStateNotifier(); - - void setContact(const JID& contact); - - void addChatStateRequest(Message::ref message); - - void setUserIsTyping(); - void userSentMessage(); - void userCancelledNewMessage(); - - void receivedMessageFromContact(bool hasActiveElement); - void setContactIsOnline(bool online); - - private: - bool contactShouldReceiveStates(); - void changeState(ChatState::ChatStateType type); - void handleCapsChanged(const JID& contact); - - private: - StanzaChannel* stanzaChannel_; - EntityCapsProvider* entityCapsManager_; - JID contact_; - bool contactHas85Caps_; - bool contactHasSentActive_; - bool userIsTyping_; - bool contactIsOnline_; - }; + class StanzaChannel; + class EntityCapsProvider; + + class SWIFTEN_API ChatStateNotifier { + public: + ChatStateNotifier(StanzaChannel* stanzaChannel, const JID& contact, EntityCapsProvider* entityCapsManager); + ~ChatStateNotifier(); + + void setContact(const JID& contact); + + void addChatStateRequest(Message::ref message); + + void setUserIsTyping(); + void userSentMessage(); + void userCancelledNewMessage(); + + void receivedMessageFromContact(bool hasActiveElement); + void setContactIsOnline(bool online); + + private: + bool contactShouldReceiveStates(); + void changeState(ChatState::ChatStateType type); + void handleCapsChanged(const JID& contact); + + private: + StanzaChannel* stanzaChannel_; + EntityCapsProvider* entityCapsManager_; + JID contact_; + bool contactHas85Caps_; + bool contactHasSentActive_; + bool userIsTyping_; + bool contactIsOnline_; + }; } |