/* */ #ifndef D_XML_RPC_METHOD_H #define D_XML_RPC_METHOD_H #include "common.h" #include #include "SharedHandle.h" #include "ValueBase.h" namespace aria2 { class DownloadEngine; class OptionParser; class Logger; class Option; class Exception; namespace xmlrpc { struct XmlRpcRequest; struct XmlRpcResponse; // This class offers abstract implementation of processing XML-RPC // request. You have to inherit this class and implement process() // method to add new XML-RPC API. // // There is XmlRpcMethodFactory class which instantiates XmlRpcMethod // subclass. If you add new XmlRpcMethod subclass, don't forget to add // it to XmlRpcMethodFactory. class XmlRpcMethod { private: SharedHandle optionParser_; Logger* logger_; protected: // Subclass must implement this function to fulfil XmlRpcRequest // req. The return value of this method is used as a return value // of XML-RPC request. virtual SharedHandle process (const XmlRpcRequest& req, DownloadEngine* e) = 0; void gatherRequestOption (const SharedHandle