8 #include <pugixml/pugixml.hpp>
16 virtual void PrintDoc(std::ostream& os)
const;
18 virtual int AddNode(
const std::string &key,
const std::string &value);
19 virtual int DeleteNode(
const std::string &key);
20 virtual int ModifyNode(
const std::string &key,
const std::string &value);
21 virtual int AddChildNode(
const std::string &key,
const std::string &value);
23 const std::string &key,
const std::string &value);
24 virtual int AddAttribute(
const std::string &key,
const std::string &value);
26 virtual int ModifyAttribute(
const std::string &key,
const std::string &value);
29 virtual const char *
ReadNode(
const std::string &name);
30 virtual const char *
ReadNodeName(
const std::string &name);
38 virtual const char *
ReadAttrib(
const std::string &str);
50 pugi::xml_node
FindNode(
const std::string &name);
57 virtual void write(
const void *data,
size_t sz);
61 void SetBuf(
const void *buf,
size_t sz);
63 bool IsNull(pugi::xml_node &node) {
return node.type() == pugi::node_null; }
64 bool IsNull(pugi::xml_attribute &attr) {
68 const pugi::xml_document &
doc() {
return doc_;}
83 return (strcmp(attr.name(),
tmp_.c_str()) == 0);
86 return (strcmp(node.name(),
tmp_.c_str()) == 0);
92 static pugi::xml_attribute
GAttr;
95 pugi::xml_attribute atrib =
GAttr);
99 #endif // __XML_PUGI_H__
virtual int LoadDoc(const std::string &doc)
pugi::xml_node FindNode(const std::string &name)
virtual const char * ReadNextNode()
virtual const char * ReadParentName()
virtual int ModifyNode(const std::string &key, const std::string &value)
virtual void write(const void *data, size_t sz)
virtual const char * ReadNodeValue()
virtual void RewindNode()
virtual const char * ReadChildNode()
virtual int WriteRawDoc(uint8_t *buf)
pugi::xml_node RootNode()
virtual void PrintDocFormatted(std::ostream &os) const
virtual int DeleteAttribute(const std::string &key)
static pugi::xml_attribute GAttr
bool operator()(pugi::xml_attribute attr) const
const pugi::xml_document & doc()
bool operator()(pugi::xml_node node) const
virtual void PrintDoc(std::ostream &os) const
xmpp_buf_write(XmlPugi *arg)
virtual int AddAttribute(const std::string &key, const std::string &value)
static pugi::xml_node GNode
bool IsNull(pugi::xml_attribute &attr)
virtual int AddChildNode(const std::string &key, const std::string &value)
bool IsNull(pugi::xml_node &node)
virtual const char * ReadNodeName(const std::string &name)
void LoadXmlDoc(const pugi::xml_document &doc)
virtual int ModifyAttribute(const std::string &key, const std::string &value)
virtual const char * ReadChildNodeName()
PugiPredicate(const std::string &name)
virtual const char * ReadAttrib(const std::string &str)
virtual const char * ReadNode(const std::string &name)
virtual int AddNode(const std::string &key, const std::string &value)
void SetBuf(const void *buf, size_t sz)
virtual int WriteDoc(uint8_t *buf)
virtual void AppendDoc(const std::string &str, XmlBase *a_doc)
virtual int DeleteNode(const std::string &key)
pugi::xml_attribute attrib_
virtual const char * ReadNextNodeName()
virtual void RewindAttrib()
virtual const char * ReadNextAttrib()
struct xmpp_buf_write writer_
virtual int AddChildNodeAfter(const std::string &node_name, const std::string &key, const std::string &value)
virtual const char * ReadFirstAttrib()
void SetContext(pugi::xml_node node=GNode, pugi::xml_attribute atrib=GAttr)