X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fmodules.h;h=4f363b2a606d754f3d57ff5faa6420968917bf55;hb=70b835e89eff6fcc47403d7fd7b4782f993ecf21;hp=6717854104f06572d4da8137f535d7781dd33c7f;hpb=5ebb49de65a3f53730177665b5922dc3a62a94eb;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/modules.h b/include/modules.h index 671785410..4f363b2a6 100644 --- a/include/modules.h +++ b/include/modules.h @@ -558,17 +558,14 @@ class CoreExport Module : public classbase, public usecountbase */ virtual void OnBuildNeighborList(User* source, IncludeChanList& include_c, std::map& exceptions); - /** Called before any nickchange, local or remote. This can be used to implement Q-lines etc. - * Please note that although you can see remote nickchanges through this function, you should - * NOT make any changes to the User if the user is a remote user as this may cause a desnyc. - * check user->server before taking any action (including returning nonzero from the method). + /** Called before local nickname changes. This can be used to implement Q-lines etc. * If your method returns nonzero, the nickchange is silently forbidden, and it is down to your * module to generate some meaninful output. * @param user The username changing their nick * @param newnick Their new nickname * @return 1 to deny the change, 0 to allow */ - virtual ModResult OnUserPreNick(User* user, const std::string &newnick); + virtual ModResult OnUserPreNick(LocalUser* user, const std::string& newnick); /** Called after any PRIVMSG sent from a user. * The dest variable contains a User* if target_type is TYPE_USER and a Channel* @@ -1042,6 +1039,13 @@ class CoreExport Module : public classbase, public usecountbase /** Called for every item in a NAMES list, so that modules may reformat portions of it as they see fit. * For example NAMESX, channel mode +u and +I, and UHNAMES. + * @param issuer The user who is going to receive the NAMES list being built + * @param item The channel member being considered for inclusion + * @param prefixes The prefix character(s) to display, initially set to the prefix char of the most powerful + * prefix mode the member has, can be changed + * @param nick The nick to display, initially set to the member's nick, can be changed + * @return Return MOD_RES_PASSTHRU to allow the member to be displayed, MOD_RES_DENY to cause them to be + * excluded from this NAMES list */ virtual ModResult OnNamesListItem(User* issuer, Membership* item, std::string& prefixes, std::string& nick); @@ -1074,7 +1078,7 @@ typedef IntModuleList::iterator EventHandlerIter; /** ModuleManager takes care of all things module-related * in the core. */ -class CoreExport ModuleManager +class CoreExport ModuleManager : public fakederef { public: typedef std::vector ServiceList; @@ -1336,7 +1340,7 @@ struct AllModuleList { { \ return new y; \ } \ - extern "C" DllExport const char inspircd_src_version[] = VERSION " " REVISION; + extern "C" DllExport const char inspircd_src_version[] = INSPIRCD_VERSION " " INSPIRCD_REVISION; #endif #define COMMAND_INIT(c) MODULE_INIT(CommandModule)