summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-09-25 15:34:56 -0400
committerAdam <Adam@anope.org>2011-09-25 15:34:56 -0400
commitaf273e3da537ff60edb5f97b8081b550bd56d57d (patch)
tree91056829ec786c49045a580a6a1e733f2a12d977
parent1f3e96f4adb14955f368edc0f1f9142471fbe9f1 (diff)
Store flags for objects, also fixes bug #1333
-rw-r--r--src/bots.cpp2
-rw-r--r--src/nickalias.cpp2
-rw-r--r--src/nickcore.cpp2
-rw-r--r--src/regchannel.cpp4
4 files changed, 10 insertions, 0 deletions
diff --git a/src/bots.cpp b/src/bots.cpp
index 928dcb2c1..a10b7b147 100644
--- a/src/bots.cpp
+++ b/src/bots.cpp
@@ -74,6 +74,7 @@ SerializableBase::serialized_data BotInfo::serialize()
data["realname"] << this->realname;
data["created"] << this->created;
data["chancount"] << this->chancount;
+ data["flags"] << this->ToString();
return data;
}
@@ -85,6 +86,7 @@ void BotInfo::unserialize(SerializableBase::serialized_data &data)
bi = new BotInfo(data["nick"].astr(), data["user"].astr(), data["host"].astr(), data["realname"].astr());
data["created"] >> bi->created;
data["chancount"] >> bi->chancount;
+ bi->FromString(data["flags"].astr());
}
void BotInfo::GenerateUID()
diff --git a/src/nickalias.cpp b/src/nickalias.cpp
index 7b07a4af3..ed739653b 100644
--- a/src/nickalias.cpp
+++ b/src/nickalias.cpp
@@ -115,6 +115,7 @@ SerializableBase::serialized_data NickAlias::serialize()
data["time_registered"].setType(Serialize::DT_INT) << this->time_registered;
data["last_seen"].setType(Serialize::DT_INT) << this->last_seen;
data["nc"] << this->nc->display;
+ data["flags"] << this->ToString();
if (this->hostinfo.HasVhost())
{
@@ -140,6 +141,7 @@ void NickAlias::unserialize(SerializableBase::serialized_data &data)
data["last_realhost"] >> na->last_realhost;
data["time_registered"] >> na->time_registered;
data["last_seen"] >> na->last_seen;
+ na->FromString(data["flags"].astr());
time_t vhost_time;
data["vhost_time"] >> vhost_time;
diff --git a/src/nickcore.cpp b/src/nickcore.cpp
index 968e4d0e9..6c533fb61 100644
--- a/src/nickcore.cpp
+++ b/src/nickcore.cpp
@@ -54,6 +54,7 @@ SerializableBase::serialized_data NickCore::serialize()
data["email"] << this->email;
data["greet"] << this->greet;
data["language"] << this->language;
+ data["flags"] << this->ToString();
for (unsigned i = 0; i < this->access.size(); ++i)
data["access"] << this->access[i] << " ";
for (unsigned i = 0; i < this->cert.size(); ++i)
@@ -72,6 +73,7 @@ void NickCore::unserialize(serialized_data &data)
data["email"] >> nc->email;
data["greet"] >> nc->greet;
data["language"] >> nc->language;
+ nc->FromString(data["flags"].astr());
{
Anope::string buf;
data["access"] >> buf;
diff --git a/src/regchannel.cpp b/src/regchannel.cpp
index 4c90fa458..3eec63755 100644
--- a/src/regchannel.cpp
+++ b/src/regchannel.cpp
@@ -43,6 +43,7 @@ SerializableBase::serialized_data AutoKick::serialize()
data["creator"] << this->creator;
data["addtime"].setType(Serialize::DT_INT) << this->addtime;
data["last_used"].setType(Serialize::DT_INT) << this->last_used;
+ data["flags"] << this->ToString();
return data;
}
@@ -57,6 +58,7 @@ void AutoKick::unserialize(SerializableBase::serialized_data &data)
data["creator"] >> ak->creator;
data["addtime"] >> ak->addtime;
data["last_used"] >> ak->last_used;
+ ak->FromString(data["flags"].astr());
}
SerializableBase::serialized_data ModeLock::serialize()
@@ -276,6 +278,7 @@ SerializableBase::serialized_data ChannelInfo::serialize()
data["last_topic_setter"] << this->last_topic_setter;
data["last_topic_time"].setType(Serialize::DT_INT) << this->last_topic_time;
data["bantype"].setType(Serialize::DT_INT) << this->bantype;
+ data["flags"] << this->ToString();
data["botflags"] << this->botflags.ToString();
{
Anope::string levels_buffer;
@@ -313,6 +316,7 @@ void ChannelInfo::unserialize(SerializableBase::serialized_data &data)
data["last_topic_setter"] >> ci->last_topic_setter;
data["last_topic_time"] >> ci->last_topic_time;
data["bantype"] >> ci->bantype;
+ ci->FromString(data["flags"].astr());
ci->botflags.FromString(data["botflags"].astr());
{
std::vector<Anope::string> v = BuildStringVector(data["levels"].astr());