diff options
author | Adam <Adam@anope.org> | 2013-05-05 03:30:08 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2013-05-05 03:30:08 -0400 |
commit | 57c2b65f08c9c0658003a74a32c6506829e12b0b (patch) | |
tree | 49883b790ed9f7cd395e0c6f2f62cc946d743635 /include/modules/xmlrpc.h | |
parent | a118946e657b8a137502ff60c1f21c608cb44495 (diff) |
Move module header files to include/modules to fix naming conflicts with system headers
Diffstat (limited to 'include/modules/xmlrpc.h')
-rw-r--r-- | include/modules/xmlrpc.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/include/modules/xmlrpc.h b/include/modules/xmlrpc.h new file mode 100644 index 000000000..d5a5ea4a7 --- /dev/null +++ b/include/modules/xmlrpc.h @@ -0,0 +1,40 @@ +#include "httpd.h" + +class XMLRPCRequest +{ + std::map<Anope::string, Anope::string> replies; + + public: + Anope::string name; + Anope::string id; + std::deque<Anope::string> data; + HTTPReply& r; + + XMLRPCRequest(HTTPReply &_r) : r(_r) { } + inline void reply(const Anope::string &dname, const Anope::string &ddata) { this->replies.insert(std::make_pair(dname, ddata)); } + inline const std::map<Anope::string, Anope::string> &get_replies() { return this->replies; } +}; + +class XMLRPCServiceInterface; + +class XMLRPCEvent +{ + public: + virtual ~XMLRPCEvent() { } + virtual bool Run(XMLRPCServiceInterface *iface, HTTPClient *client, XMLRPCRequest &request) = 0; +}; + +class XMLRPCServiceInterface : public Service +{ + public: + XMLRPCServiceInterface(Module *creator, const Anope::string &sname) : Service(creator, "XMLRPCServiceInterface", sname) { } + + virtual void Register(XMLRPCEvent *event) = 0; + + virtual void Unregister(XMLRPCEvent *event) = 0; + + virtual Anope::string Sanitize(const Anope::string &string) = 0; + + virtual void Reply(XMLRPCRequest &request) = 0; +}; + |