GNU CommonC++
Public Member Functions | Protected Member Functions

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:
bufferSizesize 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,
bool  value 
)

Add bool member to a XMLRPC struct.

Parameters:
nameof member.
valueof member.
void ost::XMLRPC::addMember ( const char *  name,
long  value 
)

Add an integer member to XMLRPC struct.

Parameters:
nameof member.
valueof member.
void ost::XMLRPC::addMember ( const char *  name,
const char *  value 
)

Add a string member to XMLRPC struct.

Parameters:
nameof member.
valueof member.
void ost::XMLRPC::addParam ( long  value)

Add an integer paramater to XMLRPC request.

Parameters:
valueto add.
void ost::XMLRPC::addParam ( bool  value)

Add bool param to XMLRPC request.

Parameters:
valueto add.
void ost::XMLRPC::addParam ( const char *  string)

Add a string paramater to XMLRPC request.

Parameters:
stringto 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:
methodname 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:
resourceto send to (such as url).
msgwell formed XMLRPC request message.
void ost::XMLRPC::response ( bool  fault)

Create XMLRPC "reply" to a method call.

Parameters:
faultset 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:
resourceto send to.

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