diff options
author | Sadie Powell <sadie@witchery.services> | 2025-03-12 10:29:11 +0000 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2025-03-12 15:53:52 +0000 |
commit | cdcf0e2f9a8fb0e1c363fc65f71f3131fc6c5ea5 (patch) | |
tree | 3a665673235bb4dea58b99474492d90e0f711697 /src/serialize.cpp | |
parent | 718f2e922a6e1113d66fc6e96131213942d507b2 (diff) |
Move serialization from Serializable to a Serialize::Type child.
Diffstat (limited to 'src/serialize.cpp')
-rw-r--r-- | src/serialize.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/serialize.cpp b/src/serialize.cpp index a90c0e7a8..e365ba01c 100644 --- a/src/serialize.cpp +++ b/src/serialize.cpp @@ -27,9 +27,14 @@ std::list<Serializable *> *Serializable::SerializableItems; void Serialize::RegisterTypes() { - static Type nc("NickCore", NickCore::Unserialize), na("NickAlias", NickAlias::Unserialize), bi("BotInfo", BotInfo::Unserialize), - ci("ChannelInfo", ChannelInfo::Unserialize), access("ChanAccess", ChanAccess::Unserialize), - akick("AutoKick", AutoKick::Unserialize), memo("Memo", Memo::Unserialize), xline("XLine", XLine::Unserialize); + static NickCore::Type nc; + static NickAlias::Type na; + static BotInfo::Type bi; + static ChannelInfo::Type ci; + static ChanAccess::Type access; + static AutoKick::Type akick; + static Memo::Type memo; + static XLine::Type xline; } void Serialize::CheckTypes() @@ -124,7 +129,9 @@ void Serialize::Data::SetType(const Anope::string &key, Serialize::DataType dt) this->types[key] = dt; } -Type::Type(const Anope::string &n, unserialize_func f, Module *o) : name(n), unserialize(f), owner(o) +Type::Type(const Anope::string &n, Module *o) + : name(n) + , owner(o) { TypeOrder.push_back(this->name); Types[this->name] = this; @@ -150,11 +157,6 @@ Type::~Type() Types.erase(this->name); } -Serializable *Type::Unserialize(Serializable *obj, Serialize::Data &data) -{ - return this->unserialize(obj, data); -} - void Type::Check() { FOREACH_MOD(OnSerializeCheck, (this)); |