ulxr::MethodAdder Class Reference
[XML-RPC handling]

Define interface for adding rpc method to a dispatcher. More...

#include <ulxr_method_adder.h>

Inheritance diagram for ulxr::MethodAdder:

Inheritance graph
[legend]
List of all members.

Public Types

enum  CallType { CallNone, CallSystem, CallStatic, CallDynamic }
typedef MethodResponse(*) StaticMethodCall_t (const MethodCall &)
typedef MethodResponse(*) SystemMethodCall_t (const MethodCall &, const Dispatcher *disp)
typedef hidden::MethodWrapperBaseDynamicMethodCall_t

Public Member Functions

virtual ~MethodAdder ()
virtual void addMethod (StaticMethodCall_t adr, const CppString &ret_signature, const CppString &name, const CppString &signature, const CppString &help)=0
 Adds a user defined (static) method to the dispatcher.
virtual void addMethod (DynamicMethodCall_t wrapper, const CppString &ret_signature, const CppString &name, const CppString &signature, const CppString &help)=0
 Adds a user defined (dynamic) method to the dispatcher.
virtual void addMethod (SystemMethodCall_t adr, const CppString &ret_signature, const CppString &name, const CppString &signature, const CppString &help)=0
 Adds a system internal method to the dispatcher.
virtual void addMethod (StaticMethodCall_t adr, const Signature &ret_signature, const CppString &name, const Signature &signature, const CppString &help)=0
 Adds a user defined (static) method to the dispatcher.
virtual void addMethod (DynamicMethodCall_t wrapper, const Signature &ret_signature, const CppString &name, const Signature &signature, const CppString &help)=0
 Adds a user defined (dynamic) method to the dispatcher.
virtual void addMethod (SystemMethodCall_t adr, const Signature &ret_signature, const CppString &name, const Signature &signature, const CppString &help)=0
 Adds a system internal method to the dispatcher.
virtual void removeMethod (const CppString &name)=0
 Removes a method if available.

Friends

StaticMethodCall_t make_method (const StaticMethodCall_t)

Classes

union  MethodCall_t

Detailed Description

Define interface for adding rpc method to a dispatcher.

Definition at line 98 of file ulxr_method_adder.h.


Member Typedef Documentation

typedef MethodResponse(*) ulxr::MethodAdder::StaticMethodCall_t(const MethodCall &)

Definition at line 102 of file ulxr_method_adder.h.

typedef MethodResponse(*) ulxr::MethodAdder::SystemMethodCall_t(const MethodCall &, const Dispatcher *disp)

Definition at line 104 of file ulxr_method_adder.h.

typedef hidden::MethodWrapperBase* ulxr::MethodAdder::DynamicMethodCall_t

Definition at line 107 of file ulxr_method_adder.h.


Member Enumeration Documentation

enum ulxr::MethodAdder::CallType

Enumerator:
CallNone 
CallSystem 
CallStatic 
CallDynamic 

Definition at line 109 of file ulxr_method_adder.h.


Constructor & Destructor Documentation

virtual ulxr::MethodAdder::~MethodAdder (  )  [inline, virtual]

Definition at line 128 of file ulxr_method_adder.h.


Member Function Documentation

virtual void ulxr::MethodAdder::addMethod ( StaticMethodCall_t  adr,
const CppString ret_signature,
const CppString name,
const CppString signature,
const CppString help 
) [pure virtual]

Adds a user defined (static) method to the dispatcher.

You access a remote method by sending the "official" name. Sometimes a method accepts different parameter sets (overloading in C++). In this case you add the according signature. Finally you can add a description to show the usage of this method.

Parameters:
adr the pointer to the implementation of the method
ret_signature the signature of the return value
name the name of the method
signature the signature of the parameters
help short usage description

Implemented in ulxr::MultiThreadRpcServer, and ulxr::MultiThreadRpcServer.

