public:
ModuleWaitPong()
: ext("waitpong_pingstr", this)
+ {
+ }
+
+ void init() CXX11_OVERRIDE
{
ServerInstance->Modules->AddService(ext);
OnRehash(NULL);
Implementation eventlist[] = { I_OnUserRegister, I_OnCheckReady, I_OnPreCommand, I_OnRehash };
- ServerInstance->Modules->Attach(eventlist, this, 4);
+ ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
}
- void OnRehash(User* user)
+ void OnRehash(User* user) CXX11_OVERRIDE
{
- ConfigReader Conf;
-
- sendsnotice = Conf.ReadFlag("waitpong", "sendsnotice", 0);
-
- if(Conf.GetError() == CONF_VALUE_NOT_FOUND)
- sendsnotice = true;
-
- killonbadreply = Conf.ReadFlag("waitpong", "killonbadreply", 0);
-
- if(Conf.GetError() == CONF_VALUE_NOT_FOUND)
- killonbadreply = true;
+ ConfigTag* tag = ServerInstance->Config->ConfValue("waitpong");
+ sendsnotice = tag->getBool("sendsnotice", true);
+ killonbadreply = tag->getBool("killonbadreply", true);
}
- ModResult OnUserRegister(LocalUser* user)
+ ModResult OnUserRegister(LocalUser* user) CXX11_OVERRIDE
{
std::string pingrpl = ServerInstance->GenRandomStr(10);
user->Write("PING :%s", pingrpl.c_str());
if(sendsnotice)
- user->WriteServ("NOTICE %s :*** If you are having problems connecting due to ping timeouts, please type /quote PONG %s or /raw PONG %s now.", user->nick.c_str(), pingrpl.c_str(), pingrpl.c_str());
+ user->WriteNotice("*** If you are having problems connecting due to ping timeouts, please type /quote PONG " + pingrpl + " or /raw PONG " + pingrpl + " now.");
ext.set(user, pingrpl);
return MOD_RES_PASSTHRU;
}
- ModResult OnPreCommand(std::string &command, std::vector<std::string> ¶meters, LocalUser* user, bool validated, const std::string &original_line)
+ ModResult OnPreCommand(std::string &command, std::vector<std::string> ¶meters, LocalUser* user, bool validated, const std::string &original_line) CXX11_OVERRIDE
{
if (command == "PONG")
{
return MOD_RES_PASSTHRU;
}
- ModResult OnCheckReady(LocalUser* user)
+ ModResult OnCheckReady(LocalUser* user) CXX11_OVERRIDE
{
return ext.get(user) ? MOD_RES_DENY : MOD_RES_PASSTHRU;
}
- ~ModuleWaitPong()
- {
- }
-
- Version GetVersion()
+ Version GetVersion() CXX11_OVERRIDE
{
return Version("Require pong prior to registration", VF_VENDOR);
}
-
};
MODULE_INIT(ModuleWaitPong)