- {
- /* XXX - see above note about returning CMD_FAILURE here -- w00t */
- user->WriteServ("972 %s %s :Failed to unload module: %s",user->nick, parameters[0],ServerInstance->ModuleError());
- return CMD_FAILURE;
- }
+ ServerInstance->SNO->WriteToSnoMask('a', "MODULE '%s' GLOBAL UNLOAD BY '%s' (not unloaded here)",parameters[0].c_str(), user->nick.c_str());
+
+ return CMD_SUCCESS;
+ }
+
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters)
+ {
+ return ROUTE_BROADCAST;
+ }
+};
+
+class GReloadModuleWorker : public HandlerBase1<void, bool>
+{
+ public:
+ const std::string nick;
+ const std::string name;
+ const std::string uid;
+ GReloadModuleWorker(const std::string& usernick, const std::string& uuid, const std::string& modn)
+ : nick(usernick), name(modn), uid(uuid) {}
+ void Call(bool result)
+ {
+ ServerInstance->SNO->WriteToSnoMask('a', "MODULE '%s' GLOBALLY RELOADED BY '%s'%s", name.c_str(), nick.c_str(), result ? "" : " (failed here)");
+ User* user = ServerInstance->FindNick(uid);
+ if (user)
+ user->WriteNumeric(975, "%s %s :Module %ssuccessfully reloaded.",
+ user->nick.c_str(), name.c_str(), result ? "" : "un");
+ ServerInstance->GlobalCulls.AddItem(this);