libiqxmlrpc  0.12.12
xml_builder.h
1 // Libiqxmlrpc - an object-oriented XML-RPC solution.
2 // Copyright (C) 2011 Anton Dedov
3 
4 #ifndef _iqxmlrpc_xml_builder_h_
5 #define _iqxmlrpc_xml_builder_h_
6 
7 #include "api_export.h"
8 
9 #include <boost/utility.hpp>
10 #include <string>
11 #include <libxml/xmlwriter.h>
12 
13 namespace iqxmlrpc {
14 
15 class XmlBuilder: boost::noncopyable {
16 public:
17  class Node {
18  public:
19  Node(XmlBuilder&, const char* name);
20  ~Node();
21 
22  void
23  set_textdata(const std::string&);
24 
25  private:
26  XmlBuilder& ctx;
27  };
28 
29  XmlBuilder();
30  ~XmlBuilder();
31 
32  void
33  add_textdata(const std::string&);
34 
35  void
36  stop();
37 
38  std::string
39  content() const;
40 
41 private:
42  xmlBufferPtr buf;
43  xmlTextWriterPtr writer;
44 };
45 
46 } // namespace iqxmlrpc
47 
48 #endif
49 // vim:ts=2:sw=2:et
Definition: xml_builder.h:17
XML-RPC library.
Definition: auth_plugin.cc:6
Definition: xml_builder.h:15