Stanza:get_name() only returns the name of the tag, without the namespace

This commit is contained in:
Florent Le Coz
2014-05-15 00:32:31 +02:00
parent 12c8b1ae0b
commit bafde1af9f
3 changed files with 13 additions and 8 deletions
+5 -5
View File
@@ -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));
}
+7 -2
View File
@@ -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
+1 -1
View File
@@ -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
*/