QXmlRPC 1.1
Public Slots | Signals | Public Member Functions | Protected Slots | Friends
xmlrpc::Server Class Reference

The xmlrpc::Server class provides an implementation of the XML-RPC server. More...

#include <server.h>

List of all members.

Public Slots

void sendReturnValue (int requestId, const xmlrpc::Variant &value)
void sendFault (int requestId, int faultCode, QString faultMessage)

Signals

void incomingRequest (int requestId, QString methodName, QList< xmlrpc::Variant > parameters)

Public Member Functions

 Server (QObject *parent=0)
virtual ~Server ()
bool listen (quint16 port, const QHostAddress &address=QHostAddress::Any)
bool isListening () const
void registerMethod (QString methodName, QVariant::Type returnType, QList< QVariant::Type > parameterTypes)
void registerMethod (QString methodName, QVariant::Type returnType)
void registerMethod (QString methodName, QVariant::Type returnType, QVariant::Type parameter1Type)
void registerMethod (QString methodName, QVariant::Type returnType, QVariant::Type parameter1Type, QVariant::Type parameter2Type)
void registerMethod (QString methodName, QVariant::Type returnType, QVariant::Type parameter1Type, QVariant::Type parameter2Type, QVariant::Type parameter3Type)
void registerMethod (QString methodName, QVariant::Type returnType, QVariant::Type parameter1Type, QVariant::Type parameter2Type, QVariant::Type parameter3Type, QVariant::Type parameter4Type)

Protected Slots

void newConnection ()
void processRequest (QByteArray data, QTcpSocket *socket)

Friends

class IncomingConnection

Detailed Description

The xmlrpc::Server class provides an implementation of the XML-RPC server.


Constructor & Destructor Documentation

xmlrpc::Server::Server ( QObject *  parent = 0)

Create new xmlrpc::Server instance.

xmlrpc::Server::~Server ( ) [virtual]

Delete xmlrpc::Server instance.


Member Function Documentation

bool xmlrpc::Server::isListening ( ) const

Returns true if the server is currently listening for incoming connections; otherwise returns false.

See also:
listen()
bool xmlrpc::Server::listen ( quint16  port,
const QHostAddress &  address = QHostAddress::Any 
)

Tells the server to listen for incoming connections on address address and port port. If address is QHostAddress::Any, the server will listen on all network interfaces.

Returns true on success; otherwise returns false.

See also:
isListening()
void xmlrpc::Server::processRequest ( QByteArray  request,
QTcpSocket *  socket 
) [protected, slot]

Parse incoming request, and emit incomingRequest() signal or return xmlrpc response back to socket

References xmlrpc::Request::methodName(), xmlrpc::Request::parameters(), sendFault(), sendReturnValue(), and xmlrpc::Request::setContent().

void xmlrpc::Server::registerMethod ( QString  methodName,
QVariant::Type  returnType 
)

This is an overloaded member function, provided for convenience.

References registerMethod().

void xmlrpc::Server::registerMethod ( QString  methodName,
QVariant::Type  returnType,
QVariant::Type  parameter1Type,
QVariant::Type  parameter2Type,
QVariant::Type  parameter3Type,
QVariant::Type  parameter4Type 
)

This is an overloaded member function, provided for convenience.

References registerMethod().

void xmlrpc::Server::registerMethod ( QString  methodName,
QVariant::Type  returnType,
QVariant::Type  parameter1Type,
QVariant::Type  parameter2Type 
)

This is an overloaded member function, provided for convenience.

References registerMethod().

void xmlrpc::Server::registerMethod ( QString  methodName,
QVariant::Type  returnType,
QList< QVariant::Type >  parameterTypes 
)

Register method methodName as supported by this server instance.

This allows the server to provide information about methods, parameters and return values to clients.

This data is also used to perform checks for supported methodNames and parameter types before incomingRequest() signal is emited. This allows to remove types checks from the methods implementation and avoid of possible bugs.

Methods registration is optional, but if at least one method is registered, all other have to be registered too, since this data will be used for method names checks.

Warning: only top level types are checked. For example if some method has two parametrs: int and QList<double>. Type of the first parameter will be checked, but the second parameter will be only checked to be a list, but type of items in the list must be checked in the implementation of this method.

Referenced by registerMethod().

void xmlrpc::Server::registerMethod ( QString  methodName,
QVariant::Type  returnType,
QVariant::Type  parameter1Type 
)

This is an overloaded member function, provided for convenience.

References registerMethod().

void xmlrpc::Server::registerMethod ( QString  methodName,
QVariant::Type  returnType,
QVariant::Type  parameter1Type,
QVariant::Type  parameter2Type,
QVariant::Type  parameter3Type 
)

This is an overloaded member function, provided for convenience.

References registerMethod().

void xmlrpc::Server::sendFault ( int  requestId,
int  faultCode,
QString  faultMessage 
) [slot]

Send exception ( faultCode and faultMessage ) back to client.

Parameters:
requestIdid of the request, provided by incomingRequest() signal

Referenced by processRequest().

void xmlrpc::Server::sendReturnValue ( int  requestId,
const xmlrpc::Variant value 
) [slot]

Send method return value back to client.

Parameters:
requestIdid of the request, provided by incomingRequest() signal
valueto be returned to client

References xmlrpc::Response::composeResponse().

Referenced by processRequest().


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