summaryrefslogtreecommitdiff
path: root/include/xline.h
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 /include/xline.h
parent718f2e922a6e1113d66fc6e96131213942d507b2 (diff)
Move serialization from Serializable to a Serialize::Type child.
Diffstat (limited to 'include/xline.h')
-rw-r--r--include/xline.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/xline.h b/include/xline.h
index ebd88e928..2db1d4b4a 100644
--- a/include/xline.h
+++ b/include/xline.h
@@ -16,6 +16,16 @@
class CoreExport XLine final
: public Serializable
{
+public:
+ struct Type final
+ : public Serialize::Type
+ {
+ Type();
+ void Serialize(const Serializable *obj, Serialize::Data &data) const override;
+ Serializable *Unserialize(Serializable *obj, Serialize::Data &data) const override;
+ };
+
+private:
void Init();
Anope::string nick, user, host, real;
public:
@@ -43,9 +53,6 @@ public:
bool HasNickOrReal() const;
bool IsRegex() const;
-
- void Serialize(Serialize::Data &data) const override;
- static Serializable *Unserialize(Serializable *obj, Serialize::Data &data);
};
/* Managers XLines. There is one XLineManager per type of XLine. */