1
0
mirror of https://github.com/anope/anope.git synced 2026-06-25 04:16:39 +02:00

Split Command implementation from definition.

git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2064 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
rburchell
2009-02-15 15:22:40 +00:00
parent 8324379346
commit 02452a0375
3 changed files with 56 additions and 32 deletions
+5 -31
View File
@@ -160,52 +160,26 @@ class Command
* @param max_params The maximum number of parameters the parser will create, after max_params, all will be combined into the last argument.
* NOTE: If max_params is not set (default), there is no limit to the max number of params.
*/
Command(const std::string &sname, size_t min_params, size_t max_params = 0) : MaxParams(max_params), MinParams(min_params), name(sname)
{
this->has_priv = NULL;
this->help_param1 = NULL;
this->help_param2 = NULL;
this->help_param3 = NULL;
this->help_param4 = NULL;
this->core = 0;
this->next = NULL;
this->mod_name = NULL;
this->service = NULL;
this->all_help = NULL;
this->regular_help = NULL;
this->oper_help = NULL;
this->admin_help = NULL;
this->root_help = NULL;
}
Command(const std::string &sname, size_t min_params, size_t max_params = 0);
virtual ~Command()
{
this->has_priv = NULL;
if (this->mod_name) {
delete [] this->mod_name;
}
if (this->service) {
delete [] this->service;
}
this->next = NULL;
}
virtual ~Command();
/** Execute this command.
* @param u The user executing the command.
*/
virtual CommandReturn Execute(User *u, std::vector<std::string> &) { return MOD_CONT; }
virtual CommandReturn Execute(User *u, std::vector<std::string> &);
/** 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.
*/
virtual bool OnHelp(User *u, const std::string &subcommand) { return false; }
virtual bool OnHelp(User *u, const std::string &subcommand);
/** Requested when the user provides bad syntax to this command (not enough params, etc).
* @param u The user executing the command.
*/
virtual void OnSyntaxError(User *u) { }
virtual void OnSyntaxError(User *u);
int (*has_priv)(User *u); /* Returns 1 if user may use command, else 0 */
+2 -1
View File
@@ -1,4 +1,4 @@
OBJS = actions.o base64.o bots.o botserv.o channels.o chanserv.o commands.o compat.o \
OBJS = actions.o base64.o bots.o botserv.o channels.o chanserv.o command.o commands.o compat.o \
config.o datafiles.o encrypt.o events.o hashcomp.o helpserv.o hostserv.o init.o ircd.o language.o log.o mail.o main.o \
memory.o memoserv.o messages.o misc.o modules.o news.o nickserv.o operserv.o \
process.o protocol.o send.o servers.o sessions.o slist.o sockutil.o opertype.o timeout.o users.o module.o modulemanager.o configreader.o \
@@ -40,6 +40,7 @@ bots.o: bots.cpp $(INCLUDES)
botserv.o: botserv.c $(INCLUDES)
channels.o: channels.c $(INCLUDES)
chanserv.o: chanserv.c $(INCLUDES)
command.o: command.cpp $(INCLUDES)
commands.o: commands.c $(INCLUDES)
compat.o: compat.c $(INCLUDES)
config.o: config.c $(INCLUDES)
+49
View File
@@ -0,0 +1,49 @@
#include "services.h"
#include "modules.h"
Command::Command(const std::string &sname, size_t min_params, size_t max_params) : MaxParams(max_params), MinParams(min_params), name(sname)
{
this->has_priv = NULL;
this->help_param1 = NULL;
this->help_param2 = NULL;
this->help_param3 = NULL;
this->help_param4 = NULL;
this->core = 0;
this->next = NULL;
this->mod_name = NULL;
this->service = NULL;
this->all_help = NULL;
this->regular_help = NULL;
this->oper_help = NULL;
this->admin_help = NULL;
this->root_help = NULL;
}
Command::~Command()
{
this->has_priv = NULL;
if (this->mod_name) {
delete [] this->mod_name;
}
if (this->service) {
delete [] this->service;
}
this->next = NULL;
}
/** 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) { }