From 9b5f6d3c45987f29a6270b0cc3e8327c232ab991 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 27 Jun 2012 16:23:17 -0400 Subject: [PATCH] Remove ExtensibleString everywhere --- include/extensible.h | 5 +++++ modules/commands/cs_info.cpp | 4 +--- modules/commands/cs_suspend.cpp | 11 +++-------- modules/commands/ns_register.cpp | 11 +++-------- modules/commands/ns_set_email.cpp | 11 +++-------- modules/database/db_plain.cpp | 11 +++-------- modules/extra/m_ldap_authentication.cpp | 9 ++------- modules/protocol/inspircd11.cpp | 9 ++------- 8 files changed, 22 insertions(+), 49 deletions(-) diff --git a/include/extensible.h b/include/extensible.h index 6e6d42fb7..5d0cdafa5 100644 --- a/include/extensible.h +++ b/include/extensible.h @@ -17,6 +17,11 @@ class CoreExport ExtensibleItem virtual void OnDelete(); }; +template struct CoreExport ExtensibleItemClass : T, ExtensibleItem +{ + ExtensibleItemClass(const T& t) : T(t) { } +}; + class CoreExport Extensible { private: diff --git a/modules/commands/cs_info.cpp b/modules/commands/cs_info.cpp index 3c113269e..591a0f673 100644 --- a/modules/commands/cs_info.cpp +++ b/modules/commands/cs_info.cpp @@ -13,8 +13,6 @@ #include "module.h" -struct ExtensibleString : Anope::string, ExtensibleItem { }; - class CommandCSInfo : public Command { void CheckOptStr(Anope::string &buf, ChannelInfoFlag opt, const char *str, const ChannelInfo *ci, const NickCore *nc) @@ -106,7 +104,7 @@ class CommandCSInfo : public Command } if (ci->HasFlag(CI_SUSPENDED)) { - Anope::string *by = ci->GetExt("suspend_by"), *reason = ci->GetExt("suspend_reason"); + Anope::string *by = ci->GetExt *>("suspend_by"), *reason = ci->GetExt *>("suspend_reason"); if (by != NULL) info["Suspended"] = Anope::printf("[%s] %s", by->c_str(), (reason && !reason->empty() ? reason->c_str() : NO_REASON)); } diff --git a/modules/commands/cs_suspend.cpp b/modules/commands/cs_suspend.cpp index b0ffa3e4c..e7969c926 100644 --- a/modules/commands/cs_suspend.cpp +++ b/modules/commands/cs_suspend.cpp @@ -13,11 +13,6 @@ #include "module.h" -struct ExtensibleString : Anope::string, ExtensibleItem -{ - ExtensibleString(const Anope::string &s) : Anope::string(s) { } -}; - struct ChanSuspend : ExtensibleItem, Serializable { Anope::string chan; @@ -106,9 +101,9 @@ class CommandCSSuspend : public Command } ci->SetFlag(CI_SUSPENDED); - ci->Extend("suspend_by", new ExtensibleString(source.GetNick())); + ci->Extend("suspend_by", new ExtensibleItemClass(source.GetNick())); if (!reason.empty()) - ci->Extend("suspend_reason", new ExtensibleString(reason)); + ci->Extend("suspend_reason", new ExtensibleItemClass(reason)); if (ci->c) { @@ -185,7 +180,7 @@ class CommandCSUnSuspend : public Command return; } - Anope::string *by = ci->GetExt("suspend_by"), *reason = ci->GetExt("suspend_reason"); + Anope::string *by = ci->GetExt *>("suspend_by"), *reason = ci->GetExt *>("suspend_reason"); if (by != NULL) Log(LOG_ADMIN, source, this, ci) << " which was suspended by " << *by << " for: " << (reason && !reason->empty() ? *reason : "No reason"); diff --git a/modules/commands/ns_register.cpp b/modules/commands/ns_register.cpp index 05a87c4cf..0d51ef20c 100644 --- a/modules/commands/ns_register.cpp +++ b/modules/commands/ns_register.cpp @@ -15,11 +15,6 @@ static bool SendRegmail(User *u, const NickAlias *na, const BotInfo *bi); -struct ExtensibleString : Anope::string, ExtensibleItem -{ - ExtensibleString(const Anope::string &s) : Anope::string(s) { } -}; - class CommandNSConfirm : public Command { public: @@ -50,7 +45,7 @@ class CommandNSConfirm : public Command } else if (source.nc) { - Anope::string *code = source.nc->GetExt("ns_register_passcode"); + Anope::string *code = source.nc->GetExt *>("ns_register_passcode"); if (code != NULL && *code == passcode) { NickCore *nc = source.nc; @@ -354,7 +349,7 @@ static bool SendRegmail(User *u, const NickAlias *na, const BotInfo *bi) { NickCore *nc = na->nc; - Anope::string *code = na->nc->GetExt("ns_register_passcode"); + Anope::string *code = na->nc->GetExt *>("ns_register_passcode"); Anope::string codebuf; if (code == NULL) { @@ -368,7 +363,7 @@ static bool SendRegmail(User *u, const NickAlias *na, const BotInfo *bi) int idx, min = 1, max = 62; for (idx = 0; idx < 9; ++idx) codebuf += chars[1 + static_cast((static_cast(max - min)) * static_cast(rand()) / 65536.0) + min]; - nc->Extend("ns_register_passcode", new ExtensibleString(codebuf)); + nc->Extend("ns_register_passcode", new ExtensibleItemClass(codebuf)); } else codebuf = *code; diff --git a/modules/commands/ns_set_email.cpp b/modules/commands/ns_set_email.cpp index 0d5b5d27c..46aec504c 100644 --- a/modules/commands/ns_set_email.cpp +++ b/modules/commands/ns_set_email.cpp @@ -13,11 +13,6 @@ #include "module.h" -struct ExtensibleString : Anope::string, ExtensibleItem -{ - ExtensibleString(const Anope::string &s) : Anope::string(s) { } -}; - static bool SendConfirmMail(User *u, const BotInfo *bi) { int chars[] = { @@ -32,7 +27,7 @@ static bool SendConfirmMail(User *u, const BotInfo *bi) for (idx = 0; idx < 9; ++idx) code += chars[1 + static_cast((static_cast(max - min)) * static_cast(rand()) / 65536.0) + min]; - u->Account()->Extend("ns_set_email_passcode", new ExtensibleString(code)); + u->Account()->Extend("ns_set_email_passcode", new ExtensibleItemClass(code)); Anope::string subject = Config->MailEmailchangeSubject; Anope::string message = Config->MailEmailchangeMessage; @@ -85,7 +80,7 @@ class CommandNSSetEmail : public Command if (!param.empty() && Config->NSConfirmEmailChanges && !source.IsServicesOper()) { - source.nc->Extend("ns_set_email", new ExtensibleString(param)); + source.nc->Extend("ns_set_email", new ExtensibleItemClass(param)); Anope::string old = source.nc->email; source.nc->email = param; if (SendConfirmMail(source.GetUser(), source.owner)) @@ -168,7 +163,7 @@ class NSSetEmail : public Module NickCore *uac = source.nc; if (command->name == "nickserv/confirm" && !params.empty() && uac) { - Anope::string *new_email = uac->GetExt("ns_set_email"), *passcode = uac->GetExt("ns_set_email_passcode"); + Anope::string *new_email = uac->GetExt *>("ns_set_email"), *passcode = uac->GetExt *>("ns_set_email_passcode"); if (new_email && passcode) { if (params[0] == *passcode) diff --git a/modules/database/db_plain.cpp b/modules/database/db_plain.cpp index 2850b7f59..fc24ae4c7 100644 --- a/modules/database/db_plain.cpp +++ b/modules/database/db_plain.cpp @@ -18,11 +18,6 @@ Anope::string DatabaseFile; Anope::string BackupFile; std::stringstream db_buffer; -struct ExtensibleString : Anope::string, ExtensibleItem -{ - ExtensibleString(const Anope::string &s) : Anope::string(s) { } -}; - class DatabaseException : public CoreException { public: @@ -170,8 +165,8 @@ EventReturn OnDatabaseReadMetadata(ChannelInfo *ci, const Anope::string &key, co } else if (key.equals_ci("SUSPEND")) { - ci->Extend("suspend_by", new ExtensibleString(params[0])); - ci->Extend("suspend_reason", new ExtensibleString(params[1])); + ci->Extend("suspend_by", new ExtensibleItemClass(params[0])); + ci->Extend("suspend_reason", new ExtensibleItemClass(params[1])); } else if (key.equals_ci("ACCESS")) // Older access system, from Anope 1.9.4. { @@ -776,7 +771,7 @@ class DBPlain : public Module db_buffer << "MD FLAGS " << ci->ToString() << endl; if (ci->HasFlag(CI_SUSPENDED)) { - Anope::string *by = ci->GetExt("suspend_by"), *reason = ci->GetExt("suspend_reason"); + Anope::string *by = ci->GetExt *>("suspend_by"), *reason = ci->GetExt *>("suspend_reason"); if (by && reason) db_buffer << "MD SUSPEND " << *by << " :" << *reason << endl; } diff --git a/modules/extra/m_ldap_authentication.cpp b/modules/extra/m_ldap_authentication.cpp index 97583ece3..8a42553e5 100644 --- a/modules/extra/m_ldap_authentication.cpp +++ b/modules/extra/m_ldap_authentication.cpp @@ -24,11 +24,6 @@ struct IdentifyInfo user(u), command(c), source(s), params(pa), account(a), pass(p), lprov(lp), admin_bind(true) { } }; -struct ExtensibleString : Anope::string, ExtensibleItem -{ - ExtensibleString(const Anope::string &s) : Anope::string(s) { } -}; - class IdentifyInterface : public LDAPInterface { std::map requests; @@ -105,7 +100,7 @@ class IdentifyInterface : public LDAPInterface u->SendMessage(bi, _("Your account \002%s\002 has been successfully created."), na->nick.c_str()); } - na->nc->Extend("m_ldap_authentication_dn", new ExtensibleString(ii->dn)); + na->nc->Extend("m_ldap_authentication_dn", new ExtensibleItemClass(ii->dn)); enc_encrypt(ii->pass, na->nc->pass); @@ -300,7 +295,7 @@ class NSIdentifyLDAP : public Module if (email_attribute.empty() || !this->ldap || !u->Account()->HasExt("m_ldap_authentication_dn")) return; - Anope::string *dn = u->Account()->GetExt("m_ldap_authentication_dn"); + Anope::string *dn = u->Account()->GetExt *>("m_ldap_authentication_dn"); if (!dn || dn->empty()) return; diff --git a/modules/protocol/inspircd11.cpp b/modules/protocol/inspircd11.cpp index 356bbf146..8aea24430 100644 --- a/modules/protocol/inspircd11.cpp +++ b/modules/protocol/inspircd11.cpp @@ -13,11 +13,6 @@ #include "module.h" -struct ExtensibleString : Anope::string, ExtensibleItem -{ - ExtensibleString(const Anope::string &s) : Anope::string(s) { } -}; - IRCDVar myIrcd = { "InspIRCd 1.1", /* ircd name */ "+I", /* Modes used by pseudoclients */ @@ -333,7 +328,7 @@ class InspIRCdProto : public IRCDProto return; Anope::string svidbuf = stringify(u->timestamp); - u->Account()->Extend("authenticationtoken", new ExtensibleString(svidbuf)); + u->Account()->Extend("authenticationtoken", new ExtensibleItemClass(svidbuf)); } void SendLogout(User *u) anope_override @@ -388,7 +383,7 @@ class InspircdIRCdMessage : public IRCdMessage user->SetCloakedHost(params[3]); NickAlias *na = findnick(user->nick); - Anope::string *svidbuf = na ? na->nc->GetExt("authenticationtoken") : NULL; + Anope::string *svidbuf = na ? na->nc->GetExt *>("authenticationtoken") : NULL; if (na && svidbuf && *svidbuf == params[0]) { NickCore *nc = na->nc;