Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
XmlRpc::XmlRpcClient Class Reference

A class to send XML RPC requests to a server and return the results. More...

#include <XmlRpcClient.h>

Inheritance diagram for XmlRpc::XmlRpcClient:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void close ()
 Close the connection.
bool execute (const char *method, XmlRpcValue const &params, XmlRpcValue &result)
bool executeCheckDone (XmlRpcValue &result)
bool executeNonBlock (const char *method, XmlRpcValue const &params)
const std::string & getHost ()
int getPort () const
const std::string & getUri ()
virtual unsigned handleEvent (unsigned eventType)
bool isFault () const
 Returns true if the result of the last execute() was a fault response.
 XmlRpcClient (const char *host, int port, const char *uri=0)
virtual ~XmlRpcClient ()
 Destructor.

Public Attributes

int _bytesWritten
int _contentLength
XmlRpcDispatch _disp
bool _eof
bool _executing
std::string _header
bool _isFault
std::string _request
std::string _response
int _sendAttempts

Static Public Attributes

static const char FAULT_TAG [] = "<fault>"
static const char METHODRESPONSE_TAG [] = "<methodResponse>"
static const char PARAM_ETAG [] = "</param>"
static const char PARAM_TAG [] = "<param>"
static const char PARAMS_ETAG [] = "</params>"
static const char PARAMS_TAG [] = "<params>"
static const char REQUEST_BEGIN [] = "<methodCall><methodName>"
static const char REQUEST_END [] = "</methodCall>\r\n"
static const char REQUEST_END_METHODNAME [] = "</methodName>\r\n"

Protected Types

enum  ClientConnectionState {
  NO_CONNECTION, CONNECTING, WRITE_REQUEST, READ_HEADER,
  READ_RESPONSE, IDLE
}

Protected Member Functions

virtual bool doConnect ()
virtual std::string generateHeader (std::string const &body)
virtual bool generateRequest (const char *method, XmlRpcValue const &params)
virtual bool parseResponse (XmlRpcValue &result)
virtual bool readHeader ()
virtual bool readResponse ()
virtual bool setupConnection ()
virtual bool writeRequest ()

Protected Attributes

ClientConnectionState _connectionState
std::string _host
int _port
std::string _uri

Detailed Description

A class to send XML RPC requests to a server and return the results.

Definition at line 26 of file XmlRpcClient.h.


Member Enumeration Documentation

Enumerator:
NO_CONNECTION 
CONNECTING 
WRITE_REQUEST 
READ_HEADER 
READ_RESPONSE 
IDLE 

Definition at line 90 of file XmlRpcClient.h.


Constructor & Destructor Documentation

XmlRpcClient::XmlRpcClient ( const char *  host,
int  port,
const char *  uri = 0 
)

Construct a client to connect to the server at the specified host:port address

Parameters:
hostThe name of the remote machine hosting the server
portThe port on the remote machine where the server is listening
uriAn optional string to be sent as the URI in the HTTP GET header

Definition at line 32 of file XmlRpcClient.cpp.

Destructor.

Definition at line 51 of file XmlRpcClient.cpp.


Member Function Documentation

void XmlRpcClient::close ( ) [virtual]

Close the connection.

Reimplemented from XmlRpc::XmlRpcSource.

Definition at line 58 of file XmlRpcClient.cpp.

bool XmlRpcClient::doConnect ( ) [protected, virtual]

Definition at line 218 of file XmlRpcClient.cpp.

bool XmlRpcClient::execute ( const char *  method,
XmlRpcValue const &  params,
XmlRpcValue result 
)

Execute the named procedure on the remote server.

Parameters:
methodThe name of the remote procedure to execute
paramsAn array of the arguments for the method
resultThe result value to be returned to the client
Returns:
true if the request was sent and a result received (although the result might be a fault).

Currently this is a synchronous (blocking) implementation (execute does not return until it receives a response or an error). Use isFault() to determine whether the result is a fault response.

Definition at line 80 of file XmlRpcClient.cpp.

Definition at line 145 of file XmlRpcClient.cpp.

bool XmlRpcClient::executeNonBlock ( const char *  method,
XmlRpcValue const &  params 
)

Definition at line 119 of file XmlRpcClient.cpp.

std::string XmlRpcClient::generateHeader ( std::string const &  body) [protected, virtual]

