summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xmpp/xmpp_component.cpp10
-rw-r--r--src/xmpp/xmpp_stanza.cpp9
-rw-r--r--src/xmpp/xmpp_stanza.hpp2
3 files changed, 13 insertions, 8 deletions
diff --git a/src/xmpp/xmpp_component.cpp b/src/xmpp/xmpp_component.cpp
index aa466f5..b87a023 100644
--- a/src/xmpp/xmpp_component.cpp
+++ b/src/xmpp/xmpp_component.cpp
@@ -61,15 +61,15 @@ XmppComponent::XmppComponent(const std::string& hostname, const std::string& sec
std::placeholders::_1));
this->parser.add_stream_close_callback(std::bind(&XmppComponent::on_remote_stream_close, this,
std::placeholders::_1));
- this->stanza_handlers.emplace(COMPONENT_NS":handshake",
+ this->stanza_handlers.emplace("handshake",
std::bind(&XmppComponent::handle_handshake, this,std::placeholders::_1));
- this->stanza_handlers.emplace(COMPONENT_NS":presence",
+ this->stanza_handlers.emplace("presence",
std::bind(&XmppComponent::handle_presence, this,std::placeholders::_1));
- this->stanza_handlers.emplace(COMPONENT_NS":message",
+ this->stanza_handlers.emplace("message",
std::bind(&XmppComponent::handle_message, this,std::placeholders::_1));
- this->stanza_handlers.emplace(COMPONENT_NS":iq",
+ this->stanza_handlers.emplace("iq",
std::bind(&XmppComponent::handle_iq, this,std::placeholders::_1));
- this->stanza_handlers.emplace(STREAM_NS":error",
+ this->stanza_handlers.emplace("error",
std::bind(&XmppComponent::handle_error, this,std::placeholders::_1));
}
diff --git a/src/xmpp/xmpp_stanza.cpp b/src/xmpp/xmpp_stanza.cpp
index 948e5f5..400971b 100644
--- a/src/xmpp/xmpp_stanza.cpp
+++ b/src/xmpp/xmpp_stanza.cpp
@@ -1,6 +1,7 @@
#include <xmpp/xmpp_stanza.hpp>
#include <utils/encoding.hpp>
+#include <utils/split.hpp>
#include <stdexcept>
#include <iostream>
@@ -183,9 +184,13 @@ XmlNode* XmlNode::get_parent() const
return this->parent;
}
-const std::string& XmlNode::get_name() const
+const std::string XmlNode::get_name() const
{
- return this->name;
+ const std::vector<std::string> splited = utils::split(this->name, ':', false);
+ if (splited.empty())
+ return "";
+ const std::string res = splited.back();
+ return res;
}
std::string XmlNode::to_string() const
diff --git a/src/xmpp/xmpp_stanza.hpp b/src/xmpp/xmpp_stanza.hpp
index 1c63b86..9dee51f 100644
--- a/src/xmpp/xmpp_stanza.hpp
+++ b/src/xmpp/xmpp_stanza.hpp
@@ -85,7 +85,7 @@ public:
*/
void close();
XmlNode* get_parent() const;
- const std::string& get_name() const;
+ const std::string get_name() const;
/**
* Serialize the stanza into a string
*/