summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/db_plain.cpp187
-rw-r--r--src/modes.cpp29
-rw-r--r--src/modules/mysql/db_mysql.h46
-rw-r--r--src/modules/mysql/db_mysql_execute.cpp10
-rw-r--r--src/modules/mysql/db_mysql_read.cpp43
-rw-r--r--src/modules/mysql/db_mysql_write.cpp118
-rw-r--r--src/protocol/bahamut.c46
-rw-r--r--src/protocol/inspircd11.c74
-rw-r--r--src/protocol/inspircd12.cpp118
-rw-r--r--src/protocol/ratbox.c32
-rw-r--r--src/protocol/unreal32.c112
11 files changed, 401 insertions, 414 deletions
diff --git a/src/core/db_plain.cpp b/src/core/db_plain.cpp
index 0ae6c47f8..21164584f 100644
--- a/src/core/db_plain.cpp
+++ b/src/core/db_plain.cpp
@@ -39,7 +39,6 @@ static const char endl = '\n';
*/
static void ReadDatabase(Module *m = NULL)
{
- std::string buf;
EventReturn MOD_RESULT;
MDType Type = MD_NONE;
@@ -56,6 +55,7 @@ static void ReadDatabase(Module *m = NULL)
BotInfo *bi = NULL;
ChannelInfo *ci = NULL;
+ std::string buf;
while (std::getline(db, buf))
{
if (buf.empty())
@@ -87,7 +87,6 @@ static void ReadDatabase(Module *m = NULL)
if (MOD_RESULT == EVENT_STOP)
continue;
- std::string mdbuf;
if (!params.empty())
{
if (params[0] == "NC")
@@ -198,12 +197,6 @@ struct LangInfo
int LanguageId;
};
-struct ChannelModeInfo
-{
- std::string Name;
- ChannelModeName Value;
-};
-
struct ChannelFlagInfo
{
std::string Name;
@@ -245,42 +238,6 @@ LangInfo LangInfos[] = {
{"", -1}
};
-ChannelModeInfo ChannelModes[] = {
- {"CMODE_BLOCKCOLOR", CMODE_BLOCKCOLOR},
- {"CMODE_FLOOD", CMODE_FLOOD},
- {"CMODE_INVITE", CMODE_INVITE},
- {"CMODE_KEY", CMODE_KEY},
- {"CMODE_LIMIT", CMODE_LIMIT},
- {"CMODE_MODERATED", CMODE_MODERATED},
- {"CMODE_NOEXTERNAL", CMODE_NOEXTERNAL},
- {"CMODE_PRIVATE", CMODE_PRIVATE},
- {"CMODE_REGISTERED", CMODE_REGISTERED},
- {"CMODE_SECRET", CMODE_SECRET},
- {"CMODE_TOPIC", CMODE_TOPIC},
- {"CMODE_AUDITORIUM", CMODE_AUDITORIUM},
- {"CMODE_SSL", CMODE_SSL},
- {"CMODE_ADMINONLY", CMODE_ADMINONLY},
- {"CMODE_NOCTCP", CMODE_NOCTCP},
- {"CMODE_FILTER", CMODE_FILTER},
- {"CMODE_NOKNOCK", CMODE_NOKNOCK},
- {"CMODE_REDIRECT", CMODE_REDIRECT},
- {"CMODE_REGMODERATED", CMODE_REGMODERATED},
- {"CMODE_NONICK", CMODE_NONICK},
- {"CMODE_OPERONLY", CMODE_OPERONLY},
- {"CMODE_NONICK", CMODE_NONICK},
- {"CMODE_REGISTEREDONLY", CMODE_REGISTEREDONLY},
- {"CMODE_STRIPCOLOR", CMODE_STRIPCOLOR},
- {"CMODE_NONOTICE", CMODE_NONOTICE},
- {"CMODE_NOINVITE", CMODE_NOINVITE},
- {"CMODE_ALLINVITE", CMODE_ALLINVITE},
- {"CMODE_BLOCKCAPS", CMODE_BLOCKCAPS},
- {"CMODE_PERM", CMODE_PERM},
- {"CMODE_NICKFLOOD", CMODE_NICKFLOOD},
- {"CMODE_JOINFLOOD", CMODE_JOINFLOOD},
- {"CMODE_NOREJOIN", CMODE_NOREJOIN},
- {"", static_cast<ChannelModeName>(-1)}
-};
-
ChannelFlagInfo ChannelInfoFlags[] = {
{"KEEPTOPIC", CI_KEEPTOPIC},
{"SECUREOPS", CI_SECUREOPS},
@@ -740,8 +697,6 @@ class DBPlain : public Module
EventReturn OnDatabaseReadMetadata(ChannelInfo *ci, const std::string &key, const std::vector<std::string> &params)
{
- int i;
-
if (key == "FOUNDER")
{
ci->founder = findcore(params[0].c_str());
@@ -757,14 +712,14 @@ class DBPlain : public Module
else if (key == "LEVELS")
{
for (unsigned j = 0; j < params.size(); ++j, ++j)
- for (i = 0; ChannelLevels[i].Level != -1; ++i)
+ for (int i = 0; ChannelLevels[i].Level != -1; ++i)
if (ChannelLevels[i].Name == params[j])
ci->levels[ChannelLevels[i].Level] = atoi(params[j + 1].c_str());
}
else if (key == "FLAGS")
{
for (unsigned j = 0; j < params.size(); ++j)
- for (i = 0; ChannelInfoFlags[i].Flag != -1; ++i)
+ for (int i = 0; ChannelInfoFlags[i].Flag != -1; ++i)
if (ChannelInfoFlags[i].Name == params[j])
ci->SetFlag(ChannelInfoFlags[i].Flag);
}
@@ -830,16 +785,38 @@ class DBPlain : public Module
bool Set = key == "MLOCK_ON" ? true : false;
for (unsigned j = 0; j < params.size(); ++j)
- for (i = 0; ChannelModes[i].Value != -1; ++i)
- if (ChannelModes[i].Name == params[j])
- ci->SetMLock(ChannelModes[i].Value, Set);
+ {
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
+ {
+ if ((*it)->Class == MC_CHANNEL)
+ {
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (cm->NameAsString == params[j])
+ {
+ ci->SetMLock(cm->Name, Set);
+ }
+ }
+ }
+ }
}
else if (key == "MLP")
{
for (unsigned j = 0; j < params.size(); ++j, ++j)
- for (i = 0; ChannelModes[i].Value != -1; ++i)
- if (ChannelModes[i].Name == params[j])
- ci->SetMLock(ChannelModes[i].Value, true, params[j + 1]);
+ {
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
+ {
+ if ((*it)->Class == MC_CHANNEL)
+ {
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (cm->NameAsString == params[j])
+ {
+ ci->SetMLock(cm->Name, true, params[j + 1]);
+ }
+ }
+ }
+ }
}
else if (key == "MI")
{
@@ -868,7 +845,7 @@ class DBPlain : public Module
else if (params[0] == "FLAGS")
{
for (unsigned j = 1; j < params.size(); ++j)
- for (i = 0; BotFlags[i].Flag != -1; ++i)
+ for (int i = 0; BotFlags[i].Flag != -1; ++i)
if (BotFlags[i].Name == params[j])
ci->botflags.SetFlag(BotFlags[i].Flag);
}
@@ -936,10 +913,7 @@ class DBPlain : public Module
db << "VER 1" << endl;
- int i, j;
- unsigned k;
-
- for (i = 0; i < 1024; ++i)
+ for (int i = 0; i < 1024; ++i)
{
for (NickRequest *nr = nrlists[i]; nr; nr = nr->next)
{
@@ -947,10 +921,9 @@ class DBPlain : public Module
}
}
- NickCore *nc;
- for (i = 0; i < 1024; ++i)
+ for (int i = 0; i < 1024; ++i)
{
- for (nc = nclists[i]; nc; nc = nc->next)
+ for (NickCore *nc = nclists[i]; nc; nc = nc->next)
{
if (nc->HasFlag(NI_FORBIDDEN))
{
@@ -963,7 +936,7 @@ class DBPlain : public Module
{
db << "NC " << nc->display << " " << nc->pass << " ";
}
- for (j = 0; LangInfos[j].LanguageId != -1; ++j)
+ for (int j = 0; LangInfos[j].LanguageId != -1; ++j)
if (nc->language == LangInfos[j].LanguageId)
db << LangInfos[j].Name;
db << " " << nc->memos.memomax << " " << nc->channelcount << endl;
@@ -984,7 +957,7 @@ class DBPlain : public Module
if (nc->FlagCount())
{
db << "MD FLAGS";
- for (j = 0; NickCoreFlags[j].Flag != -1; ++j)
+ for (int j = 0; NickCoreFlags[j].Flag != -1; ++j)
if (nc->HasFlag(NickCoreFlags[j].Flag))
db << " " << NickCoreFlags[j].Name;
db << endl;
@@ -992,7 +965,7 @@ class DBPlain : public Module
if (!nc->memos.memos.empty())
{
MemoInfo *mi = &nc->memos;
- for (k = 0; k < mi->memos.size(); ++k)
+ for (unsigned k = 0; k < mi->memos.size(); ++k)
{
db << "MD MI " << mi->memos[k]->number << " " << mi->memos[k]->time << " " << mi->memos[k]->sender;
if (mi->memos[k]->HasFlag(MF_UNREAD))
@@ -1010,10 +983,9 @@ class DBPlain : public Module
}
}
- NickAlias *na;
- for (i = 0; i < 1024; ++i)
+ for (int i = 0; i < 1024; ++i)
{
- for (na = nalists[i]; na; na = na->next)
+ for (NickAlias *na = nalists[i]; na; na = na->next)
{
db << "NA " << na->nc->display << " " << na->nick << " " << na->time_registered << " " << na->last_seen << endl;
if (na->last_usermask)
@@ -1035,10 +1007,9 @@ class DBPlain : public Module
}
}
- BotInfo *bi;
- for (i = 0; i < 256; ++i)
+ for (int i = 0; i < 256; ++i)
{
- for (bi = botlists[i]; bi; bi = bi->next)
+ for (BotInfo *bi = botlists[i]; bi; bi = bi->next)
{
db << "BI " << bi->nick << " " << bi->user << " " << bi->host << " " << bi->created << " " << bi->chancount << " :" << bi->real << endl;
if (bi->FlagCount())
@@ -1067,10 +1038,9 @@ class DBPlain : public Module
}
}
- ChannelInfo *ci;
- for (i = 0; i < 256; ++i)
+ for (int i = 0; i < 256; ++i)
{
- for (ci = chanlists[i]; ci; ci = ci->next)
+ for (ChannelInfo *ci = chanlists[i]; ci; ci = ci->next)
{
db << "CH " << ci->name << " " << ci->time_registered << " " << ci->last_used;
db << " " << ci->bantype << " " << ci->memos.memomax << endl;
@@ -1087,24 +1057,24 @@ class DBPlain : public Module
if (ci->last_topic)
db << "MD TOPIC " << ci->last_topic_setter << " " << ci->last_topic_time << " :" << ci->last_topic << endl;
db << "MD LEVELS";
- for (j = 0; ChannelLevels[j].Level != -1; ++j)
+ for (int j = 0; ChannelLevels[j].Level != -1; ++j)
db << " " << ChannelLevels[j].Name << " " << ci->levels[ChannelLevels[j].Level];
db << endl;
if (ci->FlagCount())
{
db << "MD FLAGS";
- for (j = 0; ChannelInfoFlags[j].Flag != -1; ++j)
+ for (int j = 0; ChannelInfoFlags[j].Flag != -1; ++j)
if (ci->HasFlag(ChannelInfoFlags[j].Flag))
db << " " << ChannelInfoFlags[j].Name;
db << endl;
if (ci->HasFlag(CI_FORBIDDEN))
db << "MD FORBID " << ci->forbidby << " :" << ci->forbidreason << endl;
}
- for (k = 0; k < ci->GetAccessCount(); ++k)
+ for (unsigned k = 0; k < ci->GetAccessCount(); ++k)
if (ci->GetAccess(k)->in_use)
db << "MD ACCESS " << ci->GetAccess(k)->nc->display << " " << ci->GetAccess(k)->level << " "
<< ci->GetAccess(k)->last_seen << " " << ci->GetAccess(k)->creator << endl;
- for (k = 0; k < ci->GetAkickCount(); ++k)
+ for (unsigned k = 0; k < ci->GetAkickCount(); ++k)
{
db << "MD AKICK "
<< (ci->GetAkick(k)->HasFlag(AK_STUCK) ? "STUCK " : "UNSTUCK ")
@@ -1119,28 +1089,55 @@ class DBPlain : public Module
if (ci->GetMLockCount(true))
{
db << "MD MLOCK_ON";
- for (j = 0; ChannelModes[j].Value != -1; ++j)
- if (ci->HasMLock(ChannelModes[j].Value, true))
- db << " " << ChannelModes[j].Name;
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
+ {
+ if ((*it)->Class == MC_CHANNEL)
+ {
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (ci->HasMLock(cm->Name, true))
+ {
+ db << " " << cm->NameAsString;
+ }
+ }
+ }
db << endl;
}
if (ci->GetMLockCount(false))
{
db << "MD MLOCK_OFF";
- for (j = 0; ChannelModes[j].Value != -1; ++j)
- if (ci->HasMLock(ChannelModes[j].Value, false))
- db << " " << ChannelModes[j].Name;
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
+ {
+ if ((*it)->Class == MC_CHANNEL)
+ {
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (ci->HasMLock(cm->Name, false))
+ {
+ db << " " << cm->NameAsString;
+ }
+ }
+ }
db << endl;
}
std::string Param;
- for (j = 0; ChannelModes[j].Value != -1; ++j)
- if (ci->GetParam(ChannelModes[j].Value, Param))
- db << "MD MLP " << ChannelModes[j].Name << " " << Param << endl;
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
+ {
+ if ((*it)->Class == MC_CHANNEL)
+ {
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (ci->GetParam(cm->Name, Param))
+ {
+ db << "MD MLP " << cm->NameAsString << " " << Param << endl;
+ }
+ }
+ }
if (!ci->memos.memos.empty())
{
MemoInfo *memos = &ci->memos;
- for (k = 0; k < memos->memos.size(); ++k)
+ for (unsigned k = 0; k < memos->memos.size(); ++k)
{
db << "MD MI " << memos->memos[k]->number << " " << memos->memos[k]->time << " " << memos->memos[k]->sender;
if (memos->memos[k]->HasFlag(MF_UNREAD))
@@ -1159,7 +1156,7 @@ class DBPlain : public Module
if (ci->botflags.FlagCount())
{
db << "MD BI FLAGS";
- for (j = 0; BotFlags[j].Flag != -1; ++j)
+ for (int j = 0; BotFlags[j].Flag != -1; ++j)
if (ci->botflags.HasFlag(BotFlags[j].Flag))
db << " " << BotFlags[j].Name;
db << endl;
@@ -1175,7 +1172,7 @@ class DBPlain : public Module
db << "MD BI FLOODSECS " << ci->floodsecs << endl;
if (ci->repeattimes)
db << "MD BI REPEATTIMES " << ci->repeattimes << endl;
- for (k = 0; k < ci->GetBadWordCount(); ++k)
+ for (unsigned k = 0; k < ci->GetBadWordCount(); ++k)
db << "MD BI BADWORD "
<< (ci->GetBadWord(k)->type == BW_ANY ? "ANY " : "")
<< (ci->GetBadWord(k)->type == BW_SINGLE ? "SINGLE " : "")
@@ -1187,7 +1184,7 @@ class DBPlain : public Module
}
}
- for (i = 0; i < akills.count; ++i)
+ for (int i = 0; i < akills.count; ++i)
{
Akill *ak = static_cast<Akill *>(akills.list[i]);
db << "OS AKILL " << ak->user << " " << ak->host << " " << ak->by << " " << ak->seton << " " << ak->expires << " :" << ak->reason << endl;
@@ -1195,23 +1192,23 @@ class DBPlain : public Module
db << "OS STATS " << maxusercnt << " " << maxusertime << endl;
SXLine *sx;
- for (i = 0; i < sglines.count; ++i)
+ for (int i = 0; i < sglines.count; ++i)
{
sx = static_cast<SXLine *>(sglines.list[i]);
db << "OS SGLINE " << sx->mask << " " << sx->by << " " << sx->seton << " " << sx->expires << " :" << sx->reason << endl;
}
- for (i = 0; i < sqlines.count; ++i)
+ for (int i = 0; i < sqlines.count; ++i)
{
sx = static_cast<SXLine *>(sqlines.list[i]);
db << "OS SQLINE " << sx->mask << " " << sx->by << " " << sx->seton << " " << sx->expires << " :" << sx->reason << endl;
}
- for (i = 0; i < szlines.count; ++i)
+ for (int i = 0; i < szlines.count; ++i)
{
sx = static_cast<SXLine *>(szlines.list[i]);
db << "OS SZLINE " << sx->mask << " " << sx->by << " " << sx->seton << " " << sx->expires << " :" << sx->reason << endl;
}
- for (i = 0; i < nexceptions; i++)
+ for (int i = 0; i < nexceptions; i++)
{
db << "OS EXCEPTION " << exceptions[i].mask << " " << exceptions[i].limit << " " << exceptions[i].who << " " << exceptions[i].time << " " << exceptions[i].expires << " " << exceptions[i].reason << endl;
}
diff --git a/src/modes.cpp b/src/modes.cpp
index 1685eea86..1e725cf7f 100644
--- a/src/modes.cpp
+++ b/src/modes.cpp
@@ -14,6 +14,9 @@
/* List of pairs of user/channels and their stacker info */
std::list<std::pair<void *, StackerInfo *> > ModeManager::StackerObjects;
+/* List of all modes Anope knows about */
+std::list<Mode *> ModeManager::Modes;
+
/* User modes */
std::map<char, UserMode *> ModeManager::UserModesByChar;
std::map<UserModeName, UserMode *> ModeManager::UserModesByName;
@@ -21,11 +24,8 @@ std::map<UserModeName, UserMode *> ModeManager::UserModesByName;
std::map<char, ChannelMode *> ModeManager::ChannelModesByChar;
std::map<ChannelModeName, ChannelMode *> ModeManager::ChannelModesByName;
/* Although there are two different maps for UserModes and ChannelModes
- * the pointers in each are the same. This is used to increase
- * efficiency.
+ * the pointers in each are the same. This is used to increase efficiency.
*/
-/* List of all modes Anope knows about */
-std::list<Mode *> ModeManager::Modes;
/* Number of generic modes we support */
unsigned GenericChannelModes = 0, GenericUserModes = 0;
@@ -99,10 +99,11 @@ void SetDefaultMLock()
/** Default constructor
* @param mClass The type of mode this is
+ * @param mNameAsString The mode name as a string
* @param modeChar The mode char
* @param modeType The mode type
*/
-Mode::Mode(ModeClass mClass, char modeChar, ModeType modeType) : Class(mClass), ModeChar(modeChar), Type(modeType)
+Mode::Mode(ModeClass mClass, const std::string &mNameAsString, char modeChar, ModeType modeType) : Class(mClass), NameAsString(mNameAsString), ModeChar(modeChar), Type(modeType)
{
}
@@ -114,9 +115,10 @@ Mode::~Mode()
/** Default constructor
* @param mName The mode name
+ * @param mNameAsString The mode name as a string
* @param modeChar The mode char
*/
-UserMode::UserMode(UserModeName mName, char modeChar) : Mode(MC_USER, modeChar, MODE_REGULAR), Name(mName)
+UserMode::UserMode(UserModeName mName, const std::string &mNameAsString, char modeChar) : Mode(MC_USER, mNameAsString, modeChar, MODE_REGULAR), Name(mName)
{
}
@@ -128,18 +130,20 @@ UserMode::~UserMode()
/** Default constructor
* @param mName The mode name
+ * @param mNameAsString The mode name as a string
* @param modeChar The mode char
*/
-UserModeParam::UserModeParam(UserModeName mName, char modeChar) : UserMode(mName, modeChar)
+UserModeParam::UserModeParam(UserModeName mName, const std::string &mNameAsString, char modeChar) : UserMode(mName, mNameAsString, modeChar)
{
this->Type = MODE_PARAM;
}
/** Default constrcutor
* @param mName The mode name
+ * @param mNameAsString The mode name as a string
* @param modeChar The mode char
*/
-ChannelMode::ChannelMode(ChannelModeName mName, char modeChar) : Mode(MC_CHANNEL, modeChar, MODE_REGULAR), Name(mName)
+ChannelMode::ChannelMode(ChannelModeName mName, const std::string &mNameAsString, char modeChar) : Mode(MC_CHANNEL, mNameAsString, modeChar, MODE_REGULAR), Name(mName)
{
}
@@ -151,9 +155,10 @@ ChannelMode::~ChannelMode()
/** Default constructor
* @param mName The mode name
+ * @param mNameAsString The mode name as a string
* @param modeChar The mode char
*/
-ChannelModeList::ChannelModeList(ChannelModeName mName, char modeChar) : ChannelMode(mName, modeChar)
+ChannelModeList::ChannelModeList(ChannelModeName mName, const std::string &mNameAsString, char modeChar) : ChannelMode(mName, mNameAsString, modeChar)
{
this->Type = MODE_LIST;
}
@@ -166,10 +171,11 @@ ChannelModeList::~ChannelModeList()
/** Default constructor
* @param mName The mode name
+ * @param mNameAsString The mode name as a string
* @param modeChar The mode char
* @param MinusArg true if the mode sends no arg when unsetting
*/
-ChannelModeParam::ChannelModeParam(ChannelModeName mName, char modeChar, bool MinusArg) : ChannelMode(mName, modeChar), MinusNoArg(MinusArg)
+ChannelModeParam::ChannelModeParam(ChannelModeName mName, const std::string &mNameAsString, char modeChar, bool MinusArg) : ChannelMode(mName, mNameAsString, modeChar), MinusNoArg(MinusArg)
{
this->Type = MODE_PARAM;
}
@@ -182,10 +188,11 @@ ChannelModeParam::~ChannelModeParam()
/** Default constructor
* @param mName The mode name
+ * @param mNameAsString The mode name as a string
* @param modeChar The mode char
* @param mSymbol The symbol for the mode, eg @ % +
*/
-ChannelModeStatus::ChannelModeStatus(ChannelModeName mName, char modeChar, char mSymbol) : ChannelMode(mName, modeChar), Symbol(mSymbol)
+ChannelModeStatus::ChannelModeStatus(ChannelModeName mName, const std::string &mNameAsString, char modeChar, char mSymbol) : ChannelMode(mName, mNameAsString, modeChar), Symbol(mSymbol)
{
this->Type = MODE_STATUS;
}
diff --git a/src/modules/mysql/db_mysql.h b/src/modules/mysql/db_mysql.h
index b62f52524..12956262a 100644
--- a/src/modules/mysql/db_mysql.h
+++ b/src/modules/mysql/db_mysql.h
@@ -39,48 +39,6 @@ NickCoreFlagInfo NickCoreFlags[] = {
{"", static_cast<NickCoreFlag>(-1)}
};
-struct ChannelModeInfo
-{
- std::string Name;
- ChannelModeName Mode;
-};
-
-ChannelModeInfo ChannelModes[] = {
- {"CMODE_BLOCKCOLOR", CMODE_BLOCKCOLOR},
- {"CMODE_FLOOD", CMODE_FLOOD},
- {"CMODE_INVITE", CMODE_INVITE},
- {"CMODE_KEY", CMODE_KEY},
- {"CMODE_LIMIT", CMODE_LIMIT},
- {"CMODE_MODERATED", CMODE_MODERATED},
- {"CMODE_NOEXTERNAL", CMODE_NOEXTERNAL},
- {"CMODE_PRIVATE", CMODE_PRIVATE},
- {"CMODE_REGISTERED", CMODE_REGISTERED},
- {"CMODE_SECRET", CMODE_SECRET},
- {"CMODE_TOPIC", CMODE_TOPIC},
- {"CMODE_AUDITORIUM", CMODE_AUDITORIUM},
- {"CMODE_SSL", CMODE_SSL},
- {"CMODE_ADMINONLY", CMODE_ADMINONLY},
- {"CMODE_NOCTCP", CMODE_NOCTCP},
- {"CMODE_FILTER", CMODE_FILTER},
- {"CMODE_NOKNOCK", CMODE_NOKNOCK},
- {"CMODE_REDIRECT", CMODE_REDIRECT},
- {"CMODE_REGMODERATED", CMODE_REGMODERATED},
- {"CMODE_NONICK", CMODE_NONICK},
- {"CMODE_OPERONLY", CMODE_OPERONLY},
- {"CMODE_NONICK", CMODE_NONICK},
- {"CMODE_REGISTEREDONLY", CMODE_REGISTEREDONLY},
- {"CMODE_STRIPCOLOR", CMODE_STRIPCOLOR},
- {"CMODE_NONOTICE", CMODE_NONOTICE},
- {"CMODE_NOINVITE", CMODE_NOINVITE},
- {"CMODE_ALLINVITE", CMODE_ALLINVITE},
- {"CMODE_BLOCKCAPS", CMODE_BLOCKCAPS},
- {"CMODE_PERM", CMODE_PERM},
- {"CMODE_NICKFLOOD", CMODE_NICKFLOOD},
- {"CMODE_JOINFLOOD", CMODE_JOINFLOOD},
- {"CMODE_NOREJOIN", CMODE_NOREJOIN},
- {"", static_cast<ChannelModeName>(-1)}
-};
-
struct BotFlagInfo
{
std::string Name;
@@ -169,7 +127,7 @@ MemoFlagInfo MemoFlags[] = {
inline std::string SQLAssign(const mysqlpp::String& s) { return s.c_str(); }
class DBMySQL;
-static DBMySQL *Me;
+static DBMySQL *me;
bool ExecuteQuery(mysqlpp::Query& query)
{
@@ -226,7 +184,7 @@ class DBMySQL : public Module
DBMySQL(const std::string &modname, const std::string &creator) : Module(modname, creator)
{
- Me = this;
+ me = this;
this->SetAuthor("Anope");
this->SetVersion(VERSION_STRING);
diff --git a/src/modules/mysql/db_mysql_execute.cpp b/src/modules/mysql/db_mysql_execute.cpp
index 0c7c4de65..3933d54d1 100644
--- a/src/modules/mysql/db_mysql_execute.cpp
+++ b/src/modules/mysql/db_mysql_execute.cpp
@@ -37,7 +37,7 @@ class FakeUser : public User
this->realname = sstrdup("Fake SQL User");
this->hostip = sstrdup("255.255.255.255");
this->vhost = NULL;
- this->server = serv_uplink; // XXX Need a good way to set this to ourself
+ this->server = Me;
if (this->prev)
this->prev->next = this->next;
@@ -50,8 +50,6 @@ class FakeUser : public User
~FakeUser()
{
- this->server = serv_uplink; // XXX Need a good way to set this to ourself
-
User **list = &userlist[HASH(this->nick.c_str())];
this->next = *list;
if (*list)
@@ -73,16 +71,16 @@ class FakeUser : public User
class SQLTimer : public Timer
{
public:
- SQLTimer() : Timer(Me->Delay, time(NULL), true)
+ SQLTimer() : Timer(me->Delay, time(NULL), true)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "TRUNCATE TABLE `anope_commands`";
ExecuteQuery(query);
}
void Tick(time_t)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
mysqlpp::StoreQueryResult qres;
query << "SELECT * FROM `anope_commands`";
diff --git a/src/modules/mysql/db_mysql_read.cpp b/src/modules/mysql/db_mysql_read.cpp
index 5c498b008..728e4b882 100644
--- a/src/modules/mysql/db_mysql_read.cpp
+++ b/src/modules/mysql/db_mysql_read.cpp
@@ -27,7 +27,7 @@ static std::vector<std::string> MakeVector(std::string buf)
static void LoadDatabase()
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
mysqlpp::StoreQueryResult qres;
query << "SELECT * FROM `anope_ns_core`";
@@ -270,12 +270,17 @@ static void LoadDatabase()
spacesepstream sep(SQLAssign(qres[i]["mlock_on"]));
while (sep.GetToken(buf))
{
- for (int j = 0; ChannelModes[j].Mode != -1; ++j)
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
{
- if (buf == ChannelModes[j].Name)
+ if ((*it)->Class == MC_CHANNEL)
{
- ci->SetMLock(ChannelModes[j].Mode, true);
- break;
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (buf == cm->NameAsString)
+ {
+ ci->SetMLock(cm->Name, true);
+ break;
+ }
}
}
}
@@ -286,12 +291,17 @@ static void LoadDatabase()
spacesepstream sep(SQLAssign(qres[i]["mlock_off"]));
while (sep.GetToken(buf))
{
- for (int j = 0; ChannelModes[j].Mode != -1; ++j)
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
{
- if (buf == ChannelModes[j].Name)
+ if ((*it)->Class == MC_CHANNEL)
{
- ci->SetMLock(ChannelModes[j].Mode, false);
- break;
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (buf == cm->NameAsString)
+ {
+ ci->SetMLock(cm->Name, false);
+ break;
+ }
}
}
}
@@ -302,13 +312,18 @@ static void LoadDatabase()
spacesepstream sep(SQLAssign(qres[i]["mlock_params"]));
while (sep.GetToken(buf))
{
- for (int j = 0; ChannelModes[j].Mode != -1; ++j)
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
{
- if (buf == ChannelModes[j].Name)
+ if ((*it)->Class == MC_CHANNEL)
{
- sep.GetToken(buf);
- ci->SetMLock(ChannelModes[j].Mode, true, buf);
- break;
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (buf == cm->NameAsString)
+ {
+ sep.GetToken(buf);
+ ci->SetMLock(cm->Name, true, buf);
+ break;
+ }
}
}
}
diff --git a/src/modules/mysql/db_mysql_write.cpp b/src/modules/mysql/db_mysql_write.cpp
index b7b94a3a3..5f3218381 100644
--- a/src/modules/mysql/db_mysql_write.cpp
+++ b/src/modules/mysql/db_mysql_write.cpp
@@ -2,8 +2,6 @@
#include "db_mysql.h"
-static Module *me;
-
static std::string BuildFlagsList(ChannelInfo *ci)
{
std::string ret;
@@ -80,11 +78,16 @@ static std::string MakeMLock(ChannelInfo *ci, bool status)
{
std::string ret;
- for (int i = 0; ChannelModes[i].Mode != -1; ++i)
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
{
- if (ci->HasMLock(ChannelModes[i].Mode, status))
+ if ((*it)->Class == MC_CHANNEL)
{
- ret += " " + ChannelModes[i].Name;
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ if (ci->HasMLock(cm->Name, status))
+ {
+ ret += " " + cm->NameAsString;
+ }
}
}
@@ -108,12 +111,17 @@ static std::string GetMLockParams(ChannelInfo *ci)
{
std::string ret;
- for (int i = 0; ChannelModes[i].Mode != -1; ++i)
+ for (std::list<Mode *>::iterator it = ModeManager::Modes.begin(); it != ModeManager::Modes.end(); ++it)
{
- std::string param;
- if (ci->GetParam(ChannelModes[i].Mode, param))
+ if ((*it)->Class == MC_CHANNEL)
{
- ret += " " + ChannelModes[i].Name + " " + param;
+ ChannelMode *cm = dynamic_cast<ChannelMode *>(*it);
+
+ std::string param;
+ if (ci->GetParam(cm->Name, param))
+ {
+ ret += " " + cm->NameAsString + " " + param;
+ }
}
}
@@ -166,14 +174,14 @@ static BotInfo *CurBot = NULL;
void Write(const std::string &data)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_extra` (data) VALUES(" << mysqlpp::quote << data << ")";
ExecuteQuery(query);
}
void WriteMetadata(const std::string &key, const std::string &data)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_metadata` (name, value) VALUES(" << mysqlpp::quote << key << ", " << mysqlpp::quote << data << ")";
ExecuteQuery(query);
}
@@ -183,7 +191,7 @@ void WriteNickMetadata(const std::string &key, const std::string &data)
if (!CurNick)
throw CoreException("WriteNickMetadata without a nick to write");
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_ns_alias_metadata` (nick, name, value) VALUES(" << mysqlpp::quote << CurNick->nick << ", " << mysqlpp::quote << key << ", " << mysqlpp::quote << data << ")";
ExecuteQuery(query);
}
@@ -193,7 +201,7 @@ void WriteCoreMetadata(const std::string &key, const std::string &data)
if (!CurCore)
throw CoreException("WritCoreMetadata without a core to write");
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_ns_core_metadata` (nick, name, value) VALUES(" << mysqlpp::quote << CurCore->display << ", " << mysqlpp::quote << key << ", " << mysqlpp::quote << data << ")";
ExecuteQuery(query);
}
@@ -203,7 +211,7 @@ void WriteChannelMetadata(const std::string &key, const std::string &data)
if (!CurChannel)
throw CoreException("WriteChannelMetadata without a channel to write");
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_cs_info_metadata` (channel, name, value) VALUES(" << mysqlpp::quote << CurChannel->name << ", " << mysqlpp::quote << key << ", " << mysqlpp::quote << data << ")";
ExecuteQuery(query);
}
@@ -213,14 +221,14 @@ void WriteBotMetadata(const std::string &key, const std::string &data)
if (!CurBot)
throw CoreException("WriteBotMetadata without a bot to write");
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_bs_info_metadata` (botname, name, value) VALUES(" << mysqlpp::quote << CurBot->nick << ", " << mysqlpp::quote << key << ", " << mysqlpp::quote << data << ")";
ExecuteQuery(query);
}
static void SaveDatabases()
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "TRUNCATE TABLE `anope_ns_core`";
ExecuteQuery(query);
@@ -382,7 +390,7 @@ static void SaveDatabases()
class CommandSyncSQL : public Command
{
public:
- CommandSyncSQL(const std::string &cname) : Command(cname, 0, 0, "operserv/sqlsync")
+ CommandSyncSQL(const ci::string &cname) : Command(cname, 0, 0, "operserv/sqlsync")
{
}
@@ -454,7 +462,7 @@ class DBMySQLWrite : public DBMySQL
EventReturn OnSaveDatabase()
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "TRUNCATE TABLE `anope_os_core`";
ExecuteQuery(query);
@@ -511,7 +519,7 @@ class DBMySQLWrite : public DBMySQL
void OnPostCommand(User *u, const std::string &service, const ci::string &command, const std::vector<ci::string> &params)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
if (service == Config.s_NickServ)
{
@@ -685,28 +693,28 @@ class DBMySQLWrite : public DBMySQL
void OnNickAddAccess(NickCore *nc, const std::string &entry)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_ns_access` (display, access) VALUES(" << mysqlpp::quote << nc->display << ", " << mysqlpp::quote << entry << ")";
ExecuteQuery(query);
}
void OnNickEraseAccess(NickCore *nc, const std::string &entry)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_ns_access` WHERE `display` = " << mysqlpp::quote << nc->display << " AND `access` = " << mysqlpp::quote << entry;
ExecuteQuery(query);
}
void OnNickClearAccess(NickCore *nc)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_ns_access` WHERE `display` = " << mysqlpp::quote << nc->display;
ExecuteQuery(query);
}
void OnDelCore(NickCore *nc)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_cs_access` WHERE `display` = " << mysqlpp::quote << nc->display;
ExecuteQuery(query);
query << "DELETE FROM `anope_cs_akick` WHERE `mask` = " << mysqlpp::quote << nc->display;
@@ -724,7 +732,7 @@ class DBMySQLWrite : public DBMySQL
void OnNickForbidden(NickAlias *na)
{
std::string flags = BuildFlagsList(na);
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "UPDATE `anope_ns_alias` SET `flags` = '" << (!flags.empty() ? flags : "") << "' WHERE `nick` = " << mysqlpp::quote << na->nick;
ExecuteQuery(query);
}
@@ -736,7 +744,7 @@ class DBMySQLWrite : public DBMySQL
void OnMakeNickRequest(NickRequest *nr)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_ns_request` (nick, passcode, password, email, requested) VALUES(" << mysqlpp::quote << nr->nick << ", ";
query << mysqlpp::quote << nr->passcode << ", " << mysqlpp::quote << nr->password << ", " << mysqlpp::quote << nr->email << ", '";
query << nr->requested << "')";
@@ -745,7 +753,7 @@ class DBMySQLWrite : public DBMySQL
void OnDelNickRequest(NickRequest *nr)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_ns_request` WHERE `nick` = " << mysqlpp::quote << nr->nick;
ExecuteQuery(query);
}
@@ -753,7 +761,7 @@ class DBMySQLWrite : public DBMySQL
void OnNickRegister(NickAlias *na)
{
std::string flags = BuildFlagsList(na);
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_ns_alias` (nick, last_quit, last_realname, last_usermask, time_registered, last_seen, flags, display) VALUES(";
query << mysqlpp::quote << na->nick << ", " << mysqlpp::quote << (na->last_quit ? na->last_quit : "") << ", ";
query << mysqlpp::quote << (na->last_realname ? na->last_realname : "") << ", ";
@@ -776,7 +784,7 @@ class DBMySQLWrite : public DBMySQL
void OnChangeCoreDisplay(NickCore *nc, const std::string &newdisplay)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "UPDATE `anope_ns_core` SET `display` = " << mysqlpp::quote << newdisplay << " WHERE `display` = " << mysqlpp::quote << nc->display;
ExecuteQuery(query);
query << "UPDATE `anope_ns_alias` SET `display` = " << mysqlpp::quote << newdisplay << " WHERE `display` = " << mysqlpp::quote << nc->display;
@@ -795,35 +803,35 @@ class DBMySQLWrite : public DBMySQL
void OnNickSuspend(NickAlias *na)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "UPDATE `anope_ns_core` SET `flags` = '" << BuildFlagsList(na->nc) << "' WHERE `display` = " << mysqlpp::quote << na->nc->display;
ExecuteQuery(query);
}
void OnAccessAdd(ChannelInfo *ci, User *u, NickAlias *na, int level)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_cs_access` (level, display, channel, last_seen, creator) VALUES (" << level << ", " << mysqlpp::quote << na->nc->display << ", " << mysqlpp::quote << ci->name << ", " << time(NULL) << ", " << mysqlpp::quote << u->nick << ")";
ExecuteQuery(query);
}
void OnAccessDel(ChannelInfo *ci, User *u, NickCore *nc)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_cs_access` WHERE `display` = " << mysqlpp::quote << nc->display << " AND `channel` = " << mysqlpp::quote << ci->name;
ExecuteQuery(query);
}
void OnAccessChange(ChannelInfo *ci, User *u, NickAlias *na, int level)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_cs_access` (level, display, channel, last_seen, creator) VALUES (" << level << ", " << mysqlpp::quote << na->nc->display << ", " << mysqlpp::quote << ci->name << ", " << time(NULL) << ", " << mysqlpp::quote << u->nick << ") ON DUPLICATE KEY UPDATE level=VALUES(level), display=VALUES(display), channel=VALUES(channel), last_seen=VALUES(last_seen), creator=VALUES(creator)";
ExecuteQuery(query);
}
void OnAccessClear(ChannelInfo *ci, User *u)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_cs_access` WHERE `channel` = " << mysqlpp::quote << ci->name;
ExecuteQuery(query);
}
@@ -849,7 +857,7 @@ class DBMySQLWrite : public DBMySQL
void OnChanForbidden(ChannelInfo *ci)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_cs_info` (name, time_registered, last_used, flags, forbidby, forbidreason) VALUES (";
query << mysqlpp::quote << ci->name << ", " << ci->time_registered << ", " << ci->last_used << ", '" << BuildFlagsList(ci) << "', " << mysqlpp::quote << ci->forbidby << ", " << mysqlpp::quote << ci->forbidreason << ")";
ExecuteQuery(query);
@@ -857,7 +865,7 @@ class DBMySQLWrite : public DBMySQL
void OnDelChan(ChannelInfo *ci)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_cs_access` WHERE `channel` = " << mysqlpp::quote << ci->name;
ExecuteQuery(query);
query << "DELETE FROM `anope_cs_akick` WHERE `channel` = " << mysqlpp::quote << ci->name;
@@ -874,7 +882,7 @@ class DBMySQLWrite : public DBMySQL
void OnChanRegistered(ChannelInfo *ci)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
std::string flags = BuildFlagsList(ci), mlockon = GetMLockOn(ci), mlockoff = GetMLockOff(ci), mlockparams = GetMLockParams(ci);
query << "INSERT DELAYED INTO `anope_cs_info` (name, founder, successor, descr, url, email, time_registered, last_used, last_topic, last_topic_setter, last_topic_time, flags, forbidby, forbidreason, bantype, mlock_on, mlock_off, mlock_params, entry_message, memomax, botnick, botflags, capsmin, capspercent, floodlines, floodsecs, repeattimes) VALUES(";
query << mysqlpp::quote << ci->name << ", " << mysqlpp::quote << (ci->founder ? ci->founder->display : "") << ", ";
@@ -895,7 +903,7 @@ class DBMySQLWrite : public DBMySQL
void OnChanSuspend(ChannelInfo *ci)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "UPDATE `anope_cs_info` SET `flags` = '" << BuildFlagsList(ci) << "' WHERE `name` = " << mysqlpp::quote << ci->name;
ExecuteQuery(query);
query << "UPDATE `anope_cs_info` SET `forbidby` = " << mysqlpp::quote << ci->forbidby << " WHERE `name` = " << mysqlpp::quote << ci->name;
@@ -906,7 +914,7 @@ class DBMySQLWrite : public DBMySQL
void OnAkickAdd(ChannelInfo *ci, AutoKick *ak)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_cs_akick` (channel, flags, mask, reason, creator, created, last_used) VALUES(";
query << mysqlpp::quote << ci->name << ", '";
if (ak->HasFlag(AK_ISNICK))
@@ -921,14 +929,14 @@ class DBMySQLWrite : public DBMySQL
void OnAkickDel(ChannelInfo *ci, AutoKick *ak)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_cs_akick` WHERE `channel`= " << mysqlpp::quote << ci->name << " AND `mask` = " << mysqlpp::quote << (ak->HasFlag(AK_ISNICK) ? ak->nc->display : ak->mask);
ExecuteQuery(query);
}
void OnBotCreate(BotInfo *bi)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_bs_core` (nick, user, host, rname, flags, created, chancount) VALUES(";
query << mysqlpp::quote << bi->nick << ", " << mysqlpp::quote << bi->user << ", " << mysqlpp::quote << bi->host << ", ";
query << mysqlpp::quote << bi->real << ", '" << GetBotServFlags(bi) << "', " << bi->created << ", " << bi->chancount << ") ";
@@ -943,7 +951,7 @@ class DBMySQLWrite : public DBMySQL
void OnBotDelete(BotInfo *bi)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_bs_core` WHERE `nick` = " << mysqlpp::quote << bi->nick;
ExecuteQuery(query);
query << "UPDATE `anope_cs_info` SET `botnick` = '' WHERE `botnick` = " << mysqlpp::quote << bi->nick;
@@ -952,7 +960,7 @@ class DBMySQLWrite : public DBMySQL
EventReturn OnBotAssign(User *sender, ChannelInfo *ci, BotInfo *bi)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "UPDATE `anope_cs_info` SET `botnick` = " << mysqlpp::quote << bi->nick << " WHERE `name` = " << mysqlpp::quote << ci->name;
ExecuteQuery(query);
return EVENT_CONTINUE;
@@ -960,7 +968,7 @@ class DBMySQLWrite : public DBMySQL
EventReturn OnBotUnAssign(User *sender, ChannelInfo *ci)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "UPDATE `anope_cs_info` SET `botnick` = '' WHERE `name` = " << mysqlpp::quote << ci->name;
ExecuteQuery(query);
return EVENT_CONTINUE;
@@ -968,7 +976,7 @@ class DBMySQLWrite : public DBMySQL
void OnBadWordAdd(ChannelInfo *ci, BadWord *bw)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_bs_badwords` (channel, word, type) VALUES(" << mysqlpp::quote << ci->name << ", " << mysqlpp::quote << bw->word << ", '";
switch (bw->type)
{
@@ -990,7 +998,7 @@ class DBMySQLWrite : public DBMySQL
void OnBadWordDel(ChannelInfo *ci, BadWord *bw)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_bs_badwords` WHERE `channel` = " << mysqlpp::quote << ci->name << " AND `word` = " << mysqlpp::quote << bw->word << " AND `type` = '";
switch (bw->type)
{
@@ -1012,7 +1020,7 @@ class DBMySQLWrite : public DBMySQL
void OnMemoSend(User *, NickCore *nc, Memo *m)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_ms_info` (receiver, number, flags, time, sender, text, serv) VALUES(";
query << mysqlpp::quote << nc->display << ", " << m->number << ", '" << BuildFlagsList(m) << "', " << m->time << ", ";
query << mysqlpp::quote << m->sender << ", " << mysqlpp::quote << m->text << ", 'NICK')";
@@ -1021,7 +1029,7 @@ class DBMySQLWrite : public DBMySQL
void OnMemoSend(User *, ChannelInfo *ci, Memo *m)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_ms_info` (receiver, number, flags, time, sender, text, serv) VALUES(";
query << mysqlpp::quote << ci->name << ", " << m->number << ", '" << BuildFlagsList(m) << "', " << m->time << ", ";
query << mysqlpp::quote << m->sender << ", " << mysqlpp::quote << m->text << ", 'CHAN')";
@@ -1030,7 +1038,7 @@ class DBMySQLWrite : public DBMySQL
void OnMemoDel(NickCore *nc, MemoInfo *mi, int number)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
if (number)
query << "DELETE FROM `anope_ms_info` WHERE `receiver` = " << mysqlpp::quote << nc->display << " AND `number` = " << number;
else
@@ -1040,7 +1048,7 @@ class DBMySQLWrite : public DBMySQL
void OnMemoDel(ChannelInfo *ci, MemoInfo *mi, int number)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
if (number)
query << "DELETE FROM `anope_ms_info` WHERE `receiver` = " << mysqlpp::quote << ci->name << " AND `number` = " << number;
else
@@ -1050,7 +1058,7 @@ class DBMySQLWrite : public DBMySQL
EventReturn OnAddAkill(User *, Akill *ak)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_os_akills` (user, host, xby, reason, seton, expire) VALUES(";
query << mysqlpp::quote << ak->user << ", " << mysqlpp::quote << ak->host << ", " << mysqlpp::quote << ak->by;
query << ", " << mysqlpp::quote << ak->reason << ", " << ak->seton << ", " << ak->expires << ")";
@@ -1060,7 +1068,7 @@ class DBMySQLWrite : public DBMySQL
void OnDelAkill(User *, Akill *ak)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
if (ak)
query << "DELETE FROM `anope_os_akills` WHERE `host` = " << mysqlpp::quote << ak->host;
else
@@ -1070,7 +1078,7 @@ class DBMySQLWrite : public DBMySQL
EventReturn OnExceptionAdd(User *, Exception *ex)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_os_exceptions` (mask, slimit, who, reason, time, expires) VALUES(";
query << mysqlpp::quote << ex->mask << ", " << ex->limit << ", " << mysqlpp::quote << ex->who << ", ";
query << mysqlpp::quote << ex->reason << ", " << ex->time << ", " << ex->expires << ")";
@@ -1080,14 +1088,14 @@ class DBMySQLWrite : public DBMySQL
void OnExceptionDel(User *, Exception *ex)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "DELETE FROM `anope_os_exceptions` WHERE `mask` = " << mysqlpp::quote << ex->mask;
ExecuteQuery(query);
}
EventReturn OnAddSXLine(User *, SXLine *sx, SXLineType Type)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
query << "INSERT DELAYED INTO `anope_os_sxlines` (type, mask, xby, reason, seton, expire) VALUES('";
query << (Type == SX_SGLINE ? "SGLINE" : (Type == SX_SQLINE ? "SQLINE" : "SZLINE")) << "', ";
query << mysqlpp::quote << sx->mask << ", " << mysqlpp::quote << sx->by << ", " << mysqlpp::quote << sx->reason;
@@ -1098,7 +1106,7 @@ class DBMySQLWrite : public DBMySQL
void OnDelSXLine(User *, SXLine *sx, SXLineType Type)
{
- mysqlpp::Query query(Me->Con);
+ mysqlpp::Query query(me->Con);
if (sx)
{
query << "DELETE FROM `anope_os_sxlines` WHERE `mask` = " << mysqlpp::quote << sx->mask << " AND `type` = '";
diff --git a/src/protocol/bahamut.c b/src/protocol/bahamut.c
index d84d3f25a..0e2706dba 100644
--- a/src/protocol/bahamut.c
+++ b/src/protocol/bahamut.c
@@ -766,41 +766,41 @@ void moduleAddIRCDMsgs() {
m = createMessage("BURST", anope_event_burst); addCoreMessage(IRCD,m);
}
-void moduleAddModes()
+static void AddModes()
{
/* Add user modes */
- ModeManager::AddUserMode(new UserMode(UMODE_SERV_ADMIN, 'A'));
- ModeManager::AddUserMode(new UserMode(UMODE_REGPRIV, 'R'));
- ModeManager::AddUserMode(new UserMode(UMODE_ADMIN, 'a'));
- ModeManager::AddUserMode(new UserMode(UMODE_INVIS, 'i'));
- ModeManager::AddUserMode(new UserMode(UMODE_OPER, 'o'));
- ModeManager::AddUserMode(new UserMode(UMODE_REGISTERED, 'r'));
- ModeManager::AddUserMode(new UserMode(UMODE_SNOMASK, 's'));
- ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, 'w'));
- ModeManager::AddUserMode(new UserMode(UMODE_DEAF, 'd'));
+ ModeManager::AddUserMode(new UserMode(UMODE_SERV_ADMIN, "UMODE_SERV_ADMIN", 'A'));
+ ModeManager::AddUserMode(new UserMode(UMODE_REGPRIV, "UMODE_REGPRIV", 'R'));
+ ModeManager::AddUserMode(new UserMode(UMODE_ADMIN, "UMODE_ADMIN", 'a'));
+ ModeManager::AddUserMode(new UserMode(UMODE_INVIS, "UMODE_INVIS", 'i'));
+ ModeManager::AddUserMode(new UserMode(UMODE_OPER,"UMODE_OPER", 'o'));
+ ModeManager::AddUserMode(new UserMode(UMODE_REGISTERED, "UMODE_REGISTERED", 'r'));
+ ModeManager::AddUserMode(new UserMode(UMODE_SNOMASK, "UMODE_SNOMASK", 's'));
+ ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, "UMODE_WALLOPS", 'w'));
+ ModeManager::AddUserMode(new UserMode(UMODE_DEAF, "UMODE_DEAF", 'd'));
/* b/e/I */
ModeManager::AddChannelMode(new ChannelModeBan('b'));
/* v/h/o/a/q */
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, 'v', '+'));
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, 'o', '@'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, "CMODE_VOICE", 'v', '+'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, "CMODE_OP", 'o', '@'));
/* Add channel modes */
- ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCOLOR, 'c'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, 'i'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCOLOR, "CMODE_BLOCKCOLOR", 'c'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, "CMODE_INVITE", 'i'));
ModeManager::AddChannelMode(new ChannelModeFlood('f'));
ModeManager::AddChannelMode(new ChannelModeKey('k'));
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, 'l'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, 'm'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, 'n'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, 'p'));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, "CMODE_LIMIT", 'l'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, "CMODE_MODERATED", 'm'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, "CMODE_NOEXTERNAL", 'n'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, "CMODE_PRIVATE", 'p'));
ModeManager::AddChannelMode(new ChannelModeRegistered('r'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, 's'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, 't'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_REGMODERATED, 'M'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, "CMODE_SECRET", 's'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, "CMODE_TOPIC", 't'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_REGMODERATED, "CMODE_REGMODERATED", 'M'));
ModeManager::AddChannelMode(new ChannelModeOper('O'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_REGISTEREDONLY, 'R'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_REGISTEREDONLY, "CMODE_REGISTEREDONLY", 'R'));
}
class ProtoBahamut : public Module
@@ -821,7 +821,7 @@ class ProtoBahamut : public Module
Capab.SetFlag(c[i]);
moduleAddIRCDMsgs();
- moduleAddModes();
+ AddModes();
pmodule_ircd_proto(&ircd_proto);
diff --git a/src/protocol/inspircd11.c b/src/protocol/inspircd11.c
index 764b887de..beaa73c97 100644
--- a/src/protocol/inspircd11.c
+++ b/src/protocol/inspircd11.c
@@ -920,7 +920,7 @@ int anope_event_capab(const char *source, int ac, const char **av)
ModeManager::AddChannelMode(new ChannelModeInvite('I'));
continue;
default:
- ModeManager::AddChannelMode(new ChannelModeList(CMODE_END, modebuf[t]));
+ ModeManager::AddChannelMode(new ChannelModeList(CMODE_END, "", modebuf[t]));
}
}
@@ -933,7 +933,7 @@ int anope_event_capab(const char *source, int ac, const char **av)
ModeManager::AddChannelMode(new ChannelModeKey('k'));
continue;
default:
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, modebuf[t]));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, "", modebuf[t]));
}
}
@@ -947,13 +947,13 @@ int anope_event_capab(const char *source, int ac, const char **av)
ModeManager::AddChannelMode(new ChannelModeFlood('f'));
continue;
case 'l':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, 'l', true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, "CMODE_LIMIT", 'l', true));
continue;
case 'L':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_REDIRECT, 'L', true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_REDIRECT, "CMODE_REDIRECT", 'L', true));
continue;
default:
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, modebuf[t], true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, "", modebuf[t], true));
}
}
@@ -963,67 +963,67 @@ int anope_event_capab(const char *source, int ac, const char **av)
switch (modebuf[t])
{
case 'i':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, 'i'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, "CMODE_INVITE", 'i'));
continue;
case 'm':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, 'm'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, "CMODE_MODERATED", 'm'));
continue;
case 'n':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, 'n'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, "CMODE_NOEXTERNAL", 'n'));
continue;
case 'p':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, 'p'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, "CMODE_PRIVATE", 'p'));
continue;
case 's':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, 's'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, "CMODE_SECRET", 's'));
continue;
case 't':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, 't'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, "CMODE_TOPIC", 't'));
continue;
case 'r':
ModeManager::AddChannelMode(new ChannelModeRegistered('r'));
continue;
case 'c':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCOLOR, 'c'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCOLOR, "CMODE_BLOCKCOLOR", 'c'));
continue;
case 'u':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_AUDITORIUM, 'u'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_AUDITORIUM, "CMODE_AUDITORIUM", 'u'));
continue;
case 'z':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_SSL, 'z'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_SSL, "CMODE_SSL", 'z'));
continue;
case 'A':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_ALLINVITE, 'A'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_ALLINVITE, "CMODE_ALLINVITE", 'A'));
continue;
case 'C':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOCTCP, 'C'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOCTCP, "CMODE_NOCTCP", 'C'));
continue;
case 'G':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_FILTER, 'G'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_FILTER, "CMODE_FILTER", 'G'));
continue;
case 'K':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKNOCK, 'K'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKNOCK, "CMODE_NOKNOCK", 'K'));
continue;
case 'N':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NONICK, 'N'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NONICK, "CMODE_NONICK", 'N'));
continue;
case 'O':
ModeManager::AddChannelMode(new ChannelModeOper('O'));
continue;
case 'Q':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKICK, 'Q'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKICK, "CMODE_NOKICK", 'Q'));
continue;
case 'R':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_REGISTEREDONLY, 'R'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_REGISTEREDONLY, "CMODE_REGISTEREDONLY", 'R'));
continue;
case 'S':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_STRIPCOLOR, 'S'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_STRIPCOLOR, "CMODE_STRIPCOLOR", 'S'));
continue;
case 'V':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOINVITE, 'V'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOINVITE, "CMODE_NOINVITE", 'V'));
continue;
default:
- ModeManager::AddChannelMode(new ChannelMode(CMODE_END, modebuf[t]));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_END, "", modebuf[t]));
}
}
}
@@ -1037,19 +1037,19 @@ int anope_event_capab(const char *source, int ac, const char **av)
switch (modes[t])
{
case 'q':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OWNER, 'q', '~'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OWNER, "CMODE_OWNER", 'q', '~'));
continue;
case 'a':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_PROTECT, 'a', '&'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_PROTECT, "CMODE_PROTECT", 'a', '&'));
continue;
case 'o':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, 'o', '@'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, "CMODE_OP", 'o', '@'));
continue;
case 'h':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_HALFOP, 'h', '%'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_HALFOP, "CMODE_HALFOP", 'h', '%'));
continue;
case 'v':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, 'v', '+'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, "CMODE_VOICE", 'v', '+'));
continue;
}
}
@@ -1150,13 +1150,13 @@ bool ChannelModeFlood::IsValid(const std::string &value)
static void AddModes()
{
- ModeManager::AddUserMode(new UserMode(UMODE_CALLERID, 'g'));
- ModeManager::AddUserMode(new UserMode(UMODE_HELPOP, 'h'));
- ModeManager::AddUserMode(new UserMode(UMODE_INVIS, 'i'));
- ModeManager::AddUserMode(new UserMode(UMODE_OPER, 'o'));
- ModeManager::AddUserMode(new UserMode(UMODE_REGISTERED, 'r'));
- ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, 'w'));
- ModeManager::AddUserMode(new UserMode(UMODE_CLOAK, 'x'));
+ ModeManager::AddUserMode(new UserMode(UMODE_CALLERID, "UMODE_CALLERID", 'g'));
+ ModeManager::AddUserMode(new UserMode(UMODE_HELPOP, "UMODE_HELPOP", 'h'));
+ ModeManager::AddUserMode(new UserMode(UMODE_INVIS, "UMODE_INVIS", 'i'));
+ ModeManager::AddUserMode(new UserMode(UMODE_OPER, "UMODE_OPER", 'o'));
+ ModeManager::AddUserMode(new UserMode(UMODE_REGISTERED, "UMODE_REGISTERED", 'r'));
+ ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, "UMODE_WALLOPS", 'w'));
+ ModeManager::AddUserMode(new UserMode(UMODE_CLOAK, "UMODE_CLOAK", 'x'));
}
class ProtoInspIRCd : public Module
@@ -1168,7 +1168,7 @@ class ProtoInspIRCd : public Module
this->SetVersion(VERSION_STRING);
this->SetType(PROTOCOL);
- pmodule_ircd_version("inspircdIRCd 1.1");
+ pmodule_ircd_version("InspIRCd 1.1");
pmodule_ircd_var(myIrcd);
pmodule_ircd_useTSMode(0);
diff --git a/src/protocol/inspircd12.cpp b/src/protocol/inspircd12.cpp
index 5ff9db94b..22a143493 100644
--- a/src/protocol/inspircd12.cpp
+++ b/src/protocol/inspircd12.cpp
@@ -1022,14 +1022,14 @@ int anope_event_capab(const char *source, int ac, const char **av)
continue;
/* InspIRCd sends q and a here if they have no prefixes */
case 'q':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OWNER, 'q', '@'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OWNER, "CMODE_OWNER", 'q', '@'));
continue;
case 'a':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_PROTECT , 'a', '@'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_PROTECT , "CMODE_PROTECT", 'a', '@'));
continue;
// XXX list modes needs a bit of a rewrite, we need to be able to support +g here
default:
- ModeManager::AddChannelMode(new ChannelModeList(CMODE_END, modebuf[t]));
+ ModeManager::AddChannelMode(new ChannelModeList(CMODE_END, "", modebuf[t]));
}
}
@@ -1042,7 +1042,7 @@ int anope_event_capab(const char *source, int ac, const char **av)
ModeManager::AddChannelMode(new ChannelModeKey('k'));
continue;
default:
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, modebuf[t]));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, "", modebuf[t]));
}
}
@@ -1052,25 +1052,25 @@ int anope_event_capab(const char *source, int ac, const char **av)
switch (modebuf[t])
{
case 'F':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_NICKFLOOD, 'F', true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_NICKFLOOD, "CMODE_NICKFLOOD", 'F', true));
continue;
case 'J':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_NOREJOIN, 'J', true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_NOREJOIN, "CMODE_NOREJOIN", 'J', true));
continue;
case 'L':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_REDIRECT, 'L', true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_REDIRECT, "CMODE_REDIRECT", 'L', true));
continue;
case 'f':
ModeManager::AddChannelMode(new ChannelModeFlood('f', true));
continue;
case 'j':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_JOINFLOOD, 'j', true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_JOINFLOOD, "CMODE_JOINFLOOD", 'j', true));
continue;
case 'l':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, 'l', true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, "CMODE_LIMIT", 'l', true));
continue;
default:
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, modebuf[t], true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, "", modebuf[t], true));
}
}
@@ -1080,79 +1080,83 @@ int anope_event_capab(const char *source, int ac, const char **av)
switch (modebuf[t])
{
case 'A':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_ALLINVITE, 'A'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_ALLINVITE, "CMODE_ALLINVITE", 'A'));
continue;
case 'B':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCAPS, 'B'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCAPS, "CMODE_BLOCKCAPS", 'B'));
continue;
case 'C':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOCTCP, 'C'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOCTCP, "CMODE_NOCTCP", 'C'));
continue;
case 'D':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_DELAYEDJOIN, 'D'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_DELAYEDJOIN, "CMODE_DELAYEDJOIN", 'D'));
continue;
case 'G':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_FILTER, 'G'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_FILTER, "CMODE_FILTER", 'G'));
continue;
case 'K':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKNOCK, 'K'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKNOCK, "CMODE_NOKNOCK", 'K'));
continue;
case 'M':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_REGMODERATED, 'M'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_REGMODERATED, "CMODE_REGMODERATED", 'M'));
continue;
case 'N':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NONICK, 'N'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NONICK, "CMODE_NONICK", 'N'));
continue;
case 'O':
ModeManager::AddChannelMode(new ChannelModeOper('O'));
continue;
case 'P':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_PERM, 'P'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_PERM, "CMODE_PERM", 'P'));
continue;
case 'Q':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKICK, 'Q'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKICK, "CMODE_NOKICK", 'Q'));
continue;
case 'R':
+<<<<<<< HEAD
ModeManager::AddChannelMode(new ChannelMode(CMODE_REGISTEREDONLY, 'R'));
+=======
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_REGISTEREDONLY, "CMODE_REGISTEREDONLY", 'R'));
+>>>>>>> modes
continue;
case 'S':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_STRIPCOLOR, 'S'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_STRIPCOLOR, "CMODE_STRIPCOLOR", 'S'));
continue;
case 'T':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NONOTICE, 'T'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NONOTICE, "CMODE_NONOTICE", 'T'));
continue;
case 'c':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCOLOR, 'c'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCOLOR, "CMODE_BLOCKCOLOR", 'c'));
continue;
case 'i':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, 'i'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, "CMODE_INVITE", 'i'));
continue;
case 'm':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, 'm'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, "CMODE_MODERATED", 'm'));
continue;
case 'n':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, 'n'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, "CMODE_NOEXTERNAL", 'n'));
continue;
case 'p':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, 'p'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, "CMODE_PRIVATE", 'p'));
continue;
case 'r':
ModeManager::AddChannelMode(new ChannelModeRegistered('r'));
continue;
case 's':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, 's'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, "CMODE_SECRET", 's'));
continue;
case 't':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, 't'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, "CMODE_TOPIC", 't'));
continue;
case 'u':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_AUDITORIUM, 'u'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_AUDITORIUM, "CMODE_AUDITORIUM", 'u'));
continue;
case 'z':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_SSL, 'z'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_SSL, "CMODE_SSL", 'z'));
continue;
default:
- ModeManager::AddChannelMode(new ChannelMode(CMODE_END, modebuf[t]));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_END, "", modebuf[t]));
}
}
}
@@ -1169,64 +1173,64 @@ int anope_event_capab(const char *source, int ac, const char **av)
switch (modebuf[t])
{
case 'h':
- ModeManager::AddUserMode(new UserMode(UMODE_HELPOP, 'h'));
+ ModeManager::AddUserMode(new UserMode(UMODE_HELPOP, "UMODE_HELPOP", 'h'));
continue;
case 's':
- ModeManager::AddUserMode(new UserMode(UMODE_STRIPCOLOR, 'S'));
+ ModeManager::AddUserMode(new UserMode(UMODE_STRIPCOLOR, "UMODE_STRIPCOLOR", 'S'));
continue;
case 'B':
- ModeManager::AddUserMode(new UserMode(UMODE_BOT, 'B'));
+ ModeManager::AddUserMode(new UserMode(UMODE_BOT, "UMODE_BOT", 'B'));
continue;
case 'G':
- ModeManager::AddUserMode(new UserMode(UMODE_FILTER, 'G'));
+ ModeManager::AddUserMode(new UserMode(UMODE_FILTER, "UMODE_FILTER", 'G'));
continue;
case 'H':
- ModeManager::AddUserMode(new UserMode(UMODE_HIDEOPER, 'H'));
+ ModeManager::AddUserMode(new UserMode(UMODE_HIDEOPER, "UMODE_HIDEOPER", 'H'));
continue;
case 'I':
- ModeManager::AddUserMode(new UserMode(UMODE_PRIV, 'I'));
+ ModeManager::AddUserMode(new UserMode(UMODE_PRIV, "UMODE_PRIV", 'I'));
continue;
case 'Q':
- ModeManager::AddUserMode(new UserMode(UMODE_HIDDEN, 'Q'));
+ ModeManager::AddUserMode(new UserMode(UMODE_HIDDEN, "UMODE_HIDDEN", 'Q'));
continue;
case 'R':
- ModeManager::AddUserMode(new UserMode(UMODE_REGPRIV, 'R'));
+ ModeManager::AddUserMode(new UserMode(UMODE_REGPRIV, "UMODE_REGPRIV", 'R'));
continue;
case 'S':
- ModeManager::AddUserMode(new UserMode(UMODE_STRIPCOLOR, 'S'));
+ ModeManager::AddUserMode(new UserMode(UMODE_STRIPCOLOR, "UMODE_STRIPCOLOR", 'S'));
continue;
case 'W':
- ModeManager::AddUserMode(new UserMode(UMODE_WHOIS, 'W'));
+ ModeManager::AddUserMode(new UserMode(UMODE_WHOIS, "UMODE_WHOIS", 'W'));
continue;
case 'c':
- ModeManager::AddUserMode(new UserMode(UMODE_COMMONCHANS, 'c'));
+ ModeManager::AddUserMode(new UserMode(UMODE_COMMONCHANS, "UMODE_COMMONCHANS", 'c'));
continue;
case 'g':
- ModeManager::AddUserMode(new UserMode(UMODE_CALLERID, 'g'));
+ ModeManager::AddUserMode(new UserMode(UMODE_CALLERID, "UMODE_CALLERID", 'g'));
continue;
case 'i':
- ModeManager::AddUserMode(new UserMode(UMODE_INVIS, 'i'));
+ ModeManager::AddUserMode(new UserMode(UMODE_INVIS, "UMODE_INVIS", 'i'));
continue;
case 'k':
- ModeManager::AddUserMode(new UserMode(UMODE_PROTECTED, 'k'));
+ ModeManager::AddUserMode(new UserMode(UMODE_PROTECTED, "UMODE_PROTECTED", 'k'));
continue;
case 'o':
- ModeManager::AddUserMode(new UserMode(UMODE_OPER, 'o'));
+ ModeManager::AddUserMode(new UserMode(UMODE_OPER, "UMODE_OPER", 'o'));
continue;
case 'r':
- ModeManager::AddUserMode(new UserMode(UMODE_REGISTERED, 'r'));
+ ModeManager::AddUserMode(new UserMode(UMODE_REGISTERED, "UMODE_REGISTERED", 'r'));
continue;
case 'w':
- ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, 'w'));
+ ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, "UMODE_WALLOPS", 'w'));
continue;
case 'x':
- ModeManager::AddUserMode(new UserMode(UMODE_CLOAK, 'x'));
+ ModeManager::AddUserMode(new UserMode(UMODE_CLOAK, "UMODE_CLOAK", 'x'));
continue;
case 'd':
- ModeManager::AddUserMode(new UserMode(UMODE_DEAF, 'd'));
+ ModeManager::AddUserMode(new UserMode(UMODE_DEAF, "UMODE_DEAF", 'd'));
continue;
default:
- ModeManager::AddUserMode(new UserMode(UMODE_END, modebuf[t]));
+ ModeManager::AddUserMode(new UserMode(UMODE_END, "", modebuf[t]));
}
}
}
@@ -1241,19 +1245,19 @@ int anope_event_capab(const char *source, int ac, const char **av)
switch (modes[t])
{
case 'q':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OWNER, 'q', chars[t]));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OWNER, "CMODE_OWNER", 'q', chars[t]));
continue;
case 'a':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_PROTECT, 'a', chars[t]));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_PROTECT, "CMODE_PROTECT", 'a', chars[t]));
continue;
case 'o':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, 'o', chars[t]));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, "CMODE_OP", 'o', chars[t]));
continue;
case 'h':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_HALFOP, 'h', chars[t]));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_HALFOP, "CMODE_HALFOP", 'h', chars[t]));
continue;
case 'v':
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, 'v', chars[t]));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, "CMODE_VOICE", 'v', chars[t]));
continue;
}
}
diff --git a/src/protocol/ratbox.c b/src/protocol/ratbox.c
index ace2a650c..39d01585e 100644
--- a/src/protocol/ratbox.c
+++ b/src/protocol/ratbox.c
@@ -840,14 +840,14 @@ void moduleAddIRCDMsgs()
m = createMessage("SID", anope_event_sid); addCoreMessage(IRCD,m);
}
-void moduleAddModes()
+static void AddModes()
{
/* Add user modes */
- ModeManager::AddUserMode(new UserMode(UMODE_ADMIN, 'a'));
- ModeManager::AddUserMode(new UserMode(UMODE_INVIS, 'i'));
- ModeManager::AddUserMode(new UserMode(UMODE_OPER, 'o'));
- ModeManager::AddUserMode(new UserMode(UMODE_SNOMASK, 's'));
- ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, 'w'));
+ ModeManager::AddUserMode(new UserMode(UMODE_ADMIN, "UMODE_ADMIN", 'a'));
+ ModeManager::AddUserMode(new UserMode(UMODE_INVIS, "UMODE_INVIS", 'i'));
+ ModeManager::AddUserMode(new UserMode(UMODE_OPER, "UMODE_OPER", 'o'));
+ ModeManager::AddUserMode(new UserMode(UMODE_SNOMASK, "UMODE_SNOMASK", 's'));
+ ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, "UMODE_WALLOPS", 'w'));
/* b/e/I */
ModeManager::AddChannelMode(new ChannelModeBan('b'));
@@ -855,18 +855,18 @@ void moduleAddModes()
ModeManager::AddChannelMode(new ChannelModeInvite('I'));
/* v/h/o/a/q */
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, 'v', '+'));
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, 'o', '@'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, "CMODE_VOICE", 'v', '+'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, "CMODE_OP", 'o', '@'));
/* Add channel modes */
- ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, 'i'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, "CMODE_INVITE", 'i'));
ModeManager::AddChannelMode(new ChannelModeKey('k'));
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, 'l'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, 'm'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, 'n'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, 'p'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, 's'));
- ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, 't'));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, "CMODE_LIMIT", 'l'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, "CMODE_MODERATED", 'm'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, "CMODE_NOEXTERNAL", 'n'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, "CMODE_PRIVATE", 'p'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, "CMODE_SECRET", 's'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, "CMODE_TOPIC", 't'));
}
class ProtoRatbox : public Module
@@ -890,7 +890,7 @@ class ProtoRatbox : public Module
for (unsigned i = 0; i < 5; ++i)
Capab.SetFlag(c[i]);
- moduleAddModes();
+ AddModes();
pmodule_ircd_proto(&ircd_proto);
moduleAddIRCDMsgs();
diff --git a/src/protocol/unreal32.c b/src/protocol/unreal32.c
index aeb35ee88..432044c51 100644
--- a/src/protocol/unreal32.c
+++ b/src/protocol/unreal32.c
@@ -462,7 +462,7 @@ int anope_event_capab(const char *source, int ac, const char **av)
ModeManager::AddChannelMode(new ChannelModeInvite('I'));
continue;
default:
- ModeManager::AddChannelMode(new ChannelModeList(CMODE_END, modebuf[t]));
+ ModeManager::AddChannelMode(new ChannelModeList(CMODE_END, "", modebuf[t]));
}
}
@@ -478,10 +478,10 @@ int anope_event_capab(const char *source, int ac, const char **av)
ModeManager::AddChannelMode(new ChannelModeFlood('f'));
continue;
case 'L':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_REDIRECT, 'L'));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_REDIRECT, "CMODE_REDIRECT", 'L'));
continue;
default:
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, modebuf[t]));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, "", modebuf[t]));
}
}
@@ -491,13 +491,13 @@ int anope_event_capab(const char *source, int ac, const char **av)
switch (modebuf[t])
{
case 'l':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, 'l', true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_LIMIT, "CMODE_LIMIT", 'l', true));
continue;
case 'j':
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_JOINFLOOD, 'j', true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_JOINFLOOD, "CMODE_JOINFLOOD", 'j', true));
continue;
default:
- ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, modebuf[t], true));
+ ModeManager::AddChannelMode(new ChannelModeParam(CMODE_END, "", modebuf[t], true));
}
}
@@ -507,31 +507,31 @@ int anope_event_capab(const char *source, int ac, const char **av)
switch (modebuf[t])
{
case 'p':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, 'p'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_PRIVATE, "CMODE_PRIVATE", 'p'));
continue;
case 's':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, 's'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_SECRET, "CMODE_SECRET", 's'));
continue;
case 'm':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, 'm'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_MODERATED, "CMODE_MODERATED", 'm'));
continue;
case 'n':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, 'n'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOEXTERNAL, "CMODE_NOEXTERNAL", 'n'));
continue;
case 't':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, 't'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_TOPIC, "CMODE_TOPIC", 't'));
continue;
case 'i':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, 'i'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_INVITE, "CMODE_INVITE", 'i'));
continue;
case 'r':
ModeManager::AddChannelMode(new ChannelModeRegistered('r'));
continue;
case 'R':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_REGISTEREDONLY, 'R'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_REGISTEREDONLY, "CMODE_REGISTEREDONLY", 'R'));
continue;
case 'c':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCOLOR, 'c'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_BLOCKCOLOR, "CMODE_BLOCKCOLOR", 'c'));
continue;
case 'O':
ModeManager::AddChannelMode(new ChannelModeOper('O'));
@@ -540,40 +540,40 @@ int anope_event_capab(const char *source, int ac, const char **av)
ModeManager::AddChannelMode(new ChannelModeAdmin('A'));
continue;
case 'Q':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKICK, 'Q'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKICK, "CMODE_NOKICK", 'Q'));
continue;
case 'K':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKNOCK, 'K'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOKNOCK, "CMODE_NOKNOCK", 'K'));
continue;
case 'V':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOINVITE, 'V'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOINVITE, "CMODE_NOINVITE", 'V'));
continue;
case 'C':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NOCTCP, 'C'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NOCTCP, "CMODE_NOCTCP", 'C'));
continue;
case 'u':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_AUDITORIUM, 'u'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_AUDITORIUM, "CMODE_AUDITORIUM", 'u'));
continue;
case 'z':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_SSL, 'z'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_SSL, "CMODE_SSL", 'z'));
continue;
case 'N':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NONICK, 'N'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NONICK, "CMODE_NONICK", 'N'));
continue;
case 'S':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_STRIPCOLOR, 'S'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_STRIPCOLOR, "CMODE_STRIPCOLOR", 'S'));
continue;
case 'M':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_REGMODERATED, 'M'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_REGMODERATED, "CMODE_REGMODERATED", 'M'));
continue;
case 'T':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_NONOTICE, 'T'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_NONOTICE, "CMODE_NONOTICE", 'T'));
continue;
case 'G':
- ModeManager::AddChannelMode(new ChannelMode(CMODE_FILTER, 'G'));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_FILTER, "CMODE_FILTER", 'G'));
continue;
default:
- ModeManager::AddChannelMode(new ChannelMode(CMODE_END, modebuf[t]));
+ ModeManager::AddChannelMode(new ChannelMode(CMODE_END, "", modebuf[t]));
}
}
}
@@ -1289,39 +1289,39 @@ bool ChannelModeFlood::IsValid(const std::string &value2)
static void AddModes()
{
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, 'v', '+'));
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_HALFOP, 'h', '%'));
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, 'o', '@'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_VOICE, "CMODE_VOICE", 'v', '+'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_HALFOP, "CMODE_HALFOP", 'h', '%'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OP, "CMODE_OP", 'o', '@'));
/* Unreal sends +q as * and +a as ~ */
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_PROTECT, 'a', '~'));
- ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OWNER, 'q', '*'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_PROTECT, "CMODE_PROTECT", 'a', '~'));
+ ModeManager::AddChannelMode(new ChannelModeStatus(CMODE_OWNER, "CMODE_OWNER", 'q', '*')); /* Unreal sends +q as * */
/* Add user modes */
- ModeManager::AddUserMode(new UserMode(UMODE_SERV_ADMIN, 'A'));
- ModeManager::AddUserMode(new UserMode(UMODE_BOT, 'B'));
- ModeManager::AddUserMode(new UserMode(UMODE_CO_ADMIN, 'C'));
- ModeManager::AddUserMode(new UserMode(UMODE_FILTER, 'G'));
- ModeManager::AddUserMode(new UserMode(UMODE_HIDEOPER, 'H'));
- ModeManager::AddUserMode(new UserMode(UMODE_NETADMIN, 'N'));
- ModeManager::AddUserMode(new UserMode(UMODE_REGPRIV, 'R'));
- ModeManager::AddUserMode(new UserMode(UMODE_PROTECTED, 'S'));
- ModeManager::AddUserMode(new UserMode(UMODE_NO_CTCP, 'T'));
- ModeManager::AddUserMode(new UserMode(UMODE_WEBTV, 'V'));
- ModeManager::AddUserMode(new UserMode(UMODE_WHOIS, 'W'));
- ModeManager::AddUserMode(new UserMode(UMODE_ADMIN, 'a'));
- ModeManager::AddUserMode(new UserMode(UMODE_DEAF, 'd'));
- ModeManager::AddUserMode(new UserMode(UMODE_GLOBOPS, 'g'));
- ModeManager::AddUserMode(new UserMode(UMODE_HELPOP, 'h'));
- ModeManager::AddUserMode(new UserMode(UMODE_INVIS, 'i'));
- ModeManager::AddUserMode(new UserMode(UMODE_OPER, 'o'));
- ModeManager::AddUserMode(new UserMode(UMODE_PRIV, 'p'));
- ModeManager::AddUserMode(new UserMode(UMODE_GOD, 'q'));
- ModeManager::AddUserMode(new UserMode(UMODE_REGISTERED, 'r'));
- ModeManager::AddUserMode(new UserMode(UMODE_SNOMASK, 's'));
- ModeManager::AddUserMode(new UserMode(UMODE_VHOST, 't'));
- ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, 'w'));
- ModeManager::AddUserMode(new UserMode(UMODE_CLOAK, 'x'));
- ModeManager::AddUserMode(new UserMode(UMODE_SSL, 'z'));
+ ModeManager::AddUserMode(new UserMode(UMODE_SERV_ADMIN, "UMODE_SERV_ADMIN", 'A'));
+ ModeManager::AddUserMode(new UserMode(UMODE_BOT, "UMODE_BOT", 'B'));
+ ModeManager::AddUserMode(new UserMode(UMODE_CO_ADMIN, "UMODE_CO_ADMIN", 'C'));
+ ModeManager::AddUserMode(new UserMode(UMODE_FILTER, "UMODE_FILTER", 'G'));
+ ModeManager::AddUserMode(new UserMode(UMODE_HIDEOPER, "UMODE_HIDEOPER", 'H'));
+ ModeManager::AddUserMode(new UserMode(UMODE_NETADMIN, "UMODE_NETADMIN", 'N'));
+ ModeManager::AddUserMode(new UserMode(UMODE_REGPRIV, "UMODE_REGPRIV", 'R'));
+ ModeManager::AddUserMode(new UserMode(UMODE_PROTECTED, "UMODE_PROTECTED", 'S'));
+ ModeManager::AddUserMode(new UserMode(UMODE_NO_CTCP, "UMODE_NO_CTCP", 'T'));
+ ModeManager::AddUserMode(new UserMode(UMODE_WEBTV, "UMODE_WEBTV", 'V'));
+ ModeManager::AddUserMode(new UserMode(UMODE_WHOIS, "UMODE_WHOIS", 'W'));
+ ModeManager::AddUserMode(new UserMode(UMODE_ADMIN, "UMODE_ADMIN", 'a'));
+ ModeManager::AddUserMode(new UserMode(UMODE_DEAF, "UMODE_DEAF", 'd'));
+ ModeManager::AddUserMode(new UserMode(UMODE_GLOBOPS, "UMODE_GLOBOPS", 'g'));
+ ModeManager::AddUserMode(new UserMode(UMODE_HELPOP, "UMODE_HELPOP", 'h'));
+ ModeManager::AddUserMode(new UserMode(UMODE_INVIS, "UMODE_INVIS", 'i'));
+ ModeManager::AddUserMode(new UserMode(UMODE_OPER, "UMODE_OPER", 'o'));
+ ModeManager::AddUserMode(new UserMode(UMODE_PRIV, "UMODE_PRIV", 'p'));
+ ModeManager::AddUserMode(new UserMode(UMODE_GOD, "UMODE_GOD", 'q'));
+ ModeManager::AddUserMode(new UserMode(UMODE_REGISTERED, "UMODE_REGISTERED", 'r'));
+ ModeManager::AddUserMode(new UserMode(UMODE_SNOMASK, "UMODE_SNOMASK", 's'));
+ ModeManager::AddUserMode(new UserMode(UMODE_VHOST, "UMODE_VHOST", 't'));
+ ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, "UMODE_WALLOPS", 'w'));
+ ModeManager::AddUserMode(new UserMode(UMODE_CLOAK, "UMODE_CLOAK", 'x'));
+ ModeManager::AddUserMode(new UserMode(UMODE_SSL, "UMODE_SSL", 'z'));
}
class ProtoUnreal : public Module