libiqxmlrpc  0.12.4
 All Classes Namespaces Files Functions Typedefs Enumerations
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  stop();
34 
35  std::string
36  content() const;
37 
38 private:
39  xmlBufferPtr buf;
40  xmlTextWriterPtr writer;
41 };
42 
43 } // namespace iqxmlrpc
44 
45 #endif
46 // vim:ts=2:sw=2:et