---
name: "ost_XMLRPC"
section: "3"
platform: "linux"
package: "libcommoncpp2-doc"
version: "1.8.1-10"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/ost_XMLRPC"
---

# ost\_XMLRPC(3)

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

## NAME

ost::XMLRPC - This class impliments a core **XMLRPC** service without the underlying transports.

## SYNOPSIS

`#include <xml.h>`

Inherits **ost::XMLStream**.

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

Add bool member to a **XMLRPC** struct.

**Parameters**

*name* of member. \
 *value* of member.

### 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::addParam (bool value)

Add bool param to **XMLRPC** request.

**Parameters**

*value* to add.

### 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::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.

## Author

Generated automatically by Doxygen for GNU CommonC++ from the source code.
