libiqxmlrpc  0.12.4
 All Classes Namespaces Files Functions Typedefs Enumerations
value_type_xml.h
1 // Libiqxmlrpc - an object-oriented XML-RPC solution.
2 // Copyright (C) 2011 Anton Dedov
3 
4 #include <string>
5 #include "value_type_visitor.h"
6 
7 namespace iqxmlrpc {
8 
9 class XmlBuilder;
10 
13 public:
14  Value_type_to_xml(XmlBuilder& builder):
15  builder_(builder) {}
16 
17 private:
18  virtual void do_visit_value(const Value_type&);
19  virtual void do_visit_nil();
20  virtual void do_visit_int(int);
21  virtual void do_visit_double(double);
22  virtual void do_visit_bool(bool);
23  virtual void do_visit_string(const std::string&);
24  virtual void do_visit_struct(const Struct&);
25  virtual void do_visit_array(const Array&);
26  virtual void do_visit_base64(const Binary_data&);
27  virtual void do_visit_datetime(const Date_time&);
28 
29  void add_textnode(const char* name, const std::string& data);
30 
31  XmlBuilder& builder_;
32 };
33 
34 } // namespace iqxmlrpc