libiqxmlrpc  0.12.4
 All Classes Namespaces Files Functions Typedefs Enumerations
request.h
1 // Libiqxmlrpc - an object-oriented XML-RPC solution.
2 // Copyright (C) 2011 Anton Dedov
3 
4 #ifndef _iqxmlrpc_request_h_
5 #define _iqxmlrpc_request_h_
6 
7 #include <string>
8 #include <vector>
9 
10 #include "value.h"
11 
12 namespace iqxmlrpc {
13 
14 class Request;
15 typedef std::vector<Value> Param_list;
16 
18 LIBIQXMLRPC_API Request* parse_request( const std::string& );
19 
21 LIBIQXMLRPC_API std::string dump_request( const Request& );
22 
23 #ifdef _MSC_VER
24 #pragma warning(push)
25 #pragma warning(disable: 4251)
26 #endif
27 
29 class LIBIQXMLRPC_API Request {
30 public:
31  typedef Param_list::const_iterator const_iterator;
32 
33  Request( const std::string& name, const Param_list& params );
34 
35  const std::string& get_name() const { return name; }
36  const Param_list& get_params() const { return params; }
37 
38 private:
39  std::string name;
40  Param_list params;
41 };
42 
43 #ifdef _MSC_VER
44 #pragma warning(pop)
45 #endif
46 
47 } // namespace iqxmlrpc
48 
49 #endif