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 /Swiftob | |
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 'Swiftob')
-rw-r--r-- | Swiftob/Commands.cpp | 9 | ||||
-rw-r--r-- | Swiftob/LuaCommands.cpp | 6 | ||||
-rw-r--r-- | Swiftob/Swiftob.cpp | 12 |
3 files changed, 14 insertions, 13 deletions
diff --git a/Swiftob/Commands.cpp b/Swiftob/Commands.cpp index 4e31212..9212aaf 100644 --- a/Swiftob/Commands.cpp +++ b/Swiftob/Commands.cpp @@ -1,16 +1,17 @@ /* - * Copyright (c) 2011 Isode Limited. + * Copyright (c) 2011-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <Swiftob/Commands.h> -#include <Swiften/Base/foreach.h> #include <iostream> -#include <boost/bind.hpp> + #include <boost/algorithm/string.hpp> +#include <boost/bind.hpp> +#include <Swiften/Base/foreach.h> #include <Swiften/Client/Client.h> typedef std::pair<std::string, Commands::Command*> NamedCommand; @@ -211,6 +212,6 @@ void Commands::replyTo(Swift::Message::ref source, std::string replyBody, bool o if (client_->isAvailable()) { client_->sendMessage(reply); } else { - std::cout << "Dropping '" + reply->getBody() + "' -> " + reply->getTo().toString() + " on the floor due to missing connection." << std::endl; + std::cout << "Dropping '" + reply->getBody().get_value_or("") + "' -> " + reply->getTo().toString() + " on the floor due to missing connection." << std::endl; } } diff --git a/Swiftob/LuaCommands.cpp b/Swiftob/LuaCommands.cpp index 1192452..18535f3 100644 --- a/Swiftob/LuaCommands.cpp +++ b/Swiftob/LuaCommands.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011 Isode Limited. + * Copyright (c) 2011-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ @@ -380,7 +380,7 @@ int LuaCommands::get_setting(lua_State *L) { void LuaCommands::handleLuaListener(int callbackIndex, lua_State* L, Swift::Message::ref message) { lua_rawgeti(L, LUA_REGISTRYINDEX, callbackIndex); - lua_pushstring(L, message->getBody().c_str()); + lua_pushstring(L, message->getBody().get_value_or("").c_str()); lua_pushstring(L, message->getFrom().toBare().toString().c_str()); lua_pushstring(L, message->getFrom().getResource().c_str()); messageOntoStack(message, L); @@ -426,7 +426,7 @@ void LuaCommands::messageOntoStack(Swift::Message::ref message, lua_State* L) { lua_setfield(L, -2, "frombare"); lua_pushstring(L, message->getTo().toString().c_str()); lua_setfield(L, -2, "to"); - lua_pushstring(L, message->getBody().c_str()); + lua_pushstring(L, message->getBody().get_value_or("").c_str()); lua_setfield(L, -2, "body"); } diff --git a/Swiftob/Swiftob.cpp b/Swiftob/Swiftob.cpp index d26ea23..d534479 100644 --- a/Swiftob/Swiftob.cpp +++ b/Swiftob/Swiftob.cpp @@ -1,22 +1,22 @@ /* - * Copyright (c) 2011 Isode Limited. + * Copyright (c) 2011-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <Swiftob/Swiftob.h> -#include <string> #include <iostream> +#include <string> + #include <boost/bind.hpp> -#include <Swiften/JID/JID.h> #include <Swiften/Base/String.h> +#include <Swiften/JID/JID.h> #include <Swiften/Presence/PresenceSender.h> -#include <Swiftob/Users.h> #include <Swiftob/Storage.h> - +#include <Swiftob/Users.h> po::options_description Swiftob::getOptionsDescription() { po::options_description result("Options"); @@ -98,7 +98,7 @@ void Swiftob::handleMessageReceived(Swift::Message::ref message) { std::cout << "Ignoring typed message" << std::endl; return; } - std::string body = message->getBody(); + std::string body = message->getBody().get_value_or(""); std::cout << "Got message with body " << body << std::endl; if (body.size() == 0) { std::cout << "Not handling empty body" << std::endl; |