4 #ifndef _iqxmlrpc_method_h_
5 #define _iqxmlrpc_method_h_
11 #include <boost/utility.hpp>
12 #include <boost/scoped_ptr.hpp>
43 void log_message(
const std::string& );
51 std::string method_name;
59 std::string authname_;
68 const std::string& name()
const {
return data_.method_name; }
70 Server_feedback& server() {
return data_.server_face; }
72 bool authenticated()
const {
return !authname_.empty(); }
73 const std::string& authname()
const {
return authname_; }
74 void authname(
const std::string& n) { authname_ = n; }
78 virtual void execute(
const Param_list& params, Value& response ) = 0;
83 #pragma warning(disable: 4251)
84 #pragma warning(disable: 4275)
126 boost::scoped_ptr<Interceptor> nested;
143 function(
this, params, result);
158 virtual Method* create() = 0;
166 T* create() {
return new T(); }
191 Method *method = do_create_method(data.method_name);
193 method->data_ = data;
198 void get_methods_list(
Array& retval)
const
200 do_get_methods_list(retval);
205 do_create_method(
const std::string&) = 0;
208 do_get_methods_list(
Array&)
const = 0;
Proxy class to access XML-RPC values by library users.
Definition: value.h:19
XML-RPC array type. Operates with objects of type Value, not Value_type.
Definition: value_type.h:82
This clas provides restricted interface of class Server for Method's needs.
Definition: method.h:31
void yield(Method *m, const Param_list ¶ms, Value &result)
Yield the control to specific XML-RPC method.
Definition: method.h:120
An object representation of internet address.
Definition: inet_addr.h:27
Template for simple Method factory.
Definition: method.h:164
XML-RPC server.
Definition: server.h:34
void process_execution(Interceptor *, const Param_list ¶ms, Value &response)
Definition: method.cc:31
void(* Method_function)(Method *, const Param_list &, Value &)
Type of pointer to function that can be used as server method.
Definition: method.h:28
Interceptor's base class.
Definition: method.h:99
Method dispatcher base class.
Definition: method.h:185
std::vector< Value > Param_list
Method's parameters type.
Definition: method.h:22
Abstract factory for Method.
Definition: method.h:154