/* */ #include "XmlRpcMethodFactory.h" #include "XmlRpcMethodImpl.h" #include "OptionParser.h" #include "OptionHandler.h" namespace aria2 { namespace xmlrpc { SharedHandle XmlRpcMethodFactory::create(const std::string& methodName) { if(methodName == AddUriXmlRpcMethod::getMethodName()) { return SharedHandle(new AddUriXmlRpcMethod()); #ifdef ENABLE_BITTORRENT } else if(methodName == AddTorrentXmlRpcMethod::getMethodName()) { return SharedHandle(new AddTorrentXmlRpcMethod()); #endif // ENABLE_BITTORRENT #ifdef ENABLE_METALINK } else if(methodName == AddMetalinkXmlRpcMethod::getMethodName()) { return SharedHandle(new AddMetalinkXmlRpcMethod()); #endif // ENABLE_METALINK } else if(methodName == RemoveXmlRpcMethod::getMethodName()) { return SharedHandle(new RemoveXmlRpcMethod()); } else if(methodName == ChangePositionXmlRpcMethod::getMethodName()) { return SharedHandle(new ChangePositionXmlRpcMethod()); } else if(methodName == TellStatusXmlRpcMethod::getMethodName()) { return SharedHandle(new TellStatusXmlRpcMethod()); } else if(methodName == GetUrisXmlRpcMethod::getMethodName()) { return SharedHandle(new GetUrisXmlRpcMethod()); } else if(methodName == GetFilesXmlRpcMethod::getMethodName()) { return SharedHandle(new GetFilesXmlRpcMethod()); #ifdef ENABLE_BITTORRENT } else if(methodName == GetPeersXmlRpcMethod::getMethodName()) { return SharedHandle(new GetPeersXmlRpcMethod()); #endif // ENABLE_BITTORRENT } else if(methodName == TellActiveXmlRpcMethod::getMethodName()) { return SharedHandle(new TellActiveXmlRpcMethod()); } else if(methodName == TellWaitingXmlRpcMethod::getMethodName()) { return SharedHandle(new TellWaitingXmlRpcMethod()); } else if(methodName == TellStoppedXmlRpcMethod::getMethodName()) { return SharedHandle(new TellStoppedXmlRpcMethod()); } else if(methodName == GetOptionXmlRpcMethod::getMethodName()) { return SharedHandle(new GetOptionXmlRpcMethod()); } else if(methodName == ChangeOptionXmlRpcMethod::getMethodName()) { return SharedHandle(new ChangeOptionXmlRpcMethod()); } else if(methodName == GetGlobalOptionXmlRpcMethod::getMethodName()) { return SharedHandle(new GetGlobalOptionXmlRpcMethod()); } else if(methodName == ChangeGlobalOptionXmlRpcMethod::getMethodName()) { return SharedHandle(new ChangeGlobalOptionXmlRpcMethod()); } else if(methodName == PurgeDownloadResultXmlRpcMethod::getMethodName()) { return SharedHandle(new PurgeDownloadResultXmlRpcMethod()); } else if(methodName == GetVersionXmlRpcMethod::getMethodName()) { return SharedHandle(new GetVersionXmlRpcMethod()); } else if(methodName == GetSessionInfoXmlRpcMethod::getMethodName()) { return SharedHandle(new GetSessionInfoXmlRpcMethod()); } else if(methodName == SystemMulticallXmlRpcMethod::getMethodName()) { return SharedHandle(new SystemMulticallXmlRpcMethod()); } else { return SharedHandle(new NoSuchMethodXmlRpcMethod()); } } } // namespace xmlrpc } // namespace aria2