4 #ifndef _iqxmlrpc_client_h_
5 #define _iqxmlrpc_client_h_
11 #include <boost/optional.hpp>
12 #include <boost/scoped_ptr.hpp>
16 class Client_connection;
20 #pragma warning(disable: 4251)
29 const std::string& uri,
30 const std::string& vhost
43 return execute( method, pl );
52 void set_timeout(
int seconds );
55 void set_keep_alive(
bool keep_alive );
58 void set_authinfo(
const std::string& user,
const std::string& password);
67 friend class Auto_conn;
70 boost::scoped_ptr<Impl> impl_;
80 template <
class TRANSPORT>
89 const std::string& uri =
"/RPC",
90 const std::string& vhost =
""
101 virtual Client_connection* get_connection()
104 return proxy_ctr->connect(timeout());
111 typedef typename TRANSPORT::Proxy_connection Proxy_connection;
112 boost::optional<iqnet::Connector<Proxy_connection> > proxy_ctr;
Proxy class to access XML-RPC values by library users.
Definition: value.h:19
XML-RPC response.
Definition: response.h:28
Definition: connector.h:27
Transport independent base class for XML-RPC client's connection.
Definition: client_conn.h:17
An object representation of internet address.
Definition: inet_addr.h:27
iqxmlrpc::Client_connection * connect(int timeout)
Process connection.
Definition: connector.cc:52
Response execute(const std::string &method, const Value &val)
Perform Remote Procedure Call with only one parameter transfered.
Definition: client.h:39
std::vector< Value > Param_list
Method's parameters type.
Definition: method.h:22
Client(const iqnet::Inet_addr &addr, const std::string &uri="/RPC", const std::string &vhost="")
Definition: client.h:87