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;