ost::XMLRPC Class Reference

This class impliments a core XMLRPC service without the underlying transports. More...

#include <xml.h>

Inheritance diagram for ost::XMLRPC:

ost::XMLStream

List of all members.

Public Member Functions

 XMLRPC (size_t bufferSize=512)
 Construct XMLRPC workspace.
virtual ~XMLRPC ()
 Destroy XMLRPC object.
void begArray (void)
 Create an array.
void endArray (void)
 end an array.
void invoke (const char *method)
 Create XMLRPC "method" call in buffer.
void response (bool fault)
 Create XMLRPC "reply" to a method call.
void addParam (bool value)
 Add bool param to XMLRPC request.
void addMember (const char *name, bool value)
 Add bool member to a XMLRPC struct.
void addParam (long value)
 Add an integer paramater to XMLRPC request.
void addMember (const char *name, long value)
 Add an integer member to XMLRPC struct.
void addParam (const char *string)
 Add a string paramater to XMLRPC request.
void addMember (const char *name, const char *value)
 Add a string member to XMLRPC struct.
void endStruct (void)
 Clear a struct.
bool send (const char *resource)
 Complete buffer and send well formed XMLRPC request thru post.

Protected Member Functions

virtual bool post (const char *resource, const char *msg)=0
 Used in a derived transport class to deliver the XMLRPC encoded request and return true if successful.
void begStruct (void)
 Start member struct.


Detailed Description

This class impliments a core XMLRPC service without the underlying transports.

It is meant to create and parse XMLRPC messages. To use for a fit purpose, one might combine it with URLStream, although this implimentation makes no requirement for http based transport.

Author:
David Sugar <dyfet@ostel.com> XML-RPC service building class

Constructor & Destructor Documentation

ost::XMLRPC::XMLRPC ( size_t  bufferSize = 512  ) 

Construct XMLRPC workspace.

Parameters:
bufferSize size of buffer when using old C++ strstreams. When the newer stringstream (<sstream>) is available, this parameter is silently ignored.

virtual ost::XMLRPC::~XMLRPC (  )  [virtual]

Destroy XMLRPC object.


Member Function Documentation

void ost::XMLRPC::addMember ( const char *  name,
const char *  value 
)

Add a string member to XMLRPC struct.

Parameters:
name of member.
value of member.

void ost::XMLRPC::addMember ( const char *  name,
long  value 
)

Add an integer member to XMLRPC struct.

Parameters:
name of member.
value of member.

void ost::XMLRPC::addMember ( const char *  name,
bool  value 
)

Add bool member to a XMLRPC struct.

Parameters:
name of member.
value of member.

void ost::XMLRPC::addParam ( const char *  string  ) 

Add a string paramater to XMLRPC request.

Parameters:
string to add.

void ost::XMLRPC::addParam ( long  value  ) 

Add an integer paramater to XMLRPC request.

Parameters:
value to add.

void ost::XMLRPC::addParam ( bool  value  ) 

Add bool param to XMLRPC request.

Parameters:
value to add.

void ost::XMLRPC::begArray ( void   ) 

Create an array.

void ost::XMLRPC::begStruct ( void   )  [protected]

Start member struct.

void ost::XMLRPC::endArray ( void   ) 

end an array.

void ost::XMLRPC::endStruct ( void   ) 

Clear a struct.

void ost::XMLRPC::invoke ( const char *  method  ) 

Create XMLRPC "method" call in buffer.

Parameters:
method name of method being called.

virtual bool ost::XMLRPC::post ( const char *  resource,
const char *  msg 
) [protected, pure virtual]

Used in a derived transport class to deliver the XMLRPC encoded request and return true if successful.

The Parse method can then be used to decode the reply.

Returns:
true if successful.
Parameters:
resource to send to (such as url).
msg well formed XMLRPC request message.

void ost::XMLRPC::response ( bool  fault  ) 

Create XMLRPC "reply" to a method call.

Parameters:
fault set true for fault message.

bool ost::XMLRPC::send ( const char *  resource  ) 

Complete buffer and send well formed XMLRPC request thru post.

Returns:
true if successful.
Parameters:
resource to send to.


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

Generated on Sat May 16 22:57:40 2009 for GNU CommonC++ by  doxygen 1.5.8