00001
00002 #ifndef _XMLRPCSERVERMETHOD_H_
00003 #define _XMLRPCSERVERMETHOD_H_
00004
00005
00006
00007 #if defined(_MSC_VER)
00008 # pragma warning(disable:4786) // identifier was truncated in debug info
00009 #endif
00010
00011 #include "XmlRpcDecl.h"
00012
00013 #ifndef MAKEDEPEND
00014 # include <string>
00015 #endif
00016
00017 namespace XmlRpc {
00018
00019
00020 class XmlRpcValue;
00021
00022
00023 class XmlRpcServer;
00024
00026 class XMLRPCPP_DECL XmlRpcServerMethod {
00027 public:
00029 XmlRpcServerMethod(std::string const& name, XmlRpcServer* server = 0);
00031 virtual ~XmlRpcServerMethod();
00032
00034 std::string& name() { return _name; }
00035
00037 virtual void execute(XmlRpcValue& params, XmlRpcValue& result) = 0;
00038
00041 virtual std::string help() { return std::string(); }
00042
00043 protected:
00044 std::string _name;
00045 XmlRpcServer* _server;
00046 };
00047 }
00048
00049 #endif // _XMLRPCSERVERMETHOD_H_