1
0
mirror of https://github.com/anope/anope.git synced 2026-07-03 08:33:12 +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
+20 -8
View File
@@ -43,15 +43,25 @@ struct NSMiscData final
name = n;
data = d;
}
};
void Serialize(Serialize::Data &sdata) const override
struct NSMiscDataType final
: Serialize::Type
{
NSMiscDataType()
: Serialize::Type("NSMiscData")
{
sdata.Store("nc", this->object);
sdata.Store("name", this->name);
sdata.Store("data", this->data);
}
static Serializable *Unserialize(Serializable *obj, Serialize::Data &data)
void Serialize(const Serializable *obj, Serialize::Data &sdata) const override
{
const auto *d = static_cast<const NSMiscData *>(obj);
sdata.Store("nc", d->object);
sdata.Store("name", d->name);
sdata.Store("data", d->data);
}
Serializable *Unserialize(Serializable *obj, Serialize::Data &data) const override
{
Anope::string snc, sname, sdata;
@@ -185,11 +195,13 @@ class NSSetMisc final
{
CommandNSSetMisc commandnssetmisc;
CommandNSSASetMisc commandnssasetmisc;
Serialize::Type nsmiscdata_type;
NSMiscDataType nsmiscdata_type;
public:
NSSetMisc(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR),
commandnssetmisc(this), commandnssasetmisc(this), nsmiscdata_type("NSMiscData", NSMiscData::Unserialize)
NSSetMisc(const Anope::string &modname, const Anope::string &creator)
: Module(modname, creator, VENDOR)
, commandnssetmisc(this)
, commandnssasetmisc(this)
{
me = this;
}