X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fmodules.h;h=7ae620752abb1edebaf566f162bbd56386a8facb;hb=06a25cab68a58a4c9e985a394590b3288de33723;hp=ef2e4b0e46cbd8981e5d7ea2b34bac1d100e0d51;hpb=94f2293f6566200f4d5ae359b7b60121737e145b;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/modules.h b/include/modules.h index ef2e4b0e4..7ae620752 100644 --- a/include/modules.h +++ b/include/modules.h @@ -238,9 +238,9 @@ do { \ /** Is a module created user */ #define IS_MODULE_CREATED(x) (x->GetFd() == FD_MAGIC_NUMBER) /** Is an oper */ -#define IS_OPER(x) (*x->oper) +#define IS_OPER(x) (!x->oper.empty()) /** Is away */ -#define IS_AWAY(x) (*x->awaymsg) +#define IS_AWAY(x) (!x->awaymsg.empty()) /** Holds a module's Version information. * The four members (set by the constructor only) indicate details as to the version number @@ -1034,10 +1034,11 @@ class CoreExport Module : public Extensible * @param pcnt The nuimber of parameters passed to the command * @param user the user issuing the command * @param validated True if the command has passed all checks, e.g. it is recognised, has enough parameters, the user has permission to execute it, etc. + * You should only change the parameter list and command string if validated == false (e.g. before the command lookup occurs). * @param original_line The entire original line as passed to the parser from the user * @return 1 to block the command, 0 to allow */ - virtual int OnPreCommand(const std::string &command, const char* const* parameters, int pcnt, User *user, bool validated, const std::string &original_line); + virtual int OnPreCommand(std::string &command, std::vector& parameters, User *user, bool validated, const std::string &original_line); /** Called after any command has been executed. * This event occurs for all registered commands, wether they are registered in the core, @@ -1051,7 +1052,7 @@ class CoreExport Module : public Extensible * @param result The return code given by the command handler, one of CMD_SUCCESS or CMD_FAILURE * @param original_line The entire original line as passed to the parser from the user */ - virtual void OnPostCommand(const std::string &command, const char* const* parameters, int pcnt, User *user, CmdResult result, const std::string &original_line); + virtual void OnPostCommand(const std::string &command, const std::vector& parameters, User *user, CmdResult result, const std::string &original_line); /** Called to check if a user who is connecting can now be allowed to register * If any modules return false for this function, the user is held in the waiting