summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/commands.h
diff options
context:
space:
mode:
authorattilamolnar <attilamolnar@hush.com>2013-08-19 20:22:15 +0200
committerattilamolnar <attilamolnar@hush.com>2013-08-27 15:33:05 +0200
commit7e7e773d4d43e68c18c19e2ec712f4250e5f756d (patch)
treea446c63b439f3854ad2da6d8bd8d4dce9715b38a /src/modules/m_spanningtree/commands.h
parent27ecc025acf7b01f51b2ecc32c28180dc49d793c (diff)
m_spanningtree Introduce command builders
Diffstat (limited to 'src/modules/m_spanningtree/commands.h')
-rw-r--r--src/modules/m_spanningtree/commands.h41
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>