Interceptor's base class. More...
#include <method.h>
Public Member Functions | |
void | nest (Interceptor *ic) |
virtual void | process (Method *, const Param_list &, Value &)=0 |
User defined interceptor's code goes here. More... | |
Protected Member Functions | |
void | yield (Method *m, const Param_list ¶ms, Value &result) |
Yield the control to specific XML-RPC method. More... | |
Interceptor's base class.
One can use interceptors in order to wrap actual XML-RPC calls on server side with code that supports particular aspect. E.g. logging or catch/re-throw internal exceptions, etc.
Interceptors are stacked inside of server and are being called in order of LIFO.
Also note that interceptors are shared between method that executed in the same time. So the synchronization of internal state of user-defined interceptor is up to it's creator.
|
pure virtual |
User defined interceptor's code goes here.
This method is called by library as soon it resolved target XML-RPC method on a server side. This method must call actual XML-RPC method (along with other stacked interceptors) via calling yield() member
Referenced by iqxmlrpc::Method::process_execution().
|
inlineprotected |
Yield the control to specific XML-RPC method.
This function must be called by process() method function unless it meaningfuly decided not to call actual server method.
References iqxmlrpc::Method::process_execution().