diff options
| author | Adam <Adam@anope.org> | 2016-11-25 16:35:10 -0500 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2016-11-25 16:35:56 -0500 |
| commit | a635344582a13d935631fbe930d79d3788359c8a (patch) | |
| tree | cd7b372d02f94c7f6c18542e06d29deff0f19842 /modules/chanserv/main | |
| parent | f30d99f81f6fb8abd7ca555068173bad6c99e07a (diff) | |
Rename most ext fields names to be consistent with everything else, add accessors for many
Diffstat (limited to 'modules/chanserv/main')
| -rw-r--r-- | modules/chanserv/main/chanaccess.cpp | 6 | ||||
| -rw-r--r-- | modules/chanserv/main/chanaccesstype.h | 4 | ||||
| -rw-r--r-- | modules/chanserv/main/channel.cpp | 178 | ||||
| -rw-r--r-- | modules/chanserv/main/channel.h | 78 | ||||
| -rw-r--r-- | modules/chanserv/main/channeltype.cpp | 18 | ||||
| -rw-r--r-- | modules/chanserv/main/channeltype.h | 6 | ||||
| -rw-r--r-- | modules/chanserv/main/chanserv.cpp | 19 |
7 files changed, 273 insertions, 36 deletions
diff --git a/modules/chanserv/main/chanaccess.cpp b/modules/chanserv/main/chanaccess.cpp index bf05cdf8b..75c70ed9c 100644 --- a/modules/chanserv/main/chanaccess.cpp +++ b/modules/chanserv/main/chanaccess.cpp @@ -23,12 +23,12 @@ ChanServ::Channel *ChanAccessImpl::GetChannel() { - return Get(&ChanAccessType<ChanServ::ChanAccess>::ci); + return Get(&ChanAccessType<ChanServ::ChanAccess>::channel); } -void ChanAccessImpl::SetChannel(ChanServ::Channel *ci) +void ChanAccessImpl::SetChannel(ChanServ::Channel *channel) { - Object::Set(&ChanAccessType<ChanServ::ChanAccess>::ci, ci); + Object::Set(&ChanAccessType<ChanServ::ChanAccess>::channel, channel); } Anope::string ChanAccessImpl::GetCreator() diff --git a/modules/chanserv/main/chanaccesstype.h b/modules/chanserv/main/chanaccesstype.h index c755a7df5..b93747be7 100644 --- a/modules/chanserv/main/chanaccesstype.h +++ b/modules/chanserv/main/chanaccesstype.h @@ -23,7 +23,7 @@ class ChanAccessType : public Serialize::Type<T> static_assert(std::is_base_of<ChanServ::ChanAccess, T>::value, ""); public: - Serialize::ObjectField<ChanServ::ChanAccess, ChanServ::Channel *> ci; + Serialize::ObjectField<ChanServ::ChanAccess, ChanServ::Channel *> channel; Serialize::Field<ChanServ::ChanAccess, Anope::string> mask; Serialize::ObjectField<ChanServ::ChanAccess, Serialize::Object *> obj; Serialize::Field<ChanServ::ChanAccess, Anope::string> creator; @@ -31,7 +31,7 @@ class ChanAccessType : public Serialize::Type<T> Serialize::Field<ChanServ::ChanAccess, time_t> created; ChanAccessType(Module *me) : Serialize::Type<T>(me) - , ci(this, "ci", &ChanServ::ChanAccess::channel, true) + , channel(this, "channel", &ChanServ::ChanAccess::channel, true) , mask(this, "mask", &ChanServ::ChanAccess::mask) , obj(this, "obj", &ChanServ::ChanAccess::object, true) , creator(this, "creator", &ChanServ::ChanAccess::creator) diff --git a/modules/chanserv/main/channel.cpp b/modules/chanserv/main/channel.cpp index 67a4c94ec..a35c80901 100644 --- a/modules/chanserv/main/channel.cpp +++ b/modules/chanserv/main/channel.cpp @@ -76,7 +76,7 @@ time_t ChannelImpl::GetTimeRegistered() return Get(&ChannelType::time_registered); } -void ChannelImpl::SetTimeRegistered(const time_t &t) +void ChannelImpl::SetTimeRegistered(time_t t) { Set(&ChannelType::time_registered, t); } @@ -86,7 +86,7 @@ time_t ChannelImpl::GetLastUsed() return Get(&ChannelType::last_used); } -void ChannelImpl::SetLastUsed(const time_t &t) +void ChannelImpl::SetLastUsed(time_t t) { Set(&ChannelType::last_used, t); } @@ -116,7 +116,7 @@ time_t ChannelImpl::GetLastTopicTime() return Get(&ChannelType::last_topic_time); } -void ChannelImpl::SetLastTopicTime(const time_t &t) +void ChannelImpl::SetLastTopicTime(time_t t) { Set(&ChannelType::last_topic_time, t); } @@ -126,7 +126,7 @@ int16_t ChannelImpl::GetBanType() return Get(&ChannelType::bantype); } -void ChannelImpl::SetBanType(const int16_t &i) +void ChannelImpl::SetBanType(int16_t i) { Set(&ChannelType::bantype, i); } @@ -136,19 +136,19 @@ time_t ChannelImpl::GetBanExpire() return Get(&ChannelType::banexpire); } -void ChannelImpl::SetBanExpire(const time_t &t) +void ChannelImpl::SetBanExpire(time_t t) { Set(&ChannelType::banexpire, t); } BotInfo *ChannelImpl::GetBI() { - return Get(&ChannelType::bi); + return Get(&ChannelType::servicebot); } void ChannelImpl::SetBI(BotInfo *bi) { - Set(&ChannelType::bi, bi); + Set(&ChannelType::servicebot, bi); } ServiceBot *ChannelImpl::GetBot() @@ -187,6 +187,166 @@ NickServ::Account *ChannelImpl::GetSuccessor() return Get(&ChannelType::successor); } +bool ChannelImpl::IsGreet() +{ + return Get(&ChannelType::greet); +} + +void ChannelImpl::SetGreet(bool greet) +{ + Set(&ChannelType::greet, greet); +} + +bool ChannelImpl::IsFantasy() +{ + return Get(&ChannelType::fantasy); +} + +void ChannelImpl::SetFantasy(bool fantasy) +{ + Set(&ChannelType::fantasy, fantasy); +} + +bool ChannelImpl::IsNoAutoop() +{ + return Get(&ChannelType::noautoop); +} + +void ChannelImpl::SetNoAutoop(bool noautoop) +{ + Set(&ChannelType::noautoop, noautoop); +} + +bool ChannelImpl::IsPeace() +{ + return Get(&ChannelType::peace); +} + +void ChannelImpl::SetPeace(bool peace) +{ + Set(&ChannelType::peace, peace); +} + +bool ChannelImpl::IsSecureFounder() +{ + return Get(&ChannelType::securefounder); +} + +void ChannelImpl::SetSecureFounder(bool securefounder) +{ + Set(&ChannelType::securefounder, securefounder); +} + +bool ChannelImpl::IsRestricted() +{ + return Get(&ChannelType::restricted); +} + +void ChannelImpl::SetRestricted(bool restricted) +{ + Set(&ChannelType::restricted, restricted); +} + +bool ChannelImpl::IsSecure() +{ + return Get(&ChannelType::secure); +} + +void ChannelImpl::SetSecure(bool secure) +{ + Set(&ChannelType::secure, secure); +} + +bool ChannelImpl::IsSecureOps() +{ + return Get(&ChannelType::secureops); +} + +void ChannelImpl::SetSecureOps(bool secureops) +{ + Set(&ChannelType::secureops, secureops); +} + +bool ChannelImpl::IsSignKick() +{ + return Get(&ChannelType::signkick); +} + +void ChannelImpl::SetSignKick(bool signkick) +{ + Set(&ChannelType::signkick, signkick); +} + +bool ChannelImpl::IsSignKickLevel() +{ + return Get(&ChannelType::signkicklevel); +} + +void ChannelImpl::SetSignKickLevel(bool signkicklevel) +{ + Set(&ChannelType::signkicklevel, signkicklevel); +} + +bool ChannelImpl::IsNoExpire() +{ + return Get(&ChannelType::noexpire); +} + +void ChannelImpl::SetNoExpire(bool noexpire) +{ + Set(&ChannelType::noexpire, noexpire); +} + +bool ChannelImpl::IsKeepModes() +{ + return Get(&ChannelType::keepmodes); +} + +void ChannelImpl::SetKeepModes(bool keepmodes) +{ + Set(&ChannelType::keepmodes, keepmodes); +} + +bool ChannelImpl::IsPersist() +{ + return Get(&ChannelType::persist); +} + +void ChannelImpl::SetPersist(bool persist) +{ + Set(&ChannelType::persist, persist); +} + +bool ChannelImpl::IsTopicLock() +{ + return Get(&ChannelType::topiclock); +} + +void ChannelImpl::SetTopicLock(bool topiclock) +{ + Set(&ChannelType::topiclock, topiclock); +} + +bool ChannelImpl::IsKeepTopic() +{ + return Get(&ChannelType::keeptopic); +} + +void ChannelImpl::SetKeepTopic(bool keeptopic) +{ + Set(&ChannelType::keeptopic, keeptopic); +} + +bool ChannelImpl::IsPrivate() +{ + return Get(&ChannelType::_private); +} + +void ChannelImpl::SetPrivate(bool _private) +{ + Set(&ChannelType::_private, _private); +} + ChanServ::ChanAccess *ChannelImpl::GetAccess(unsigned index) { std::vector<ChanServ::ChanAccess *> a = GetRefs<ChanServ::ChanAccess *>(); @@ -200,8 +360,8 @@ ChanServ::AccessGroup ChannelImpl::AccessFor(const User *u, bool updateLastUsed) if (u == NULL) return group; - const NickServ::Account *nc = u->Account(); - if (nc == NULL && !this->HasFieldS("NS_SECURE") && u->IsRecognized()) + NickServ::Account *nc = u->Account(); + if (nc == NULL && !nc->IsSecure() && u->IsRecognized()) { NickServ::Nick *na = NickServ::FindNick(u->nick); if (na != NULL) diff --git a/modules/chanserv/main/channel.h b/modules/chanserv/main/channel.h index 94f56ddd4..fd9a357eb 100644 --- a/modules/chanserv/main/channel.h +++ b/modules/chanserv/main/channel.h @@ -29,6 +29,22 @@ class ChannelImpl : public ChanServ::Channel int16_t bantype = 0; time_t banexpire = 0; BotInfo *bi = nullptr; + bool greet = false; + bool fantasy = false; + bool noautoop = false; + bool peace = false; + bool securefounder = false; + bool restricted = false; + bool secure = false; + bool secureops = false; + bool signkick = false; + bool signkicklevel = false; + bool noexpire = false; + bool keepmodes = false; + bool persist = false; + bool topiclock = false; + bool keeptopic = false; + bool _private = false; public: ChannelImpl(Serialize::TypeBase *type) : ChanServ::Channel(type) { } @@ -43,10 +59,10 @@ class ChannelImpl : public ChanServ::Channel void SetDesc(const Anope::string &) override; time_t GetTimeRegistered() override; - void SetTimeRegistered(const time_t &) override; + void SetTimeRegistered(time_t) override; time_t GetLastUsed() override; - void SetLastUsed(const time_t &) override; + void SetLastUsed(time_t) override; Anope::string GetLastTopic() override; void SetLastTopic(const Anope::string &) override; @@ -55,13 +71,13 @@ class ChannelImpl : public ChanServ::Channel void SetLastTopicSetter(const Anope::string &) override; time_t GetLastTopicTime() override; - void SetLastTopicTime(const time_t &) override; + void SetLastTopicTime(time_t) override; int16_t GetBanType() override; - void SetBanType(const int16_t &) override; + void SetBanType(int16_t) override; time_t GetBanExpire() override; - void SetBanExpire(const time_t &) override; + void SetBanExpire(time_t) override; BotInfo *GetBI() override; void SetBI(BotInfo *) override; @@ -77,11 +93,59 @@ class ChannelImpl : public ChanServ::Channel void SetSuccessor(NickServ::Account *nc) override; NickServ::Account *GetSuccessor() override; + bool IsGreet() override; + void SetGreet(bool) override; + + bool IsFantasy() override; + void SetFantasy(bool) override; + + bool IsNoAutoop() override; + void SetNoAutoop(bool) override; + + bool IsPeace() override; + void SetPeace(bool) override; + + bool IsSecureFounder() override; + void SetSecureFounder(bool) override; + + bool IsRestricted() override; + void SetRestricted(bool) override; + + bool IsSecure() override; + void SetSecure(bool) override; + + bool IsSecureOps() override; + void SetSecureOps(bool) override; + + bool IsSignKick() override; + void SetSignKick(bool) override; + + bool IsSignKickLevel() override; + void SetSignKickLevel(bool) override; + + bool IsNoExpire() override; + void SetNoExpire(bool) override; + + bool IsKeepModes() override; + void SetKeepModes(bool) override; + + bool IsPersist() override; + void SetPersist(bool) override; + + bool IsTopicLock() override; + void SetTopicLock(bool) override; + + bool IsKeepTopic() override; + void SetKeepTopic(bool) override; + + bool IsPrivate() override; + void SetPrivate(bool) override; + bool IsFounder(const User *user) override; - ChanServ::ChanAccess *GetAccess(unsigned index) /*const*/ override; + ChanServ::ChanAccess *GetAccess(unsigned index) override; ChanServ::AccessGroup AccessFor(const User *u, bool = true) override; ChanServ::AccessGroup AccessFor(NickServ::Account *nc, bool = true) override; - unsigned GetAccessCount()/* const*/ override; + unsigned GetAccessCount() override; void ClearAccess() override; AutoKick* AddAkick(const Anope::string &user, NickServ::Account *akicknc, const Anope::string &reason, time_t t = Anope::CurTime, time_t lu = 0) override; AutoKick* AddAkick(const Anope::string &user, const Anope::string &mask, const Anope::string &reason, time_t t = Anope::CurTime, time_t lu = 0) override; diff --git a/modules/chanserv/main/channeltype.cpp b/modules/chanserv/main/channeltype.cpp index 37c290ef1..3f72cbb6b 100644 --- a/modules/chanserv/main/channeltype.cpp +++ b/modules/chanserv/main/channeltype.cpp @@ -32,7 +32,23 @@ ChannelType::ChannelType(Module *me) : Serialize::Type<ChannelImpl>(me) , banexpire(this, "banexpire", &ChannelImpl::banexpire) , founder(this, "founder", &ChannelImpl::founder) , successor(this, "successor", &ChannelImpl::successor) - , bi(this, "bi", &ChannelImpl::bi) + , servicebot(this, "servicebot", &ChannelImpl::bi) + , greet(this, "greet", &ChannelImpl::greet) + , fantasy(this, "fantasy", &ChannelImpl::fantasy) + , noautoop(this, "noautoop", &ChannelImpl::noautoop) + , peace(this, "peace", &ChannelImpl::peace) + , securefounder(this, "securefounder", &ChannelImpl::securefounder) + , restricted(this, "restricted", &ChannelImpl::restricted) + , secure(this, "secure", &ChannelImpl::secure) + , secureops(this, "secureops", &ChannelImpl::secureops) + , signkick(this, "signkick", &ChannelImpl::signkick) + , signkicklevel(this, "signkicklevel", &ChannelImpl::signkicklevel) + , noexpire(this, "noexpire", &ChannelImpl::noexpire) + , keepmodes(this, "keepmodes", &ChannelImpl::keepmodes) + , persist(this, "persist", &ChannelImpl::persist) + , topiclock(this, "topiclock", &ChannelImpl::topiclock) + , keeptopic(this, "keeptopic", &ChannelImpl::keeptopic) + , _private(this, "private", &ChannelImpl::_private) { } diff --git a/modules/chanserv/main/channeltype.h b/modules/chanserv/main/channeltype.h index 1f1c92201..4f833c82b 100644 --- a/modules/chanserv/main/channeltype.h +++ b/modules/chanserv/main/channeltype.h @@ -45,7 +45,11 @@ class ChannelType : public Serialize::Type<ChannelImpl> /* Who gets the channel if the founder nick is dropped or expires */ Serialize::ObjectField<ChannelImpl, NickServ::Account *> successor; - Serialize::ObjectField<ChannelImpl, BotInfo *> bi; + Serialize::ObjectField<ChannelImpl, BotInfo *> servicebot; + + Serialize::Field<ChannelImpl, bool> greet, fantasy, noautoop, peace, securefounder, + restricted, secure, secureops, signkick, signkicklevel, noexpire, keepmodes, + persist, topiclock, keeptopic, _private; ChannelType(Module *); diff --git a/modules/chanserv/main/chanserv.cpp b/modules/chanserv/main/chanserv.cpp index c6b30c2df..b6aedb0dd 100644 --- a/modules/chanserv/main/chanserv.cpp +++ b/modules/chanserv/main/chanserv.cpp @@ -249,16 +249,9 @@ class ChanServCore : public Module spacesepstream(conf->GetModule(this)->Get<Anope::string>("defaults", "greet fantasy")).GetTokens(defaults); if (defaults.empty()) - { - defaults.push_back("KEEPTOPIC"); - defaults.push_back("CS_SECURE"); - defaults.push_back("SECUREFOUNDER"); - defaults.push_back("SIGNKICK"); - } + defaults = { "keeptopic", "secure", "securefounder", "signkick" }; else if (defaults[0].equals_ci("none")) - { defaults.clear(); - } always_lower = conf->GetModule(this)->Get<bool>("always_lower_ts"); } @@ -408,7 +401,7 @@ class ChanServCore : public Module void OnChannelSync(Channel *c) override { - bool perm = c->HasMode("PERM") || (c->ci && c->ci->HasFieldS("PERSIST")); + bool perm = c->HasMode("PERM") || (c->ci && c->ci->IsPersist()); if (!perm && !c->botchannel && (c->users.empty() || (c->users.size() == 1 && c->users.begin()->second->user->server == Me))) { this->Hold(c); @@ -470,7 +463,7 @@ class ChanServCore : public Module /* Find all persistent channels and create them, as we are about to finish burst to our uplink */ for (ChanServ::Channel *ci : Serialize::GetObjects<ChanServ::Channel *>()) { - if (ci->HasFieldS("PERSIST")) + if (ci->IsPersist()) { bool c; ci->c = Channel::FindOrCreate(ci->GetName(), c, ci->GetTimeRegistered()); @@ -508,9 +501,9 @@ class ChanServCore : public Module return; /* Mark the channel as persistent */ if (ci->c->HasMode("PERM")) - ci->SetS("PERSIST", true); + ci->SetPersist(true); /* Persist may be in def cflags, set it here */ - else if (ci->HasFieldS("PERSIST")) + else if (ci->IsPersist()) ci->c->SetMode(NULL, "PERM"); } @@ -550,7 +543,7 @@ class ChanServCore : public Module return; time_t chanserv_expire = Config->GetModule(this)->Get<time_t>("expire", "14d"); - if (!ci->HasFieldS("CS_NO_EXPIRE") && chanserv_expire && !Anope::NoExpire && ci->GetLastUsed() != Anope::CurTime) + if (!ci->IsNoExpire() && chanserv_expire && !Anope::NoExpire && ci->GetLastUsed() != Anope::CurTime) info[_("Expires")] = Anope::strftime(ci->GetLastUsed() + chanserv_expire, source.GetAccount()); } |