Definition at line 288 of file XmlRpcClient.cpp.

bool XmlRpcClient::generateRequest ( const char *  method,
XmlRpcValue const &  params 
) [protected, virtual]

Definition at line 250 of file XmlRpcClient.cpp.

const std::string& XmlRpc::XmlRpcClient::getHost ( ) [inline]

Definition at line 98 of file XmlRpcClient.h.

int XmlRpc::XmlRpcClient::getPort ( ) const [inline]

Definition at line 100 of file XmlRpcClient.h.

const std::string& XmlRpc::XmlRpcClient::getUri ( ) [inline]

Definition at line 99 of file XmlRpcClient.h.

unsigned XmlRpcClient::handleEvent ( unsigned  eventType) [virtual]

Handle server responses. Called by the event dispatcher during execute.

Parameters:
eventTypeThe type of event that occurred.
See also:
XmlRpcDispatch::EventType

Implements XmlRpc::XmlRpcSource.

Definition at line 163 of file XmlRpcClient.cpp.

bool XmlRpc::XmlRpcClient::isFault ( ) const [inline]

Returns true if the result of the last execute() was a fault response.

Definition at line 65 of file XmlRpcClient.h.

bool XmlRpcClient::parseResponse ( XmlRpcValue result) [protected, virtual]

Definition at line 444 of file XmlRpcClient.cpp.

bool XmlRpcClient::readHeader ( ) [protected, virtual]

Definition at line 342 of file XmlRpcClient.cpp.

bool XmlRpcClient::readResponse ( ) [protected, virtual]

Definition at line 413 of file XmlRpcClient.cpp.

bool XmlRpcClient::setupConnection ( ) [protected, virtual]

Definition at line 193 of file XmlRpcClient.cpp.

bool XmlRpcClient::writeRequest ( ) [protected, virtual]

Definition at line 317 of file XmlRpcClient.cpp.


Member Data Documentation

Definition at line 111 of file XmlRpcClient.h.

Definition at line 91 of file XmlRpcClient.h.

Definition at line 124 of file XmlRpcClient.h.

Definition at line 127 of file XmlRpcClient.h.

Definition at line 118 of file XmlRpcClient.h.

Definition at line 115 of file XmlRpcClient.h.

Definition at line 104 of file XmlRpcClient.h.

std::string XmlRpc::XmlRpcClient::_host [protected]

Definition at line 94 of file XmlRpcClient.h.

Definition at line 121 of file XmlRpcClient.h.

int XmlRpc::XmlRpcClient::_port [protected]

Definition at line 96 of file XmlRpcClient.h.

Definition at line 103 of file XmlRpcClient.h.

Definition at line 105 of file XmlRpcClient.h.

Definition at line 108 of file XmlRpcClient.h.

std::string XmlRpc::XmlRpcClient::_uri [protected]

Definition at line 95 of file XmlRpcClient.h.

const char XmlRpcClient::FAULT_TAG = "<fault>" [static]

Definition at line 38 of file XmlRpcClient.h.

const char XmlRpcClient::METHODRESPONSE_TAG = "<methodResponse>" [static]

Definition at line 37 of file XmlRpcClient.h.

const char XmlRpcClient::PARAM_ETAG = "</param>" [static]

Definition at line 34 of file XmlRpcClient.h.

const char XmlRpcClient::PARAM_TAG = "<param>" [static]

Definition at line 33 of file XmlRpcClient.h.

const char XmlRpcClient::PARAMS_ETAG = "</params>" [static]

Definition at line 32 of file XmlRpcClient.h.

const char XmlRpcClient::PARAMS_TAG = "<params>" [static]

Definition at line 31 of file XmlRpcClient.h.

const char XmlRpcClient::REQUEST_BEGIN = "<methodCall><methodName>" [static]

Definition at line 29 of file XmlRpcClient.h.

const char XmlRpcClient::REQUEST_END = "</methodCall>\r\n" [static]

Definition at line 35 of file XmlRpcClient.h.

const char XmlRpcClient::REQUEST_END_METHODNAME = "</methodName>\r\n" [static]

Definition at line 30 of file XmlRpcClient.h.


The documentation for this class was generated from the following files:


xmlrpcpp
Author(s): Chris Morley and Konstantin Pilipchuk, slight modifications and ROS wrapping by Morgan Quigley
autogenerated on Sat Dec 28 2013 17:42:59