summaryrefslogtreecommitdiff
path: root/louloulibs/xmpp/xmpp_stanza.hpp
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2016-12-14 18:28:44 +0100
committerlouiz’ <louiz@louiz.org>2016-12-14 18:28:44 +0100
commit5a5bb7f63222189ea0dcfbd387d5e34458ccefe5 (patch)
tree21d1c93156f7cf5dd20a69d29401c72bc1ab22e0 /louloulibs/xmpp/xmpp_stanza.hpp
parentf512c9c666b2c629e8b9af29ec65c534e536e749 (diff)
downloadbiboumi-5a5bb7f63222189ea0dcfbd387d5e34458ccefe5.tar.gz
biboumi-5a5bb7f63222189ea0dcfbd387d5e34458ccefe5.tar.bz2
biboumi-5a5bb7f63222189ea0dcfbd387d5e34458ccefe5.tar.xz
biboumi-5a5bb7f63222189ea0dcfbd387d5e34458ccefe5.zip
Introduce a XmlSubNode class that automatically adds itself into its parent
Diffstat (limited to 'louloulibs/xmpp/xmpp_stanza.hpp')
-rw-r--r--louloulibs/xmpp/xmpp_stanza.hpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/louloulibs/xmpp/xmpp_stanza.hpp b/louloulibs/xmpp/xmpp_stanza.hpp
index 4ca758e..f4b3948 100644
--- a/louloulibs/xmpp/xmpp_stanza.hpp
+++ b/louloulibs/xmpp/xmpp_stanza.hpp
@@ -143,4 +143,18 @@ std::ostream& operator<<(std::ostream& os, const XmlNode& node);
*/
using Stanza = XmlNode;
+class XmlSubNode: public XmlNode
+{
+public:
+ XmlSubNode(XmlNode& parent_ref, const std::string& name):
+ XmlNode(name),
+ parent_to_add(parent_ref)
+ {}
+ ~XmlSubNode()
+ {
+ this->parent_to_add.add_child(std::move(*this));
+ }
+private:
+ XmlNode& parent_to_add;
+}; \ No newline at end of file