aboutsummaryrefslogtreecommitdiff
path: root/xmlrpc++/src/XmlRpcServerMethod.h
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2005-03-08 10:23:43 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2005-03-08 10:23:43 +0000
commit922cb5559b9f2f97279fa24cc9c5862c8b666495 (patch)
tree10b3616acd63f3d60689c1a26aa4ccadf6115511 /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.h47
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_