1
0
mirror of https://github.com/anope/anope.git synced 2026-06-26 08:36:39 +02:00

Move serialization from Serializable to a Serialize::Type child.

This commit is contained in:
Sadie Powell
2025-03-12 10:29:11 +00:00
parent 718f2e922a
commit cdcf0e2f9a
40 changed files with 778 additions and 452 deletions
+17 -10
View File
@@ -158,19 +158,26 @@ NickCore *ChanAccess::GetAccount() const
return nc;
}
void ChanAccess::Serialize(Serialize::Data &data) const
ChanAccess::Type::Type()
: Serialize::Type("ChanAccess")
{
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());
}
Serializable *ChanAccess::Unserialize(Serializable *obj, Serialize::Data &data)
void ChanAccess::Type::Serialize(const Serializable *obj, Serialize::Data &data) const
{
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::Type::Unserialize(Serializable *obj, Serialize::Data &data) const
{
Anope::string provider, chan;