diff options
author | Adam <Adam@anope.org> | 2012-12-13 06:12:56 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2012-12-13 06:12:56 -0500 |
commit | c1077faa281c5635f85b892e605e23bd6c8fcc3b (patch) | |
tree | 213b5f87a19f182e1efd6110f03ff10d5b10ebf6 /src/memos.cpp | |
parent | 76ba147c22944b67e8522cd2bb7b6e1bae498ced (diff) |
Optimize much of the database code and serialize code.
Diffstat (limited to 'src/memos.cpp')
-rw-r--r-- | src/memos.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/memos.cpp b/src/memos.cpp index 2b221b03a..2f2672c51 100644 --- a/src/memos.cpp +++ b/src/memos.cpp @@ -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); |