summaryrefslogtreecommitdiff
path: root/src/access.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/access.cpp')
-rw-r--r--src/access.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/access.cpp b/src/access.cpp
index d1c7f59c6..b31a4106a 100644
--- a/src/access.cpp
+++ b/src/access.cpp
@@ -158,19 +158,26 @@ NickCore *ChanAccess::GetAccount() const
return nc;
}
-void ChanAccess::Serialize(Serialize::Data &data) const
+
+ChanAccess::Type::Type()
+ : Serialize::Type("ChanAccess")
+{
+}
+
+void ChanAccess::Type::Serialize(const Serializable *obj, Serialize::Data &data) const
{
- data.Store("provider", this->provider->name);
- data.Store("ci", this->ci->name);
- data.Store("mask", this->Mask());
- data.Store("creator", this->creator);
- data.Store("description", this->description);
- data.Store("last_seen", this->last_seen);
- data.Store("created", this->created);
- data.Store("data", this->AccessSerialize());
+ const auto *access = static_cast<const ChanAccess *>(obj);
+ data.Store("provider", access->provider->name);
+ data.Store("ci", access->ci->name);
+ data.Store("mask", access->Mask());
+ data.Store("creator", access->creator);
+ data.Store("description", access->description);
+ data.Store("last_seen", access->last_seen);
+ data.Store("created", access->created);
+ data.Store("data", access->AccessSerialize());
}
-Serializable *ChanAccess::Unserialize(Serializable *obj, Serialize::Data &data)
+Serializable *ChanAccess::Type::Unserialize(Serializable *obj, Serialize::Data &data) const
{
Anope::string provider, chan;