From 3c55fbe6509c1706d21136392a4bfb2295a99a35 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 18 Feb 2025 17:01:33 +0000 Subject: Rework how the RPC interface stores its events. --- include/modules/rpc.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'include/modules') diff --git a/include/modules/rpc.h b/include/modules/rpc.h index 76ecf3542..f7e361d5c 100644 --- a/include/modules/rpc.h +++ b/include/modules/rpc.h @@ -46,9 +46,21 @@ class RPCServiceInterface; class RPCEvent { +private: + Anope::string event; + +protected: + RPCEvent(const Anope::string& e) + : event(e) + { + } + public: virtual ~RPCEvent() = default; - virtual bool Run(RPCServiceInterface *iface, HTTPClient *client, RPCRequest &request) = 0; + + const auto &GetEvent() const { return event; } + + virtual void Run(RPCServiceInterface *iface, HTTPClient *client, RPCRequest &request) = 0; }; class RPCServiceInterface @@ -57,9 +69,9 @@ class RPCServiceInterface public: RPCServiceInterface(Module *creator, const Anope::string &sname) : Service(creator, "RPCServiceInterface", sname) { } - virtual void Register(RPCEvent *event) = 0; + virtual bool Register(RPCEvent *event) = 0; - virtual void Unregister(RPCEvent *event) = 0; + virtual bool Unregister(RPCEvent *event) = 0; virtual void Reply(RPCRequest &request) = 0; }; -- cgit