summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Chat/ChatStateNotifier.cpp')
-rw-r--r--Swiften/Chat/ChatStateNotifier.cpp74
1 files changed, 37 insertions, 37 deletions
diff --git a/Swiften/Chat/ChatStateNotifier.cpp b/Swiften/Chat/ChatStateNotifier.cpp
index b2b7f4b..c623ce1 100644
--- a/Swiften/Chat/ChatStateNotifier.cpp
+++ b/Swiften/Chat/ChatStateNotifier.cpp
@@ -17,77 +17,77 @@
namespace Swift {
ChatStateNotifier::ChatStateNotifier(StanzaChannel* stanzaChannel, const JID& contact, EntityCapsProvider* entityCapsManager) : stanzaChannel_(stanzaChannel), entityCapsManager_(entityCapsManager), contact_(contact) {
- setContact(contact);
- entityCapsManager_->onCapsChanged.connect(boost::bind(&ChatStateNotifier::handleCapsChanged, this, _1));
+ setContact(contact);
+ entityCapsManager_->onCapsChanged.connect(boost::bind(&ChatStateNotifier::handleCapsChanged, this, _1));
}
ChatStateNotifier::~ChatStateNotifier() {
- entityCapsManager_->onCapsChanged.disconnect(boost::bind(&ChatStateNotifier::handleCapsChanged, this, _1));
+ entityCapsManager_->onCapsChanged.disconnect(boost::bind(&ChatStateNotifier::handleCapsChanged, this, _1));
}
void ChatStateNotifier::setContact(const JID& contact) {
- contactHasSentActive_ = false;
- userIsTyping_ = false;
- contactIsOnline_ = false;
- contact_ = contact;
- handleCapsChanged(contact_);
+ contactHasSentActive_ = false;
+ userIsTyping_ = false;
+ contactIsOnline_ = false;
+ contact_ = contact;
+ handleCapsChanged(contact_);
}
void ChatStateNotifier::setContactIsOnline(bool online) {
- contactIsOnline_ = online;
+ contactIsOnline_ = online;
}
void ChatStateNotifier::setUserIsTyping() {
- bool should = contactShouldReceiveStates();
- if (should && !userIsTyping_) {
- userIsTyping_ = true;
- changeState(ChatState::Composing);
- }
+ bool should = contactShouldReceiveStates();
+ if (should && !userIsTyping_) {
+ userIsTyping_ = true;
+ changeState(ChatState::Composing);
+ }
}
void ChatStateNotifier::userSentMessage() {
- userIsTyping_ = false;
+ userIsTyping_ = false;
}
void ChatStateNotifier::userCancelledNewMessage() {
- if (userIsTyping_) {
- userIsTyping_ = false;
- changeState(ChatState::Active);
- }
+ if (userIsTyping_) {
+ userIsTyping_ = false;
+ changeState(ChatState::Active);
+ }
}
void ChatStateNotifier::receivedMessageFromContact(bool hasActiveElement) {
- contactHasSentActive_ = hasActiveElement;
+ contactHasSentActive_ = hasActiveElement;
}
bool ChatStateNotifier::contactShouldReceiveStates() {
- /* So, yes, the XEP says to look at caps, but it also says that once you've
- heard from the contact, the active state overrides this.
- *HOWEVER* it says that the MUST NOT send csn if you haven't received
- active is OPTIONAL behaviour for if you haven't got caps.*/
- return contactIsOnline_ && (contactHasSentActive_ || contactHas85Caps_);
+ /* So, yes, the XEP says to look at caps, but it also says that once you've
+ heard from the contact, the active state overrides this.
+ *HOWEVER* it says that the MUST NOT send csn if you haven't received
+ active is OPTIONAL behaviour for if you haven't got caps.*/
+ return contactIsOnline_ && (contactHasSentActive_ || contactHas85Caps_);
}
void ChatStateNotifier::changeState(ChatState::ChatStateType state) {
- boost::shared_ptr<Message> message(boost::make_shared<Message>());
- message->setTo(contact_);
- message->addPayload(boost::make_shared<ChatState>(state));
- stanzaChannel_->sendMessage(message);
+ boost::shared_ptr<Message> message(boost::make_shared<Message>());
+ message->setTo(contact_);
+ message->addPayload(boost::make_shared<ChatState>(state));
+ stanzaChannel_->sendMessage(message);
}
void ChatStateNotifier::addChatStateRequest(Message::ref message) {
- if (contactShouldReceiveStates()) {
- message->addPayload(boost::make_shared<ChatState>(ChatState::Active));
- }
+ if (contactShouldReceiveStates()) {
+ message->addPayload(boost::make_shared<ChatState>(ChatState::Active));
+ }
}
void ChatStateNotifier::handleCapsChanged(const JID& jid) {
- if (jid == contact_) {
- DiscoInfo::ref caps = entityCapsManager_->getCaps(contact_);
- bool hasCSN = caps && caps->hasFeature(DiscoInfo::ChatStatesFeature);
- contactHas85Caps_ = hasCSN;
- }
+ if (jid == contact_) {
+ DiscoInfo::ref caps = entityCapsManager_->getCaps(contact_);
+ bool hasCSN = caps && caps->hasFeature(DiscoInfo::ChatStatesFeature);
+ contactHas85Caps_ = hasCSN;
+ }
}
}