1
0
mirror of https://github.com/anope/anope.git synced 2026-06-28 06:16:37 +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
+9 -8
View File
@@ -24,17 +24,13 @@ template<> const Anope::string* Flags<MemoFlag>::flags_strings = MemoFlagString;
Memo::Memo() : Serializable("Memo") { }
Serialize::Data Memo::Serialize() const
void Memo::Serialize(Serialize::Data &data) const
{
Serialize::Data data;
data["owner"] << this->owner;
data["time"].SetType(Serialize::DT_INT) << this->time;
data.SetType("time", Serialize::Data::DT_INT); data["time"] << this->time;
data["sender"] << this->sender;
data["text"] << this->text;
data["flags"] << this->ToString();
return data;
}
Serializable* Memo::Unserialize(Serializable *obj, Serialize::Data &data)
@@ -42,8 +38,13 @@ Serializable* Memo::Unserialize(Serializable *obj, Serialize::Data &data)
if (!MemoServService)
return NULL;
Anope::string owner, flags;
data["owner"] >> owner;
data["flags"] >> flags;
bool ischan;
MemoInfo *mi = MemoServService->GetMemoInfo(data["owner"].astr(), ischan);
MemoInfo *mi = MemoServService->GetMemoInfo(owner, ischan);
if (!mi)
return NULL;
@@ -56,7 +57,7 @@ Serializable* Memo::Unserialize(Serializable *obj, Serialize::Data &data)
data["time"] >> m->time;
data["sender"] >> m->sender;
data["text"] >> m->text;
m->FromString(data["flags"].astr());
m->FromString(flags);
if (obj == NULL)
mi->memos->push_back(m);