virtual void ulxr::MethodAdder::addMethod ( DynamicMethodCall_t  wrapper,
const CppString ret_signature,
const CppString name,
const CppString signature,
const CppString help 
) [pure virtual]

Adds a user defined (dynamic) method to the dispatcher.

You access a remote method by sending the "official" name. Sometimes a method accepts different parameter sets (overloading in C++). In this case you add the according signature. Finally you can add a description to show the usage of this method.

Parameters:
wrapper the pointer to the wrapper to the method. Important: Dispatcher owns now and deletes this wrapper object!
ret_signature the signature of the return value
name the name of the method
signature the signature of the parameters
help short usage description

Implemented in ulxr::Dispatcher, and ulxr::MultiThreadRpcServer.

virtual void ulxr::MethodAdder::addMethod ( SystemMethodCall_t  adr,
const CppString ret_signature,
const CppString name,
const CppString signature,
const CppString help 
) [pure virtual]

Adds a system internal method to the dispatcher.

You access a remote method by sending the "official" name. Sometimes a method accepts different parameter sets (overloading in C++). In this case you add the according signature. Finally you can add a description to show the usage of this method.

Parameters:
adr the pointer to the implementation of the method
ret_signature the signature of the return value
name the name of the method
signature the signature of the parameters
help short usage description

Implemented in ulxr::MultiThreadRpcServer, and ulxr::MultiThreadRpcServer.

virtual void ulxr::MethodAdder::addMethod ( StaticMethodCall_t  adr,
const Signature ret_signature,
const CppString name,
const Signature signature,
const CppString help 
) [pure virtual]

Adds a user defined (static) method to the dispatcher.

You access a remote method by sending the "official" name. Sometimes a method accepts different parameter sets (overloading in C++). In this case you add the according signature. Finally you can add a description to show the usage of this method.

Parameters:
adr the pointer to the implementation of the method
ret_signature the signature of the return value
name the name of the method
signature the signature of the parameters
help short usage description

Implemented in ulxr::MultiThreadRpcServer, and ulxr::MultiThreadRpcServer.

virtual void ulxr::MethodAdder::addMethod ( DynamicMethodCall_t  wrapper,
const Signature ret_signature,
const CppString name,
const Signature signature,
const CppString help 
) [pure virtual]

Adds a user defined (dynamic) method to the dispatcher.

You access a remote method by sending the "official" name. Sometimes a method accepts different parameter sets (overloading in C++). In this case you add the according signature. Finally you can add a description to show the usage of this method.

Parameters:
wrapper the pointer to the wrapper to the method. Important: Dispatcher owns now and deletes this wrapper object!
ret_signature the signature of the return value
name the name of the method
signature the signature of the parameters
help short usage description

Implemented in ulxr::Dispatcher, and ulxr::MultiThreadRpcServer.

virtual void ulxr::MethodAdder::addMethod ( SystemMethodCall_t  adr,
const Signature ret_signature,
const CppString name,
const Signature signature,
const CppString help 
) [pure virtual]

Adds a system internal method to the dispatcher.

You access a remote method by sending the "official" name. Sometimes a method accepts different parameter sets (overloading in C++). In this case you add the according signature. Finally you can add a description to show the usage of this method.

Parameters:
adr the pointer to the implementation of the method
ret_signature the signature of the return value
name the name of the method
signature the signature of the parameters
help short usage description

Implemented in ulxr::MultiThreadRpcServer, and ulxr::MultiThreadRpcServer.

virtual void ulxr::MethodAdder::removeMethod ( const CppString name  )  [pure virtual]

Removes a method if available.

Parameters:
name method name

Implemented in ulxr::Dispatcher, and ulxr::MultiThreadRpcServer.


Friends And Related Function Documentation

StaticMethodCall_t make_method ( const   StaticMethodCall_t  )  [friend]


The documentation for this class was generated from the following file:
Generated on Sun Aug 19 20:09:06 2007 for ulxmlrpcpp by  doxygen 1.5.1