diff options
Diffstat (limited to 'src/access.cpp')
-rw-r--r-- | src/access.cpp | 27 |
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; |