summaryrefslogtreecommitdiff
path: root/src/serialize.cpp
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2025-03-12 10:29:11 +0000
committerSadie Powell <sadie@witchery.services>2025-03-12 15:53:52 +0000
commitcdcf0e2f9a8fb0e1c363fc65f71f3131fc6c5ea5 (patch)
tree3a665673235bb4dea58b99474492d90e0f711697 /src/serialize.cpp
parent718f2e922a6e1113d66fc6e96131213942d507b2 (diff)
Move serialization from Serializable to a Serialize::Type child.
Diffstat (limited to 'src/serialize.cpp')
-rw-r--r--src/serialize.cpp20
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));