summaryrefslogtreecommitdiff
path: root/src/regchannel.cpp
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-11-08 20:06:21 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-11-08 20:06:21 +0000
commit458be36a321615c0f3004a6abde7e14d40f5da32 (patch)
tree711be83fc6f2d49f9d31015db51730cdac57f687 /src/regchannel.cpp
parent38ad96c57c520dd84c8de21766f5de082a844a99 (diff)
Rewrote all of the old C style flag systems into a new Flag class which everything inherits from. This breaks reading and writing flags to the old databases (and probably many other things aswell) - Don't use it
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2636 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/regchannel.cpp')
-rw-r--r--src/regchannel.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/regchannel.cpp b/src/regchannel.cpp
index 8e8ca825d..96e2d6046 100644
--- a/src/regchannel.cpp
+++ b/src/regchannel.cpp
@@ -35,10 +35,20 @@ ChannelInfo::ChannelInfo()
/* If ircd doesn't exist, this is from DB load and mlock is set later */
if (ircd)
mlock_on = ircd->DefMLock;
- flags = CSDefFlags;
+
+ size_t t;
+ /* Set default channel flags */
+ for (t = CI_BEGIN + 1; t != CI_END - 1; ++t)
+ if (CSDefFlags.HasFlag((ChannelInfoFlag)t))
+ this->SetFlag((ChannelInfoFlag)t);
+
+ /* Set default bot flags */
+ for (t = BI_BEGIN + 1; t != BI_END; ++t)
+ if (BSDefFlags.HasFlag((BotServFlag)t))
+ this->botflags.SetFlag((BotServFlag)t);
+
bantype = CSDefBantype;
memos.memomax = MSMaxMemos;
- botflags = BSDefFlags;
last_used = time_registered = time(NULL);
}
@@ -161,7 +171,8 @@ AutoKick *ChannelInfo::AddAkick(const std::string &user, NickCore *akicknc, cons
return NULL;
AutoKick *autokick = new AutoKick();
- autokick->flags = AK_USED | AK_ISNICK;
+ autokick->SetFlag(AK_USED);
+ autokick->SetFlag(AK_ISNICK);
autokick->nc = akicknc;
autokick->reason = reason;
autokick->creator = user;
@@ -182,7 +193,7 @@ AutoKick *ChannelInfo::AddAkick(const std::string &user, const std::string &mask
{
AutoKick *autokick = new AutoKick();
autokick->mask = mask;
- autokick->flags = AK_USED;
+ autokick->SetFlag(AK_USED);
autokick->reason = reason;
autokick->creator = user;
autokick->addtime = t;