diff options
author | Tobias Markmann <tm@ayena.de> | 2016-01-12 17:23:05 (GMT) |
---|---|---|
committer | Kevin Smith <kevin.smith@isode.com> | 2016-02-02 11:33:06 (GMT) |
commit | 1b9ccc1fef6104eaf951153ddccdc6bb15899e9a (patch) | |
tree | 428232448e9846265605820db6f380a5b98c018a /Swift/Controllers/EventNotifier.cpp | |
parent | 3afd061b713ce5fff604dee62dec8410a1de6a9c (diff) | |
download | swift-1b9ccc1fef6104eaf951153ddccdc6bb15899e9a.zip swift-1b9ccc1fef6104eaf951153ddccdc6bb15899e9a.tar.bz2 |
Change stanza body to boost::optional<std::string> type
Changed MUCController to only handle message stanzas as
subject change if <subject/> is present and neither <body/>
nor <thread/> is present in the message stanza.
Test-Information:
Added unit tests verifying behavior described in XEP-0045
section 8.1.
Unit tests pass on OS X 10.11.2.
Change-Id: I1d22272da1675176be131ab360b214a98f20533f
Diffstat (limited to 'Swift/Controllers/EventNotifier.cpp')
-rw-r--r-- | Swift/Controllers/EventNotifier.cpp | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/Swift/Controllers/EventNotifier.cpp b/Swift/Controllers/EventNotifier.cpp index 47bb888..626fd40 100644 --- a/Swift/Controllers/EventNotifier.cpp +++ b/Swift/Controllers/EventNotifier.cpp @@ -1,27 +1,29 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ -#include "Swift/Controllers/EventNotifier.h" +#include <Swift/Controllers/EventNotifier.h> -#include <boost/bind.hpp> #include <boost/algorithm/string.hpp> +#include <boost/bind.hpp> -#include <Swift/Controllers/Intl.h> -#include <Swiften/Base/format.h> +#include <Swiften/Avatars/AvatarManager.h> +#include <Swiften/Client/NickResolver.h> +#include <Swiften/JID/JID.h> #include <Swiften/Base/String.h> -#include "Swift/Controllers/XMPPEvents/EventController.h" -#include "SwifTools/Notifier/Notifier.h" -#include "Swiften/Avatars/AvatarManager.h" -#include "Swiften/Client/NickResolver.h" -#include "Swiften/JID/JID.h" -#include "Swift/Controllers/XMPPEvents/MessageEvent.h" -#include "Swift/Controllers/XMPPEvents/SubscriptionRequestEvent.h" -#include "Swift/Controllers/XMPPEvents/ErrorEvent.h" -#include "Swift/Controllers/XMPPEvents/MUCInviteEvent.h" -#include "Swift/Controllers/Settings/SettingsProvider.h" +#include <Swiften/Base/format.h> + +#include <Swift/Controllers/Settings/SettingsProvider.h> +#include <Swift/Controllers/XMPPEvents/ErrorEvent.h> +#include <Swift/Controllers/XMPPEvents/EventController.h> +#include <Swift/Controllers/XMPPEvents/MUCInviteEvent.h> +#include <Swift/Controllers/XMPPEvents/MessageEvent.h> +#include <Swift/Controllers/XMPPEvents/SubscriptionRequestEvent.h> +#include <Swift/Controllers/Intl.h> + +#include <SwifTools/Notifier/Notifier.h> namespace Swift { @@ -41,12 +43,12 @@ void EventNotifier::handleEventAdded(boost::shared_ptr<StanzaEvent> event) { if (boost::shared_ptr<MessageEvent> messageEvent = boost::dynamic_pointer_cast<MessageEvent>(event)) { JID jid = messageEvent->getStanza()->getFrom(); std::string title = nickResolver->jidToNick(jid); - if (!messageEvent->getStanza()->isError() && !messageEvent->getStanza()->getBody().empty()) { + if (!messageEvent->getStanza()->isError() && !messageEvent->getStanza()->getBody().get_value_or("").empty()) { JID activationJID = jid; if (messageEvent->getStanza()->getType() == Message::Groupchat) { activationJID = jid.toBare(); } - std::string messageText = messageEvent->getStanza()->getBody(); + std::string messageText = messageEvent->getStanza()->getBody().get_value_or(""); if (boost::starts_with(messageText, "/me ")) { messageText = "*" + String::getSplittedAtFirst(messageText, ' ').second + "*"; } |