summaryrefslogtreecommitdiff
path: root/src/memos.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-12-13 06:12:56 -0500
committerAdam <Adam@anope.org>2012-12-13 06:12:56 -0500
commitc1077faa281c5635f85b892e605e23bd6c8fcc3b (patch)
tree213b5f87a19f182e1efd6110f03ff10d5b10ebf6 /src/memos.cpp
parent76ba147c22944b67e8522cd2bb7b6e1bae498ced (diff)
Optimize much of the database code and serialize code.
Diffstat (limited to 'src/memos.cpp')
-rw-r--r--src/memos.cpp17
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);