diff options
author | attilamolnar <attilamolnar@hush.com> | 2013-08-19 20:22:15 +0200 |
---|---|---|
committer | attilamolnar <attilamolnar@hush.com> | 2013-08-27 15:33:05 +0200 |
commit | 7e7e773d4d43e68c18c19e2ec712f4250e5f756d (patch) | |
tree | a446c63b439f3854ad2da6d8bd8d4dce9715b38a /src/modules/m_spanningtree/commands.h | |
parent | 27ecc025acf7b01f51b2ecc32c28180dc49d793c (diff) |
m_spanningtree Introduce command builders
Diffstat (limited to 'src/modules/m_spanningtree/commands.h')
-rw-r--r-- | src/modules/m_spanningtree/commands.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/commands.h b/src/modules/m_spanningtree/commands.h index 700176a16..007c0f2b0 100644 --- a/src/modules/m_spanningtree/commands.h +++ b/src/modules/m_spanningtree/commands.h @@ -20,6 +20,7 @@ #pragma once #include "main.h" +#include "commandbuilder.h" /** Handle /RCONNECT */ @@ -84,6 +85,14 @@ class CommandMetadata : public ServerCommand public: CommandMetadata(Module* Creator) : ServerCommand(Creator, "METADATA", 2) { } CmdResult Handle(User* user, std::vector<std::string>& params); + + class Builder : public CmdBuilder + { + public: + Builder(User* user, const std::string& key, const std::string& val); + Builder(Channel* chan, const std::string& key, const std::string& val); + Builder(const std::string& key, const std::string& val); + }; }; class CommandUID : public ServerOnlyServerCommand<CommandUID> @@ -91,6 +100,12 @@ class CommandUID : public ServerOnlyServerCommand<CommandUID> public: CommandUID(Module* Creator) : ServerOnlyServerCommand<CommandUID>(Creator, "UID", 10) { } CmdResult HandleServer(TreeServer* server, std::vector<std::string>& params); + + class Builder : public CmdBuilder + { + public: + Builder(User* user); + }; }; class CommandOpertype : public UserOnlyServerCommand<CommandOpertype> @@ -98,6 +113,12 @@ class CommandOpertype : public UserOnlyServerCommand<CommandOpertype> public: CommandOpertype(Module* Creator) : UserOnlyServerCommand<CommandOpertype>(Creator, "OPERTYPE", 1) { } CmdResult HandleRemote(RemoteUser* user, std::vector<std::string>& params); + + class Builder : public CmdBuilder + { + public: + Builder(User* user); + }; }; class TreeSocket; @@ -168,13 +189,27 @@ class CommandAway : public UserOnlyServerCommand<CommandAway> public: CommandAway(Module* Creator) : UserOnlyServerCommand<CommandAway>(Creator, "AWAY", 0, 2) { } CmdResult HandleRemote(RemoteUser* user, std::vector<std::string>& parameters); + + class Builder : public CmdBuilder + { + public: + Builder(User* user); + Builder(User* user, const std::string& msg); + }; }; +class XLine; class CommandAddLine : public ServerCommand { public: CommandAddLine(Module* Creator) : ServerCommand(Creator, "ADDLINE", 6, 6) { } CmdResult Handle(User* user, std::vector<std::string>& parameters); + + class Builder : public CmdBuilder + { + public: + Builder(XLine* xline, User* user = ServerInstance->FakeClient); + }; }; class CommandDelLine : public ServerCommand @@ -243,6 +278,12 @@ class CommandServer : public ServerOnlyServerCommand<CommandServer> public: CommandServer(Module* Creator) : ServerOnlyServerCommand<CommandServer>(Creator, "SERVER", 5) { } CmdResult HandleServer(TreeServer* server, std::vector<std::string>& parameters); + + class Builder : public CmdBuilder + { + public: + Builder(TreeServer* server); + }; }; class CommandSQuit : public ServerOnlyServerCommand<CommandSQuit> |