From cdcf0e2f9a8fb0e1c363fc65f71f3131fc6c5ea5 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Wed, 12 Mar 2025 10:29:11 +0000 Subject: Move serialization from Serializable to a Serialize::Type child. --- include/modules/operserv/oper.h | 30 ------------------------------ include/modules/operserv/session.h | 34 ---------------------------------- 2 files changed, 64 deletions(-) (limited to 'include/modules/operserv') diff --git a/include/modules/operserv/oper.h b/include/modules/operserv/oper.h index 154b6af08..60511d7b5 100644 --- a/include/modules/operserv/oper.h +++ b/include/modules/operserv/oper.h @@ -13,34 +13,4 @@ struct MyOper final , Serializable { MyOper(const Anope::string &n, OperType *o) : Oper(n, o), Serializable("Oper") { } - - void Serialize(Serialize::Data &data) const override - { - data.Store("name", this->name); - data.Store("type", this->ot->GetName()); - } - - static Serializable *Unserialize(Serializable *obj, Serialize::Data &data) - { - Anope::string stype, sname; - - data["type"] >> stype; - data["name"] >> sname; - - OperType *ot = OperType::Find(stype); - if (ot == NULL) - return NULL; - NickCore *nc = NickCore::Find(sname); - if (nc == NULL) - return NULL; - - MyOper *myo; - if (obj) - myo = anope_dynamic_static_cast(obj); - else - myo = new MyOper(nc->display, ot); - nc->o = myo; - Log(LOG_NORMAL, "operserv/oper") << "Tied oper " << nc->display << " to type " << ot->GetName(); - return myo; - } }; diff --git a/include/modules/operserv/session.h b/include/modules/operserv/session.h index 0f25f669e..c7f5a67e7 100644 --- a/include/modules/operserv/session.h +++ b/include/modules/operserv/session.h @@ -28,8 +28,6 @@ struct Exception final time_t expires; /* Time when it expires. 0 == no expiry */ Exception() : Serializable("Exception") { } - void Serialize(Serialize::Data &data) const override; - static Serializable *Unserialize(Serializable *obj, Serialize::Data &data); }; class SessionService @@ -59,35 +57,3 @@ public: }; static ServiceReference session_service("SessionService", "session"); - -void Exception::Serialize(Serialize::Data &data) const -{ - data.Store("mask", this->mask); - data.Store("limit", this->limit); - data.Store("who", this->who); - data.Store("reason", this->reason); - data.Store("time", this->time); - data.Store("expires", this->expires); -} - -Serializable *Exception::Unserialize(Serializable *obj, Serialize::Data &data) -{ - if (!session_service) - return NULL; - - Exception *ex; - if (obj) - ex = anope_dynamic_static_cast(obj); - else - ex = new Exception; - data["mask"] >> ex->mask; - data["limit"] >> ex->limit; - data["who"] >> ex->who; - data["reason"] >> ex->reason; - data["time"] >> ex->time; - data["expires"] >> ex->expires; - - if (!obj) - session_service->AddException(ex); - return ex; -} -- cgit