summaryrefslogtreecommitdiff
path: root/modules/hostserv
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2016-12-01 09:25:53 -0500
committerAdam <Adam@anope.org>2016-12-01 09:25:53 -0500
commitca28f9cfcbff0fbdb2afe96f1427245f83db7c47 (patch)
treeac5de801a4db01a7cb689ec670537ad74c7c53e6 /modules/hostserv
parent2f512281029fbf4f7ef9832e05804831ad2d9ba2 (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/hostserv')
-rw-r--r--modules/hostserv/main/vhost.h12
-rw-r--r--modules/hostserv/request.cpp9
2 files changed, 10 insertions, 11 deletions
diff --git a/modules/hostserv/main/vhost.h b/modules/hostserv/main/vhost.h
index 90ac9140f..bdc6509d7 100644
--- a/modules/hostserv/main/vhost.h
+++ b/modules/hostserv/main/vhost.h
@@ -25,12 +25,12 @@ class VHostImpl : public HostServ::VHost
{
friend class VHostType;
- Serialize::Object *owner = nullptr;
- Anope::string vident;
- Anope::string vhost;
- Anope::string creator;
- time_t created = 0;
- bool default_ = false;
+ Serialize::Storage<Serialize::Object *> owner;
+ Serialize::Storage<Anope::string> vident;
+ Serialize::Storage<Anope::string> vhost;
+ Serialize::Storage<Anope::string> creator;
+ Serialize::Storage<time_t> created;
+ Serialize::Storage<bool> default_;
public:
using HostServ::VHost::VHost;
diff --git a/modules/hostserv/request.cpp b/modules/hostserv/request.cpp
index 7b66eb59c..9508a9abc 100644
--- a/modules/hostserv/request.cpp
+++ b/modules/hostserv/request.cpp
@@ -24,15 +24,14 @@ class HostRequest : public Serialize::Object
{
friend class HostRequestType;
- NickServ::Account *acc = nullptr;
- Anope::string ident, host;
- time_t time = 0;
+ Serialize::Storage<NickServ::Account *> acc;
+ Serialize::Storage<Anope::string> ident, host;
+ Serialize::Storage<time_t> time;
public:
static constexpr const char *const NAME = "hostrequest";
- HostRequest(Serialize::TypeBase *type) : Serialize::Object(type) { }
- HostRequest(Serialize::TypeBase *type, Serialize::ID id) : Serialize::Object(type, id) { }
+ using Serialize::Object::Object;
NickServ::Account *GetAccount();
void SetAccount(NickServ::Account *);