mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 19:19:02 -04:00
Automatically register and unregister mode watchers
This commit is contained in:
parent
5a366d8945
commit
ade1500382
@ -154,11 +154,6 @@ class ModuleLusers : public Module
|
||||
{
|
||||
}
|
||||
|
||||
void init()
|
||||
{
|
||||
ServerInstance->Modes->AddModeWatcher(&mw);
|
||||
}
|
||||
|
||||
void OnPostConnect(User* user)
|
||||
{
|
||||
counters.UpdateMaxUsers();
|
||||
@ -172,11 +167,6 @@ class ModuleLusers : public Module
|
||||
counters.invisible--;
|
||||
}
|
||||
|
||||
~ModuleLusers()
|
||||
{
|
||||
ServerInstance->Modes->DelModeWatcher(&mw);
|
||||
}
|
||||
|
||||
Version GetVersion()
|
||||
{
|
||||
return Version("LUSERS", VF_VENDOR | VF_CORE);
|
||||
|
@ -145,10 +145,12 @@ bool ParamChannelModeHandler::ParamValidate(std::string& parameter)
|
||||
ModeWatcher::ModeWatcher(Module* Creator, const std::string& modename, ModeType type)
|
||||
: mode(modename), m_type(type), creator(Creator)
|
||||
{
|
||||
ServerInstance->Modes->AddModeWatcher(this);
|
||||
}
|
||||
|
||||
ModeWatcher::~ModeWatcher()
|
||||
{
|
||||
ServerInstance->Modes->DelModeWatcher(this);
|
||||
}
|
||||
|
||||
ModeType ModeWatcher::GetModeType()
|
||||
|
@ -229,11 +229,6 @@ class ModuleBanRedirect : public Module
|
||||
{
|
||||
}
|
||||
|
||||
void init() CXX11_OVERRIDE
|
||||
{
|
||||
ServerInstance->Modes->AddModeWatcher(&re);
|
||||
}
|
||||
|
||||
void OnCleanup(int target_type, void* item) CXX11_OVERRIDE
|
||||
{
|
||||
if(target_type == TYPE_CHANNEL)
|
||||
@ -334,13 +329,6 @@ class ModuleBanRedirect : public Module
|
||||
return MOD_RES_PASSTHRU;
|
||||
}
|
||||
|
||||
~ModuleBanRedirect()
|
||||
{
|
||||
/* XXX is this the best place to do this? */
|
||||
if (!ServerInstance->Modes->DelModeWatcher(&re))
|
||||
ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Failed to delete modewatcher!");
|
||||
}
|
||||
|
||||
Version GetVersion() CXX11_OVERRIDE
|
||||
{
|
||||
return Version("Allows an extended ban (+b) syntax redirecting banned users to another channel", VF_COMMON|VF_VENDOR);
|
||||
|
@ -58,17 +58,11 @@ class ModuleOperPrefixMode : public Module
|
||||
ModuleOperPrefixMode()
|
||||
: opm(this), hideoperwatcher(this)
|
||||
, hideopermode(this, "hideoper")
|
||||
{
|
||||
}
|
||||
|
||||
void init() CXX11_OVERRIDE
|
||||
{
|
||||
/* To give clients a chance to learn about the new prefix we don't give +y to opers
|
||||
* right now. That means if the module was loaded after opers have joined channels
|
||||
* they need to rejoin them in order to get the oper prefix.
|
||||
*/
|
||||
|
||||
ServerInstance->Modes->AddModeWatcher(&hideoperwatcher);
|
||||
}
|
||||
|
||||
ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
|
||||
@ -98,12 +92,6 @@ class ModuleOperPrefixMode : public Module
|
||||
SetOperPrefix(user, true);
|
||||
}
|
||||
|
||||
|
||||
~ModuleOperPrefixMode()
|
||||
{
|
||||
ServerInstance->Modes->DelModeWatcher(&hideoperwatcher);
|
||||
}
|
||||
|
||||
Version GetVersion() CXX11_OVERRIDE
|
||||
{
|
||||
return Version("Gives opers cmode +y which provides a staff prefix.", VF_VENDOR);
|
||||
|
@ -148,16 +148,6 @@ class ModuleTimedBans : public Module
|
||||
{
|
||||
}
|
||||
|
||||
void init() CXX11_OVERRIDE
|
||||
{
|
||||
ServerInstance->Modes->AddModeWatcher(&banwatcher);
|
||||
}
|
||||
|
||||
~ModuleTimedBans()
|
||||
{
|
||||
ServerInstance->Modes->DelModeWatcher(&banwatcher);
|
||||
}
|
||||
|
||||
void OnBackgroundTimer(time_t curtime) CXX11_OVERRIDE
|
||||
{
|
||||
timedbans expired;
|
||||
|
Loading…
x
Reference in New Issue
Block a user