2#ifndef _XMLRPCSERVER_H_
3#define _XMLRPCSERVER_H_
8# pragma warning(disable:4786)
23 class XmlRpcServerMethod;
26 class XmlRpcServerConnection;
60 void work(
double msTime);
94 typedef std::map< std::string, XmlRpcServerMethod* >
MethodMap;
A class to handle XML RPC requests from a particular client.
Abstract class representing a single RPC method.
A class to handle XML RPC requests.
std::map< std::string, XmlRpcServerMethod * > MethodMap
void shutdown()
Close all connections with clients and the socket file descriptor.
XmlRpcServerMethod * _listMethods
bool bindAndListen(int port, int backlog=5)
void enableIntrospection(bool enabled=true)
Specify whether introspection is enabled or not. Default is not enabled.
XmlRpcServer()
Create a server object.
void removeMethod(XmlRpcServerMethod *method)
Remove a command from the RPC server.
virtual void removeConnection(XmlRpcServerConnection *)
Remove a connection from the dispatcher.
virtual XmlRpcServerConnection * createConnection(int socket)
Create a new connection object for processing requests from a specific client.
XmlRpcServerMethod * _methodHelp
virtual unsigned handleEvent(unsigned eventType)
Handle client connection requests.
bool _introspectionEnabled
void addMethod(XmlRpcServerMethod *method)
Add a command to the RPC server.
XmlRpcServerMethod * findMethod(const std::string &name) const
Look up a method by name.
void work(double msTime)
Process client requests for the specified time.
virtual ~XmlRpcServer()
Destructor.
virtual void acceptConnection()
Accept a client connection request.
void listMethods(XmlRpcValue &result)
Introspection support.
void exit()
Temporarily stop processing client requests and exit the work() method.
An RPC source represents a file descriptor to monitor.
RPC method arguments and results are represented by Values.