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

Automatically destruct messages when modules are unloaded

This commit is contained in:
Adam
2010-10-04 16:38:25 -04:00
parent cf98cd3e06
commit ab5ebc2245
11 changed files with 142 additions and 312 deletions
+17 -37
View File
@@ -963,41 +963,6 @@ bool event_endburst(const Anope::string &source, const std::vector<Anope::string
return true;
}
void moduleAddIRCDMsgs()
{
Anope::AddMessage("ENDBURST", event_endburst);
Anope::AddMessage("436", event_436);
Anope::AddMessage("AWAY", event_away);
Anope::AddMessage("JOIN", event_join);
Anope::AddMessage("KICK", event_kick);
Anope::AddMessage("KILL", event_kill);
Anope::AddMessage("MODE", event_mode);
Anope::AddMessage("MOTD", event_motd);
Anope::AddMessage("NICK", event_nick);
Anope::AddMessage("CAPAB", event_capab);
Anope::AddMessage("PART", event_part);
Anope::AddMessage("PING", event_ping);
Anope::AddMessage("PRIVMSG", event_privmsg);
Anope::AddMessage("QUIT", event_quit);
Anope::AddMessage("SERVER", event_server);
Anope::AddMessage("SQUIT", event_squit);
Anope::AddMessage("RSQUIT", event_rsquit);
Anope::AddMessage("TOPIC", event_topic);
Anope::AddMessage("WHOIS", event_whois);
Anope::AddMessage("SVSMODE", event_mode);
Anope::AddMessage("FHOST", event_chghost);
Anope::AddMessage("CHGIDENT", event_chgident);
Anope::AddMessage("FNAME", event_chgname);
Anope::AddMessage("SETHOST", event_sethost);
Anope::AddMessage("SETIDENT", event_setident);
Anope::AddMessage("SETNAME", event_setname);
Anope::AddMessage("FJOIN", event_fjoin);
Anope::AddMessage("FMODE", event_fmode);
Anope::AddMessage("FTOPIC", event_ftopic);
Anope::AddMessage("OPERTYPE", event_opertype);
Anope::AddMessage("IDLE", event_idle);
}
bool ChannelModeFlood::IsValid(const Anope::string &value) const
{
Anope::string rest;
@@ -1020,8 +985,24 @@ static void AddModes()
class ProtoInspIRCd : public Module
{
Message message_endburst, message_436, message_away, message_join, message_kick, message_kill, message_mode, message_motd,
message_nick, message_capab, message_part, message_ping, message_privmsg, message_quit, message_server, message_squit,
message_rsquit, message_topic, message_whois, message_svsmode, message_chghost, message_chgident, message_chgname,
message_sethost, message_setident, message_setname, message_fjoin, message_fmode, message_ftopic, message_opertype,
message_idle;
public:
ProtoInspIRCd(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator)
ProtoInspIRCd(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator),
message_endburst("ENDBURST", event_endburst), message_436("436", event_436), message_away("AWAY", event_away),
message_join("JOIN", event_join), message_kick("KICK", event_kick), message_kill("KILL", event_kill),
message_mode("MODE", event_mode), message_motd("MOTD", event_motd), message_nick("NICK", event_nick),
message_capab("CAPAB", event_capab), message_part("PART", event_part), message_ping("PING", event_ping),
message_privmsg("PRIVMSG", event_privmsg), message_quit("QUIT", event_quit), message_server("SERVER", event_server),
message_squit("SQUIT", event_squit), message_rsquit("RSQUIT", event_rsquit), message_topic("TOPIC", event_topic),
message_whois("WHOIS", event_whois), message_svsmode("SVSMODE", event_mode), message_chghost("CHGHOST", event_chghost),
message_chgident("CHGIDENT", event_chgident), message_chgname("CHGNAME", event_chgname),
message_sethost("SETHOST", event_sethost), message_setident("SETIDENT", event_setident),
message_setname("SETNAME", event_setname), message_fjoin("FJOIN", event_fjoin), message_fmode("FMODE", event_fmode),
message_ftopic("FTOPIC", event_ftopic), message_opertype("OPERTYPE", event_opertype), message_idle("IDLE", event_idle)
{
this->SetAuthor("Anope");
this->SetType(PROTOCOL);
@@ -1035,7 +1016,6 @@ class ProtoInspIRCd : public Module
AddModes();
pmodule_ircd_proto(&ircd_proto);
moduleAddIRCDMsgs();
ModuleManager::Attach(I_OnUserNickChange, this);
}