diff options
author | Adam <Adam@anope.org> | 2014-05-28 12:07:29 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2014-05-28 12:07:54 -0400 |
commit | f29e1cf383529a1a29f02b0669d973f5ee0b7a66 (patch) | |
tree | 3c33db276dc9328235bbd572641521ed44458176 /modules/m_xmlrpc_main.cpp | |
parent | 1253c70e0682fa1490c99c3d2869049a0e3fa2e0 (diff) |
Move most of the core pseudoclient logic to modules
Diffstat (limited to 'modules/m_xmlrpc_main.cpp')
-rw-r--r-- | modules/m_xmlrpc_main.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/modules/m_xmlrpc_main.cpp b/modules/m_xmlrpc_main.cpp index 011b2d250..224b25a60 100644 --- a/modules/m_xmlrpc_main.cpp +++ b/modules/m_xmlrpc_main.cpp @@ -3,7 +3,7 @@ static Module *me; -class XMLRPCIdentifyRequest : public IdentifyRequest +class XMLRPCIdentifyRequest : public NickServ::IdentifyRequestListener { XMLRPCRequest request; HTTPReply repl; /* Request holds a reference to the HTTPReply, because we might exist long enough to invalidate it @@ -12,9 +12,9 @@ class XMLRPCIdentifyRequest : public IdentifyRequest Reference<XMLRPCServiceInterface> xinterface; public: - XMLRPCIdentifyRequest(Module *m, XMLRPCRequest& req, HTTPClient *c, XMLRPCServiceInterface* iface, const Anope::string &acc, const Anope::string &pass) : IdentifyRequest(m, acc, pass), request(req), repl(request.r), client(c), xinterface(iface) { } + XMLRPCIdentifyRequest(XMLRPCRequest& req, HTTPClient *c, XMLRPCServiceInterface* iface) : request(req), repl(request.r), client(c), xinterface(iface) { } - void OnSuccess() override + void OnSuccess(NickServ::IdentifyRequest *req) override { if (!xinterface || !client) return; @@ -22,13 +22,13 @@ class XMLRPCIdentifyRequest : public IdentifyRequest request.r = this->repl; request.reply("result", "Success"); - request.reply("account", GetAccount()); + request.reply("account", req->GetAccount()); xinterface->Reply(request); client->SendReply(&request.r); } - void OnFail() override + void OnFail(NickServ::IdentifyRequest *req) override { if (!xinterface || !client) return; @@ -81,7 +81,7 @@ class MyXMLRPCEvent : public XMLRPCEvent { request.reply("result", "Success"); - NickAlias *na = NickAlias::Find(user); + NickServ::Nick *na = NickServ::FindNick(user); Anope::string out; @@ -91,7 +91,7 @@ class MyXMLRPCEvent : public XMLRPCEvent XMLRPCommandReply(Anope::string &s) : str(s) { } - void SendMessage(BotInfo *, const Anope::string &msg) override + void SendMessage(const MessageSource &, const Anope::string &msg) override { str += msg + "\n"; }; @@ -112,16 +112,16 @@ class MyXMLRPCEvent : public XMLRPCEvent Anope::string username = request.data.size() > 0 ? request.data[0] : ""; Anope::string password = request.data.size() > 1 ? request.data[1] : ""; - if (username.empty() || password.empty()) + if (username.empty() || password.empty() || !NickServ::service) request.reply("error", "Invalid parameters"); else { - XMLRPCIdentifyRequest *req = new XMLRPCIdentifyRequest(me, request, client, iface, username, password); + NickServ::IdentifyRequest *req = NickServ::service->CreateIdentifyRequest(new XMLRPCIdentifyRequest(request, client, iface), me, username, password); Event::OnCheckAuthentication(&Event::CheckAuthentication::OnCheckAuthentication, nullptr, req); req->Dispatch(); return false; } - + return true; } |