summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-11-17 12:46:18 -0500
committerAdam <Adam@anope.org>2011-11-17 12:46:18 -0500
commit69dfc729e99f45f16cab37f81b9f09a659d99a24 (patch)
tree063d1bba66dcfaece259a91e370919fc1ae77d5c /src
parent5281282a61601e9a6b77d129ed97e0509a0474cb (diff)
Fixed storing mode locks
Diffstat (limited to 'src')
-rw-r--r--src/access.cpp7
-rw-r--r--src/bots.cpp7
-rw-r--r--src/memoserv.cpp7
-rw-r--r--src/nickalias.cpp7
-rw-r--r--src/nickcore.cpp7
-rw-r--r--src/operserv.cpp23
-rw-r--r--src/regchannel.cpp52
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;