#include <ulxr_method_adder.h>
Inheritance diagram for ulxr::MethodAdder:
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::MethodWrapperBase * | DynamicMethodCall_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 |
Definition at line 98 of file ulxr_method_adder.h.
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.
Definition at line 107 of file ulxr_method_adder.h.
Definition at line 109 of file ulxr_method_adder.h.
virtual ulxr::MethodAdder::~MethodAdder | ( | ) | [inline, virtual] |
Definition at line 128 of file ulxr_method_adder.h.
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.
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.
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.
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.
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.
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.
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.
name | method name |
Implemented in ulxr::Dispatcher, and ulxr::MultiThreadRpcServer.
StaticMethodCall_t make_method | ( | const | StaticMethodCall_t | ) | [friend] |