diff options
-rw-r--r-- | include/modules.h | 6 | ||||
-rw-r--r-- | src/command.cpp | 37 |
2 files changed, 22 insertions, 21 deletions
diff --git a/include/modules.h b/include/modules.h index 927dbeb26..90c307b41 100644 --- a/include/modules.h +++ b/include/modules.h @@ -231,6 +231,7 @@ class CoreExport Command size_t MaxParams; size_t MinParams; std::string name; + std::string permission; /** Create a new command. * @param min_params The minimum number of parameters the parser will require to execute this command @@ -274,6 +275,11 @@ class CoreExport Command */ bool HasFlag(CommandFlags flag) const; + /** Set which command permission (e.g. chanserv/forbid) is required for this command. + * @param reststr The permission required to successfully execute this command + */ + void SetPermission(const std::string &reststr); + char *help_param1; char *help_param2; char *help_param3; diff --git a/src/command.cpp b/src/command.cpp index 752ea370c..ae2cae740 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -1,3 +1,13 @@ +/* + * Copyright (C) 2008-2009 Robin Burchell <w00t@inspircd.org> + * Copyright (C) 2008-2009 Anope Team <team@anope.org> + * + * Please read COPYING and README for further details. + * + * + * $Id$ + * + */ #include "services.h" #include "modules.h" @@ -24,44 +34,29 @@ Command::~Command() } } -/** Execute this command. - * @param u The user executing the command. - */ CommandReturn Command::Execute(User *u, std::vector<std::string> &) { return MOD_CONT; } -/** Requested when the user is requesting help on this command. Help on this command should be sent to the user. - * @param u The user requesting help - * @param subcommand The subcommand the user is requesting help on, or an empty string. (e.g. /ns help set foo bar lol gives a subcommand of "FOO BAR LOL") - * @return true if help was provided to the user, false otherwise. - */ bool Command::OnHelp(User *u, const std::string &subcommand) { return false; } -/** Requested when the user provides bad syntax to this command (not enough params, etc). - * @param u The user executing the command. - */ void Command::OnSyntaxError(User *u) { } -/** Set a certain flag on this command. - * @param flag The CommandFlag to set on this command. - */ void Command::SetFlag(CommandFlags flag) { this->flags |= flag; } -/** Remove a certain flag from this command. - * @param flag The CommandFlag to unset. - */ void Command::UnsetFlag(CommandFlags flag) { this->flags &= ~flag; } -/** Check whether a certain flag is set on this command. - * @param flag The CommandFlag to check. - * @return bool True if the flag is set, false else. - */ bool Command::HasFlag(CommandFlags flag) const { return this->flags & flag; } + +void Command::SetPermission(const std::string &reststr) +{ + this->permission = reststr; +} + |