diff options
| author | 2020-02-27 12:16:25 +0000 | |
|---|---|---|
| committer | 2020-03-05 20:47:18 +0000 | |
| commit | 8d1255a82c1bdb53928a007be113caff15683d53 (patch) | |
| tree | 1873579e5b622f492975a721cd5ddcc864271d8c /src/commands.cpp | |
| parent | Clean up the documentation of the Command and SplitCommand classes. (diff) | |
Move command stuff to a more appropriate source file.
Diffstat (limited to 'src/commands.cpp')
| -rw-r--r-- | src/commands.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/commands.cpp b/src/commands.cpp index 9215a4db5..8343cfaac 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -24,6 +24,49 @@ #include "inspircd.h" +CommandBase::CommandBase(Module* mod, const std::string& cmd, unsigned int minpara, unsigned int maxpara) + : ServiceProvider(mod, cmd, SERVICE_COMMAND) + , min_params(minpara) + , max_params(maxpara) + , allow_empty_last_param(true) +{ +} + +CommandBase::~CommandBase() +{ +} + +void CommandBase::EncodeParameter(std::string& parameter, unsigned int index) +{ +} + +RouteDescriptor CommandBase::GetRouting(User* user, const Params& parameters) +{ + return ROUTE_LOCALONLY; +} + +Command::Command(Module* mod, const std::string& cmd, unsigned int minpara, unsigned int maxpara) + : CommandBase(mod, cmd, minpara, maxpara) + , flags_needed(0) + , force_manual_route(false) + , Penalty(1) + , use_count(0) + , works_before_reg(false) +{ +} + +Command::~Command() +{ + ServerInstance->Parser.RemoveCommand(this); +} + +void Command::RegisterService() +{ + if (!ServerInstance->Parser.AddCommand(this)) + throw ModuleException("Command already exists: " + name); +} + + SplitCommand::SplitCommand(Module* me, const std::string& cmd, unsigned int minpara, unsigned int maxpara) : Command(me, cmd, minpara, maxpara) { |
