summaryrefslogtreecommitdiff
path: root/include/modules
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2025-02-18 17:01:33 +0000
committerSadie Powell <sadie@witchery.services>2025-02-18 17:01:33 +0000
commit3c55fbe6509c1706d21136392a4bfb2295a99a35 (patch)
tree79b4ea204d2d75bdc098cfbc6492c137a4770b96 /include/modules
parent98320d130f6c74793d416526e892b11ca5619b91 (diff)
Rework how the RPC interface stores its events.
Diffstat (limited to 'include/modules')
-rw-r--r--include/modules/rpc.h18
1 files changed, 15 insertions, 3 deletions
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;
};