diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/modules/rpc.h | 18 |
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; }; |
