1
0
mirror of https://github.com/anope/anope.git synced 2026-07-04 13:13:14 +02:00

Optimize much of the database code and serialize code.

This commit is contained in:
Adam
2012-12-13 06:12:56 -05:00
parent 76ba147c22
commit c1077faa28
60 changed files with 1203 additions and 1057 deletions
+10 -8
View File
@@ -23,20 +23,22 @@ struct NSMiscData : ExtensibleItem, Serializable
{
}
Serialize::Data Serialize() const anope_override
void Serialize(Serialize::Data &sdata) const anope_override
{
Serialize::Data sdata;
sdata["nc"] << this->nc->display;
sdata["name"] << this->name;
sdata["data"] << this->data;
return sdata;
}
static Serializable* Unserialize(Serializable *obj, Serialize::Data &data)
{
NickCore *nc = NickCore::Find(data["nc"].astr());
Anope::string snc, sname, sdata;
data["nc"] >> snc;
data["name"] >> sname;
data["data"] >> sdata;
NickCore *nc = NickCore::Find(snc);
if (nc == NULL)
return NULL;
@@ -50,8 +52,8 @@ struct NSMiscData : ExtensibleItem, Serializable
}
else
{
d = new NSMiscData(nc, data["name"].astr(), data["data"].astr());
nc->Extend(data["name"].astr(), d);
d = new NSMiscData(nc, sname, sdata);
nc->Extend(sname, d);
}
return d;