diff options
author | Adam <Adam@anope.org> | 2011-11-17 12:46:18 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-11-17 12:46:18 -0500 |
commit | 69dfc729e99f45f16cab37f81b9f09a659d99a24 (patch) | |
tree | 063d1bba66dcfaece259a91e370919fc1ae77d5c /src | |
parent | 5281282a61601e9a6b77d129ed97e0509a0474cb (diff) |
Fixed storing mode locks
Diffstat (limited to 'src')
-rw-r--r-- | src/access.cpp | 7 | ||||
-rw-r--r-- | src/bots.cpp | 7 | ||||
-rw-r--r-- | src/memoserv.cpp | 7 | ||||
-rw-r--r-- | src/nickalias.cpp | 7 | ||||
-rw-r--r-- | src/nickcore.cpp | 7 | ||||
-rw-r--r-- | src/operserv.cpp | 23 | ||||
-rw-r--r-- | src/regchannel.cpp | 52 |
7 files changed, 73 insertions, 37 deletions
diff --git a/src/access.cpp b/src/access.cpp index 3fa8c8013..7b15f335a 100644 --- a/src/access.cpp +++ b/src/access.cpp @@ -65,7 +65,7 @@ AccessProvider::~AccessProvider() { } -ChanAccess::ChanAccess(AccessProvider *p) : Serializable("ChanAccess"), provider(p) +ChanAccess::ChanAccess(AccessProvider *p) : provider(p) { } @@ -73,6 +73,11 @@ ChanAccess::~ChanAccess() { } +Anope::string ChanAccess::serialize_name() const +{ + return "ChanAccess"; +} + Serializable::serialized_data ChanAccess::serialize() { serialized_data data; diff --git a/src/bots.cpp b/src/bots.cpp index 864201f8c..afc4150d7 100644 --- a/src/bots.cpp +++ b/src/bots.cpp @@ -13,7 +13,7 @@ Anope::insensitive_map<BotInfo *> BotListByNick; Anope::map<BotInfo *> BotListByUID; -BotInfo::BotInfo(const Anope::string &nnick, const Anope::string &nuser, const Anope::string &nhost, const Anope::string &nreal, const Anope::string &bmodes) : User(nnick, nuser, nhost, ts6_uid_retrieve()), Flags<BotFlag, BI_END>(BotFlagString), Serializable("BotInfo"), botmodes(bmodes) +BotInfo::BotInfo(const Anope::string &nnick, const Anope::string &nuser, const Anope::string &nhost, const Anope::string &nreal, const Anope::string &bmodes) : User(nnick, nuser, nhost, ts6_uid_retrieve()), Flags<BotFlag, BI_END>(BotFlagString), botmodes(bmodes) { this->realname = nreal; this->server = Me; @@ -64,6 +64,11 @@ BotInfo::~BotInfo() BotListByUID.erase(this->uid); } +Anope::string BotInfo::serialize_name() const +{ + return "BotInfo"; +} + Serializable::serialized_data BotInfo::serialize() { serialized_data data; diff --git a/src/memoserv.cpp b/src/memoserv.cpp index 8db4f0170..c30a625b8 100644 --- a/src/memoserv.cpp +++ b/src/memoserv.cpp @@ -13,7 +13,12 @@ #include "modules.h" #include "memoserv.h" -Memo::Memo() : Flags<MemoFlag>(MemoFlagStrings), Serializable("Memo") { } +Memo::Memo() : Flags<MemoFlag>(MemoFlagStrings) { } + +Anope::string Memo::serialize_name() const +{ + return "Memo"; +} Serializable::serialized_data Memo::serialize() { diff --git a/src/nickalias.cpp b/src/nickalias.cpp index 1ef03bb2b..24d3d6e2b 100644 --- a/src/nickalias.cpp +++ b/src/nickalias.cpp @@ -5,7 +5,7 @@ * @param nick The nick * @param nickcore The nickcofe for this nick */ -NickAlias::NickAlias(const Anope::string &nickname, NickCore *nickcore) : Flags<NickNameFlag, NS_END>(NickNameFlagStrings), Serializable("NickAlias") +NickAlias::NickAlias(const Anope::string &nickname, NickCore *nickcore) : Flags<NickNameFlag, NS_END>(NickNameFlagStrings) { if (nickname.empty()) throw CoreException("Empty nick passed to NickAlias constructor"); @@ -103,6 +103,11 @@ void NickAlias::OnCancel(User *) } } +Anope::string NickAlias::serialize_name() const +{ + return "NickAlias"; +} + Serializable::serialized_data NickAlias::serialize() { serialized_data data; diff --git a/src/nickcore.cpp b/src/nickcore.cpp index c83b45be0..836ffdda4 100644 --- a/src/nickcore.cpp +++ b/src/nickcore.cpp @@ -4,7 +4,7 @@ /** Default constructor * @param display The display nick */ -NickCore::NickCore(const Anope::string &coredisplay) : Flags<NickCoreFlag, NI_END>(NickCoreFlagStrings), Serializable("NickCore") +NickCore::NickCore(const Anope::string &coredisplay) : Flags<NickCoreFlag, NI_END>(NickCoreFlagStrings) { if (coredisplay.empty()) throw CoreException("Empty display passed to NickCore constructor"); @@ -45,6 +45,11 @@ NickCore::~NickCore() } } +Anope::string NickCore::serialize_name() const +{ + return "NickCore"; +} + Serializable::serialized_data NickCore::serialize() { serialized_data data; diff --git a/src/operserv.cpp b/src/operserv.cpp index 54230d6ab..8558f8b31 100644 --- a/src/operserv.cpp +++ b/src/operserv.cpp @@ -17,16 +17,12 @@ std::list<XLineManager *> XLineManager::XLineManagers; std::map<Anope::string, XLine *, ci::less> XLineManager::XLinesByUID; -XLine::XLine() : Serializable("XLine") -{ -} - -XLine::XLine(const Anope::string &mask, const Anope::string &reason, const Anope::string &uid) : Serializable("XLine"), Mask(mask), Created(0), Expires(0), Reason(reason), UID(uid) +XLine::XLine(const Anope::string &mask, const Anope::string &reason, const Anope::string &uid) : Mask(mask), Created(0), Expires(0), Reason(reason), UID(uid) { manager = NULL; } -XLine::XLine(const Anope::string &mask, const Anope::string &by, const time_t expires, const Anope::string &reason, const Anope::string &uid) : Serializable("XLine"), Mask(mask), By(by), Created(Anope::CurTime), Expires(expires), Reason(reason), UID(uid) +XLine::XLine(const Anope::string &mask, const Anope::string &by, const time_t expires, const Anope::string &reason, const Anope::string &uid) : Mask(mask), By(by), Created(Anope::CurTime), Expires(expires), Reason(reason), UID(uid) { manager = NULL; } @@ -73,6 +69,11 @@ sockaddrs XLine::GetIP() const return addr; } +Anope::string XLine::serialize_name() const +{ + return "XLine"; +} + Serializable::serialized_data XLine::serialize() { serialized_data data; @@ -95,14 +96,10 @@ void XLine::unserialize(serialized_data &data) if (!xlm) return; - XLine *xl = new XLine(); - - data["mask"] >> xl->Mask; - data["by"] >> xl->By; + time_t expires; + data["expires"] >> expires; + XLine *xl = new XLine(data["mask"].astr(), data["by"].astr(), expires, data["expires"].astr(), data["uid"].astr()); data["created"] >> xl->Created; - data["expires"] >> xl->Expires; - data["reason"] >> xl->Reason; - data["uid"] >> xl->UID; xl->manager = xlm; xlm->AddXLine(xl); diff --git a/src/regchannel.cpp b/src/regchannel.cpp index 660233d2b..e5b305d11 100644 --- a/src/regchannel.cpp +++ b/src/regchannel.cpp @@ -12,8 +12,9 @@ #include "services.h" #include "modules.h" -BadWord::BadWord() : Serializable("BadWord") +Anope::string BadWord::serialize_name() const { + return "BadWord"; } Serializable::serialized_data BadWord::serialize() @@ -39,10 +40,15 @@ void BadWord::unserialize(serialized_data &data) ci->AddBadWord(data["word"].astr(), static_cast<BadWordType>(n)); } -AutoKick::AutoKick() : Flags<AutoKickFlag>(AutoKickFlagString), Serializable("AutoKick") +AutoKick::AutoKick() : Flags<AutoKickFlag>(AutoKickFlagString) { } +Anope::string AutoKick::serialize_name() const +{ + return "AutoKick"; +} + Serializable::serialized_data AutoKick::serialize() { serialized_data data; @@ -78,12 +84,13 @@ void AutoKick::unserialize(serialized_data &data) ci->AddAkick(data["creator"].astr(), data["mask"].astr(), data["reason"].astr(), addtime, lastused); } -ModeLock::ModeLock() : Serializable("ModeLock") +ModeLock::ModeLock(ChannelInfo *ch, bool s, ChannelModeName n, const Anope::string &p, const Anope::string &se, time_t c) : ci(ch), set(s), name(n), param(p), setter(se), created(c) { } -ModeLock::ModeLock(ChannelInfo *ch, bool s, ChannelModeName n, const Anope::string &p, const Anope::string &se, time_t c) : Serializable("ModeLock"), ci(ch), set(s), name(n), param(p), setter(se), created(c) +Anope::string ModeLock::serialize_name() const { + return "ModeLock"; } Serializable::serialized_data ModeLock::serialize() @@ -109,28 +116,32 @@ void ModeLock::unserialize(serialized_data &data) if (ci == NULL) return; - ModeLock ml; + ChannelModeName name = CMODE_END; - ml.ci = ci; - - data["set"] >> ml.set; - Anope::string n; - data["name"] >> n; for (unsigned i = 0; !ChannelModeNameStrings[i].empty(); ++i) - if (n == ChannelModeNameStrings[i]) + if (ChannelModeNameStrings[i] == data["name"].astr()) { - ml.name = static_cast<ChannelModeName>(i); + name = static_cast<ChannelModeName>(i); break; } + if (name == CMODE_END) + return; + + bool set; + data["set"] >> set; + + time_t created; + data["created"] >> created; + + ModeLock ml(ci, set, name, "", data["setter"].astr(), created); data["param"] >> ml.param; - data["setter"] >> ml.setter; - data["created"] >> ml.created; ci->mode_locks.insert(std::make_pair(ml.name, ml)); } -LogSetting::LogSetting() : Serializable("LogSetting") +Anope::string LogSetting::serialize_name() const { + return "LogSetting"; } Serializable::serialized_data LogSetting::serialize() @@ -172,7 +183,7 @@ void LogSetting::unserialize(serialized_data &data) /** Default constructor * @param chname The channel name */ -ChannelInfo::ChannelInfo(const Anope::string &chname) : Flags<ChannelInfoFlag, CI_END>(ChannelInfoFlagStrings), Serializable("ChannelInfo"), botflags(BotServFlagStrings) +ChannelInfo::ChannelInfo(const Anope::string &chname) : Flags<ChannelInfoFlag, CI_END>(ChannelInfoFlagStrings), botflags(BotServFlagStrings) { if (chname.empty()) throw CoreException("Empty channel passed to ChannelInfo constructor"); @@ -189,8 +200,6 @@ ChannelInfo::ChannelInfo(const Anope::string &chname) : Flags<ChannelInfoFlag, C this->name = chname; - this->mode_locks = def_mode_locks; - size_t t; /* Set default channel flags */ for (t = CI_BEGIN + 1; t != CI_END; ++t) @@ -217,7 +226,7 @@ ChannelInfo::ChannelInfo(const Anope::string &chname) : Flags<ChannelInfoFlag, C /** Copy constructor * @param ci The ChannelInfo to copy settings to */ -ChannelInfo::ChannelInfo(ChannelInfo &ci) : Flags<ChannelInfoFlag, CI_END>(ChannelInfoFlagStrings), Serializable("ChannelInfo"), botflags(BotServFlagStrings) +ChannelInfo::ChannelInfo(ChannelInfo &ci) : Flags<ChannelInfoFlag, CI_END>(ChannelInfoFlagStrings), botflags(BotServFlagStrings) { *this = ci; @@ -299,6 +308,11 @@ ChannelInfo::~ChannelInfo() --this->founder->channelcount; } +Anope::string ChannelInfo::serialize_name() const +{ + return "ChannelInfo"; +} + Serializable::serialized_data ChannelInfo::serialize() { serialized_data data; |