diff options
Diffstat (limited to 'modules/operserv/os_stats.cpp')
-rw-r--r-- | modules/operserv/os_stats.cpp | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/modules/operserv/os_stats.cpp b/modules/operserv/os_stats.cpp index 14055971b..4b94a8f46 100644 --- a/modules/operserv/os_stats.cpp +++ b/modules/operserv/os_stats.cpp @@ -21,18 +21,27 @@ struct Stats final { me = this; } +}; + +struct StatsType final + : Serialize::Type +{ + StatsType() + : Serialize::Type("Stats") + { + } - void Serialize(Serialize::Data &data) const override + void Serialize(const Serializable *obj, Serialize::Data &data) const override { data.Store("maxusercnt", MaxUserCount); data.Store("maxusertime", MaxUserTime); } - static Serializable *Unserialize(Serializable *obj, Serialize::Data &data) + Serializable *Unserialize(Serializable *obj, Serialize::Data &data) const override { data["maxusercnt"] >> MaxUserCount; data["maxusertime"] >> MaxUserTime; - return me; + return obj; } }; @@ -316,14 +325,14 @@ class OSStats final : public Module { CommandOSStats commandosstats; - Serialize::Type stats_type; + StatsType stats_type; Stats stats_saver; public: - OSStats(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR), - commandosstats(this), stats_type("Stats", Stats::Unserialize) + OSStats(const Anope::string &modname, const Anope::string &creator) + : Module(modname, creator, VENDOR) + , commandosstats(this) { - } void OnUserConnect(User *u, bool &exempt) override |