diff options
author | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2005-03-08 10:23:43 +0000 |
---|---|---|
committer | IOhannes m zmölnig <zmoelnig@users.sourceforge.net> | 2005-03-08 10:23:43 +0000 |
commit | 922cb5559b9f2f97279fa24cc9c5862c8b666495 (patch) | |
tree | 10b3616acd63f3d60689c1a26aa4ccadf6115511 /xmlrpc++/src/XmlRpcServerMethod.h |
This commit was generated by cvs2svn to compensate for changes in r2603,svn2git-root
which included commits to RCS files with non-trunk default branches.
svn path=/trunk/externals/iem/iemxmlrpc/; revision=2604
Diffstat (limited to 'xmlrpc++/src/XmlRpcServerMethod.h')
-rw-r--r-- | xmlrpc++/src/XmlRpcServerMethod.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/xmlrpc++/src/XmlRpcServerMethod.h b/xmlrpc++/src/XmlRpcServerMethod.h new file mode 100644 index 0000000..738a9c8 --- /dev/null +++ b/xmlrpc++/src/XmlRpcServerMethod.h @@ -0,0 +1,47 @@ + +#ifndef _XMLRPCSERVERMETHOD_H_ +#define _XMLRPCSERVERMETHOD_H_ +// +// XmlRpc++ Copyright (c) 2002-2003 by Chris Morley +// +#if defined(_MSC_VER) +# pragma warning(disable:4786) // identifier was truncated in debug info +#endif + +#ifndef MAKEDEPEND +# include <string> +#endif + +namespace XmlRpc { + + // Representation of a parameter or result value + class XmlRpcValue; + + // The XmlRpcServer processes client requests to call RPCs + class XmlRpcServer; + + //! Abstract class representing a single RPC method + class XmlRpcServerMethod { + public: + //! Constructor + XmlRpcServerMethod(std::string const& name, XmlRpcServer* server = 0); + //! Destructor + virtual ~XmlRpcServerMethod(); + + //! Returns the name of the method + std::string& name() { return _name; } + + //! Execute the method. Subclasses must provide a definition for this method. + virtual void execute(XmlRpcValue& params, XmlRpcValue& result) = 0; + + //! Returns a help string for the method. + //! Subclasses should define this method if introspection is being used. + virtual std::string help() { return std::string(); } + + protected: + std::string _name; + XmlRpcServer* _server; + }; +} // namespace XmlRpc + +#endif // _XMLRPCSERVERMETHOD_H_ |