X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcommands%2Fcmd_reloadmodule.cpp;h=3e3a3a6178073954721b5988ec570ddf0bbbcaef;hb=87d031609bb8b7d2cd186d8f24bcb853fd93798c;hp=f968a49ad2e93ba693b259b3dd1faffe73640b2e;hpb=4b856bda135a08e800b96c970a10b0b6a34d433a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/commands/cmd_reloadmodule.cpp b/src/commands/cmd_reloadmodule.cpp index f968a49ad..3e3a3a617 100644 --- a/src/commands/cmd_reloadmodule.cpp +++ b/src/commands/cmd_reloadmodule.cpp @@ -2,8 +2,8 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2008 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * InspIRCd: (C) 2002-2009 InspIRCd Development Team + * See: http://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see * the file COPYING for details. @@ -12,27 +12,45 @@ */ #include "inspircd.h" -#include "commands/cmd_reloadmodule.h" -extern "C" DllExport Command* init_command(InspIRCd* Instance) +class CommandReloadmodule : public Command { - return new CommandReloadmodule(Instance); -} + public: + /** Constructor for reloadmodule. + */ + CommandReloadmodule ( Module* parent) : Command( parent, "RELOADMODULE",1) { flags_needed = 'o'; syntax = ""; } + /** Handle command. + * @param parameters The parameters to the comamnd + * @param pcnt The number of parameters passed to teh command + * @param user The user issuing the command + * @return A value from CmdResult to indicate command success or failure. + */ + CmdResult Handle(const std::vector& parameters, User *user); +}; CmdResult CommandReloadmodule::Handle (const std::vector& parameters, User *user) { + if (parameters[0] == "cmd_reloadmodule.so") + { + user->WriteNumeric(975, "%s %s :You cannot reload cmd_reloadmodule.so (unload and load it)", + user->nick.c_str(), parameters[0].c_str()); + return CMD_FAILURE; + } + if (ServerInstance->Modules->Unload(parameters[0].c_str())) { - ServerInstance->SNO->WriteToSnoMask('A', "RELOAD MODULE: %s unloaded %s",user->nick.c_str(), parameters[0].c_str()); + ServerInstance->SNO->WriteToSnoMask('a', "RELOAD MODULE: %s unloaded %s",user->nick.c_str(), parameters[0].c_str()); if (ServerInstance->Modules->Load(parameters[0].c_str())) { - ServerInstance->SNO->WriteToSnoMask('A', "RELOAD MODULE: %s reloaded %s",user->nick.c_str(), parameters[0].c_str()); + ServerInstance->SNO->WriteToSnoMask('a', "RELOAD MODULE: %s reloaded %s",user->nick.c_str(), parameters[0].c_str()); user->WriteNumeric(975, "%s %s :Module successfully reloaded.",user->nick.c_str(), parameters[0].c_str()); return CMD_SUCCESS; } } - - ServerInstance->SNO->WriteToSnoMask('A', "RELOAD MODULE: %s unsuccessfully reloaded %s",user->nick.c_str(), parameters[0].c_str()); + + ServerInstance->SNO->WriteToSnoMask('a', "RELOAD MODULE: %s unsuccessfully reloaded %s",user->nick.c_str(), parameters[0].c_str()); user->WriteNumeric(975, "%s %s :%s",user->nick.c_str(), parameters[0].c_str(), ServerInstance->Modules->LastError().c_str()); return CMD_FAILURE; } + +COMMAND_INIT(CommandReloadmodule)