#include "inspircd.h"
#include "xline.h"
-/* $ModDesc: Provides the /SHUN command, which stops a user from executing all except configured commands. */
-
class Shun : public XLine
{
public:
std::string matchtext;
- Shun(time_t s_time, long d, std::string src, std::string re, std::string shunmask)
+ Shun(time_t s_time, long d, const std::string& src, const std::string& re, const std::string& shunmask)
: XLine(s_time, d, src, re, "SHUN")
+ , matchtext(shunmask)
{
- this->matchtext = shunmask;
}
bool Matches(User *u)
return false;
}
- const char* Displayable()
+ const std::string& Displayable()
{
- return matchtext.c_str();
+ return matchtext;
}
};
{
}
- void init()
+ void init() CXX11_OVERRIDE
{
ServerInstance->XLines->RegisterFactory(&f);
ServerInstance->Modules->AddService(cmd);
- Implementation eventlist[] = { I_OnStats, I_OnPreCommand, I_OnRehash };
- ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
OnRehash(NULL);
}
- virtual ~ModuleShun()
+ ~ModuleShun()
{
ServerInstance->XLines->DelAll("SHUN");
ServerInstance->XLines->UnregisterFactory(&f);
ServerInstance->Modules->SetPriority(this, I_OnPreCommand, PRIORITY_BEFORE, &alias);
}
- virtual ModResult OnStats(char symbol, User* user, string_list& out)
+ ModResult OnStats(char symbol, User* user, string_list& out) CXX11_OVERRIDE
{
if (symbol != 'H')
return MOD_RES_PASSTHRU;
return MOD_RES_DENY;
}
- virtual void OnRehash(User* user)
+ void OnRehash(User* user) CXX11_OVERRIDE
{
ConfigTag* tag = ServerInstance->Config->ConfValue("shun");
std::string cmds = tag->getString("enabledcommands");
affectopers = tag->getBool("affectopers", false);
}
- virtual ModResult OnPreCommand(std::string &command, std::vector<std::string>& parameters, LocalUser* user, bool validated, const std::string &original_line)
+ ModResult OnPreCommand(std::string &command, std::vector<std::string>& parameters, LocalUser* user, bool validated, const std::string &original_line) CXX11_OVERRIDE
{
if (validated)
return MOD_RES_PASSTHRU;
return MOD_RES_PASSTHRU;
}
- virtual Version GetVersion()
+ Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides the /SHUN command, which stops a user from executing all except configured commands.",VF_VENDOR|VF_COMMON);
}