summaryrefslogtreecommitdiff
path: root/modules/operserv/os_stats.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/operserv/os_stats.cpp')
-rw-r--r--modules/operserv/os_stats.cpp23
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