diff options
author | Adam <Adam@anope.org> | 2016-12-01 09:25:53 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2016-12-01 09:25:53 -0500 |
commit | ca28f9cfcbff0fbdb2afe96f1427245f83db7c47 (patch) | |
tree | ac5de801a4db01a7cb689ec670537ad74c7c53e6 /modules/chanserv/akick.cpp | |
parent | 2f512281029fbf4f7ef9832e05804831ad2d9ba2 (diff) |
Allow objects to opt out of gc, don't gc accounts with users logged in
Also store cached state with the field by using Serialize::Storage for
field storage
Diffstat (limited to 'modules/chanserv/akick.cpp')
-rw-r--r-- | modules/chanserv/akick.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/modules/chanserv/akick.cpp b/modules/chanserv/akick.cpp index 1930cb20b..9338a4dd7 100644 --- a/modules/chanserv/akick.cpp +++ b/modules/chanserv/akick.cpp @@ -24,14 +24,13 @@ class AutoKickImpl : public AutoKick { friend class AutoKickType; - ChanServ::Channel *channel = nullptr; - NickServ::Account *account = nullptr; - Anope::string mask, reason, creator; - time_t addtime = 0, last_time = 0; + Serialize::Storage<ChanServ::Channel *> channel; + Serialize::Storage<NickServ::Account *> account; + Serialize::Storage<Anope::string> mask, reason, creator; + Serialize::Storage<time_t> addtime, last_time; public: - AutoKickImpl(Serialize::TypeBase *type) : AutoKick(type) { } - AutoKickImpl(Serialize::TypeBase *type, Serialize::ID id) : AutoKick(type, id) { } + using AutoKick::AutoKick; ChanServ::Channel *GetChannel() override; void SetChannel(ChanServ::Channel *ci) override; |