summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2024-01-23 13:54:16 +0000
committerSadie Powell <sadie@witchery.services>2024-01-23 16:53:06 +0000
commit72acef4e159df5dcdb93b3c13b2f9d2e5e4c21a9 (patch)
treefc0a965612b45478e3b6f1566641df12790a818d
parenta6a0f6c44780c839b2269f4f29a26ecfdbd95544 (diff)
Mark types that have no inheritors as final.
-rw-r--r--include/access.h6
-rw-r--r--include/account.h4
-rw-r--r--include/anope.h14
-rw-r--r--include/bots.h2
-rw-r--r--include/channels.h4
-rw-r--r--include/commands.h6
-rw-r--r--include/config.h8
-rw-r--r--include/extensible.h2
-rw-r--r--include/hashcomp.h6
-rw-r--r--include/lists.h4
-rw-r--r--include/logger.h6
-rw-r--r--include/mail.h2
-rw-r--r--include/memo.h4
-rw-r--r--include/modes.h6
-rw-r--r--include/modules.h8
-rw-r--r--include/modules/dns.h4
-rw-r--r--include/modules/httpd.h6
-rw-r--r--include/modules/ldap.h6
-rw-r--r--include/modules/os_news.h2
-rw-r--r--include/modules/os_session.h4
-rw-r--r--include/modules/redis.h2
-rw-r--r--include/modules/sasl.h2
-rw-r--r--include/modules/sql.h6
-rw-r--r--include/modules/xmlrpc.h2
-rw-r--r--include/opertype.h2
-rw-r--r--include/protocol.h4
-rw-r--r--include/regchannel.h4
-rw-r--r--include/regexpr.h2
-rw-r--r--include/serialize.h4
-rw-r--r--include/servers.h2
-rw-r--r--include/service.h2
-rw-r--r--include/socketengine.h2
-rw-r--r--include/sockets.h8
-rw-r--r--include/timers.h2
-rw-r--r--include/uplink.h4
-rw-r--r--include/xline.h2
-rw-r--r--modules/bs_autoassign.cpp2
-rw-r--r--modules/commands/bs_assign.cpp8
-rw-r--r--modules/commands/bs_badwords.cpp12
-rw-r--r--modules/commands/bs_bot.cpp4
-rw-r--r--modules/commands/bs_botlist.cpp4
-rw-r--r--modules/commands/bs_control.cpp6
-rw-r--r--modules/commands/bs_info.cpp4
-rw-r--r--modules/commands/bs_kick.cpp40
-rw-r--r--modules/commands/bs_set.cpp10
-rw-r--r--modules/commands/cs_access.cpp14
-rw-r--r--modules/commands/cs_akick.cpp8
-rw-r--r--modules/commands/cs_ban.cpp6
-rw-r--r--modules/commands/cs_clone.cpp4
-rw-r--r--modules/commands/cs_drop.cpp4
-rw-r--r--modules/commands/cs_enforce.cpp4
-rw-r--r--modules/commands/cs_entrymsg.cpp8
-rw-r--r--modules/commands/cs_flags.cpp8
-rw-r--r--modules/commands/cs_getkey.cpp4
-rw-r--r--modules/commands/cs_info.cpp4
-rw-r--r--modules/commands/cs_invite.cpp4
-rw-r--r--modules/commands/cs_kick.cpp4
-rw-r--r--modules/commands/cs_list.cpp6
-rw-r--r--modules/commands/cs_log.cpp10
-rw-r--r--modules/commands/cs_mode.cpp10
-rw-r--r--modules/commands/cs_register.cpp4
-rw-r--r--modules/commands/cs_seen.cpp8
-rw-r--r--modules/commands/cs_set.cpp34
-rw-r--r--modules/commands/cs_set_misc.cpp6
-rw-r--r--modules/commands/cs_status.cpp4
-rw-r--r--modules/commands/cs_suspend.cpp10
-rw-r--r--modules/commands/cs_sync.cpp4
-rw-r--r--modules/commands/cs_topic.cpp6
-rw-r--r--modules/commands/cs_unban.cpp4
-rw-r--r--modules/commands/cs_updown.cpp6
-rw-r--r--modules/commands/cs_xop.cpp12
-rw-r--r--modules/commands/gl_global.cpp4
-rw-r--r--modules/commands/greet.cpp6
-rw-r--r--modules/commands/help.cpp4
-rw-r--r--modules/commands/hs_del.cpp6
-rw-r--r--modules/commands/hs_group.cpp4
-rw-r--r--modules/commands/hs_list.cpp4
-rw-r--r--modules/commands/hs_off.cpp4
-rw-r--r--modules/commands/hs_on.cpp4
-rw-r--r--modules/commands/hs_request.cpp12
-rw-r--r--modules/commands/hs_set.cpp6
-rw-r--r--modules/commands/ms_cancel.cpp4
-rw-r--r--modules/commands/ms_check.cpp4
-rw-r--r--modules/commands/ms_del.cpp6
-rw-r--r--modules/commands/ms_ignore.cpp4
-rw-r--r--modules/commands/ms_info.cpp4
-rw-r--r--modules/commands/ms_list.cpp6
-rw-r--r--modules/commands/ms_read.cpp6
-rw-r--r--modules/commands/ms_rsend.cpp4
-rw-r--r--modules/commands/ms_send.cpp4
-rw-r--r--modules/commands/ms_sendall.cpp4
-rw-r--r--modules/commands/ms_set.cpp4
-rw-r--r--modules/commands/ms_staff.cpp4
-rw-r--r--modules/commands/ns_access.cpp4
-rw-r--r--modules/commands/ns_ajoin.cpp8
-rw-r--r--modules/commands/ns_alist.cpp4
-rw-r--r--modules/commands/ns_cert.cpp10
-rw-r--r--modules/commands/ns_drop.cpp4
-rw-r--r--modules/commands/ns_getemail.cpp4
-rw-r--r--modules/commands/ns_group.cpp10
-rw-r--r--modules/commands/ns_identify.cpp6
-rw-r--r--modules/commands/ns_info.cpp6
-rw-r--r--modules/commands/ns_list.cpp6
-rw-r--r--modules/commands/ns_logout.cpp4
-rw-r--r--modules/commands/ns_recover.cpp8
-rw-r--r--modules/commands/ns_register.cpp8
-rw-r--r--modules/commands/ns_resetpass.cpp6
-rw-r--r--modules/commands/ns_set.cpp32
-rw-r--r--modules/commands/ns_set_misc.cpp6
-rw-r--r--modules/commands/ns_status.cpp4
-rw-r--r--modules/commands/ns_suspend.cpp10
-rw-r--r--modules/commands/ns_update.cpp4
-rw-r--r--modules/commands/os_akill.cpp8
-rw-r--r--modules/commands/os_chankill.cpp4
-rw-r--r--modules/commands/os_config.cpp4
-rw-r--r--modules/commands/os_defcon.cpp8
-rw-r--r--modules/commands/os_dns.cpp8
-rw-r--r--modules/commands/os_forbid.cpp8
-rw-r--r--modules/commands/os_ignore.cpp8
-rw-r--r--modules/commands/os_info.cpp8
-rw-r--r--modules/commands/os_jupe.cpp4
-rw-r--r--modules/commands/os_kick.cpp4
-rw-r--r--modules/commands/os_kill.cpp4
-rw-r--r--modules/commands/os_list.cpp6
-rw-r--r--modules/commands/os_login.cpp6
-rw-r--r--modules/commands/os_logsearch.cpp4
-rw-r--r--modules/commands/os_mode.cpp6
-rw-r--r--modules/commands/os_modinfo.cpp6
-rw-r--r--modules/commands/os_module.cpp8
-rw-r--r--modules/commands/os_news.cpp12
-rw-r--r--modules/commands/os_noop.cpp4
-rw-r--r--modules/commands/os_oper.cpp6
-rw-r--r--modules/commands/os_reload.cpp4
-rw-r--r--modules/commands/os_session.cpp12
-rw-r--r--modules/commands/os_set.cpp4
-rw-r--r--modules/commands/os_shutdown.cpp8
-rw-r--r--modules/commands/os_stats.cpp6
-rw-r--r--modules/commands/os_svs.cpp8
-rw-r--r--modules/commands/os_sxline.cpp10
-rw-r--r--modules/commands/os_update.cpp4
-rw-r--r--modules/cs_statusupdate.cpp2
-rw-r--r--modules/database/db_flatfile.cpp6
-rw-r--r--modules/database/db_old.cpp6
-rw-r--r--modules/database/db_redis.cpp18
-rw-r--r--modules/database/db_sql.cpp4
-rw-r--r--modules/database/db_sql_live.cpp2
-rw-r--r--modules/encryption/enc_bcrypt.cpp2
-rw-r--r--modules/encryption/enc_md5.cpp6
-rw-r--r--modules/encryption/enc_none.cpp2
-rw-r--r--modules/encryption/enc_old.cpp4
-rw-r--r--modules/encryption/enc_sha1.cpp6
-rw-r--r--modules/encryption/enc_sha256.cpp6
-rw-r--r--modules/extra/m_ldap.cpp14
-rw-r--r--modules/extra/m_ldap_authentication.cpp10
-rw-r--r--modules/extra/m_ldap_oper.cpp4
-rw-r--r--modules/extra/m_mysql.cpp12
-rw-r--r--modules/extra/m_regex_pcre2.cpp6
-rw-r--r--modules/extra/m_regex_posix.cpp6
-rw-r--r--modules/extra/m_regex_tre.cpp6
-rw-r--r--modules/extra/m_sql_authentication.cpp4
-rw-r--r--modules/extra/m_sql_log.cpp2
-rw-r--r--modules/extra/m_sql_oper.cpp8
-rw-r--r--modules/extra/m_sqlite.cpp6
-rw-r--r--modules/extra/m_ssl_gnutls.cpp20
-rw-r--r--modules/extra/m_ssl_openssl.cpp6
-rw-r--r--modules/fantasy.cpp4
-rw-r--r--modules/m_dns.cpp14
-rw-r--r--modules/m_dnsbl.cpp8
-rw-r--r--modules/m_helpchan.cpp2
-rw-r--r--modules/m_httpd.cpp6
-rw-r--r--modules/m_proxyscan.cpp14
-rw-r--r--modules/m_redis.cpp8
-rw-r--r--modules/m_rewrite.cpp6
-rw-r--r--modules/m_sasl.cpp12
-rw-r--r--modules/m_xmlrpc.cpp6
-rw-r--r--modules/m_xmlrpc_main.cpp8
-rw-r--r--modules/ns_maxemail.cpp2
-rw-r--r--modules/protocol/bahamut.cpp18
-rw-r--r--modules/protocol/hybrid.cpp36
-rw-r--r--modules/protocol/inspircd.cpp78
-rw-r--r--modules/protocol/ngircd.cpp26
-rw-r--r--modules/protocol/plexus.cpp12
-rw-r--r--modules/protocol/ratbox.cpp16
-rw-r--r--modules/protocol/solanum.cpp18
-rw-r--r--modules/protocol/unrealircd.cpp70
-rw-r--r--modules/pseudoclients/botserv.cpp2
-rw-r--r--modules/pseudoclients/chanserv.cpp4
-rw-r--r--modules/pseudoclients/global.cpp2
-rw-r--r--modules/pseudoclients/hostserv.cpp2
-rw-r--r--modules/pseudoclients/memoserv.cpp2
-rw-r--r--modules/pseudoclients/nickserv.cpp8
-rw-r--r--modules/pseudoclients/operserv.cpp8
-rw-r--r--modules/stats/cs_fantasy_stats.cpp8
-rw-r--r--modules/stats/cs_fantasy_top.cpp12
-rw-r--r--modules/stats/irc2sql/irc2sql.h4
-rw-r--r--modules/stats/m_chanstats.cpp8
-rw-r--r--modules/webcpanel/pages/chanserv/access.h2
-rw-r--r--modules/webcpanel/pages/chanserv/akick.h2
-rw-r--r--modules/webcpanel/pages/chanserv/drop.h2
-rw-r--r--modules/webcpanel/pages/chanserv/info.h2
-rw-r--r--modules/webcpanel/pages/chanserv/modes.h2
-rw-r--r--modules/webcpanel/pages/chanserv/set.h2
-rw-r--r--modules/webcpanel/pages/confirm.h2
-rw-r--r--modules/webcpanel/pages/hostserv/request.h2
-rw-r--r--modules/webcpanel/pages/index.cpp2
-rw-r--r--modules/webcpanel/pages/index.h2
-rw-r--r--modules/webcpanel/pages/logout.h2
-rw-r--r--modules/webcpanel/pages/memoserv/memos.h2
-rw-r--r--modules/webcpanel/pages/nickserv/access.h2
-rw-r--r--modules/webcpanel/pages/nickserv/alist.h2
-rw-r--r--modules/webcpanel/pages/nickserv/cert.h2
-rw-r--r--modules/webcpanel/pages/nickserv/confirm.h2
-rw-r--r--modules/webcpanel/pages/nickserv/info.h2
-rw-r--r--modules/webcpanel/pages/operserv/akill.h2
-rw-r--r--modules/webcpanel/pages/register.h2
-rw-r--r--modules/webcpanel/static_fileserver.h2
-rw-r--r--modules/webcpanel/template_fileserver.cpp2
-rw-r--r--modules/webcpanel/template_fileserver.h4
-rw-r--r--modules/webcpanel/webcpanel.cpp6
-rw-r--r--modules/webcpanel/webcpanel.h4
-rw-r--r--src/channels.cpp2
-rw-r--r--src/main.cpp4
-rw-r--r--src/modes.cpp6
-rw-r--r--src/uplink.cpp2
-rw-r--r--src/win32/pthread/pthread.cpp2
-rw-r--r--src/win32/sigaction/sigaction.h2
-rw-r--r--src/win32/windows.cpp2
227 files changed, 771 insertions, 771 deletions
diff --git a/include/access.h b/include/access.h
index 4242509aa..b1587f0c7 100644
--- a/include/access.h
+++ b/include/access.h
@@ -27,7 +27,7 @@ enum
* backing each ChanAccess determines whether that ChanAccess has a given
* privilege.
*/
-struct CoreExport Privilege
+struct CoreExport Privilege final
{
Anope::string name;
Anope::string desc;
@@ -38,7 +38,7 @@ struct CoreExport Privilege
bool operator==(const Privilege &other) const;
};
-class CoreExport PrivilegeManager
+class CoreExport PrivilegeManager final
{
static std::vector<Privilege> Privileges;
public:
@@ -135,7 +135,7 @@ public:
/* A group of access entries. This is used commonly, for example with ChannelInfo::AccessFor,
* to show what access a user has on a channel because users can match multiple access entries.
*/
-class CoreExport AccessGroup
+class CoreExport AccessGroup final
{
public:
/* access entries + paths */
diff --git a/include/account.h b/include/account.h
index 1062b67bf..3d6e0e846 100644
--- a/include/account.h
+++ b/include/account.h
@@ -28,7 +28,7 @@ extern CoreExport nickcoreid_map NickCoreIdList;
/* A registered nickname.
* It matters that Base is here before Extensible (it is inherited by Serializable)
*/
-class CoreExport NickAlias
+class CoreExport NickAlias final
: public Serializable
, public Extensible
{
@@ -106,7 +106,7 @@ public:
* account's display.
* It matters that Base is here before Extensible (it is inherited by Serializable)
*/
-class CoreExport NickCore
+class CoreExport NickCore final
: public Serializable
, public Extensible
{
diff --git a/include/anope.h b/include/anope.h
index 976c69702..ee9797627 100644
--- a/include/anope.h
+++ b/include/anope.h
@@ -22,7 +22,7 @@ namespace Anope
* allow us to only require one type of string everywhere that can be converted
* at any time to a specific type of string.
*/
- class CoreExport string
+ class CoreExport string final
{
private:
/**
@@ -312,7 +312,7 @@ namespace Anope
inline const string operator+(const char *_str, const string &str) { string tmp(_str); tmp += str; return tmp; }
inline const string operator+(const std::string &_str, const string &str) { string tmp(_str); tmp += str; return tmp; }
- struct hash_ci
+ struct hash_ci final
{
inline size_t operator()(const string &s) const
{
@@ -320,7 +320,7 @@ namespace Anope
}
};
- struct hash_cs
+ struct hash_cs final
{
inline size_t operator()(const string &s) const
{
@@ -328,7 +328,7 @@ namespace Anope
}
};
- struct compare
+ struct compare final
{
inline bool operator()(const string &s1, const string &s2) const
{
@@ -628,7 +628,7 @@ public:
/** A derived form of sepstream, which separates on commas
*/
-class commasepstream
+class commasepstream final
: public sepstream
{
public:
@@ -639,7 +639,7 @@ public:
/** A derived form of sepstream, which separates on spaces
*/
-class spacesepstream
+class spacesepstream final
: public sepstream
{
public:
@@ -712,7 +712,7 @@ public:
virtual ~ModuleException() noexcept = default;
};
-class CoreExport ConvertException
+class CoreExport ConvertException final
: public CoreException
{
public:
diff --git a/include/bots.h b/include/bots.h
index 35ec7cd50..87a074058 100644
--- a/include/bots.h
+++ b/include/bots.h
@@ -19,7 +19,7 @@ typedef Anope::map<BotInfo *> botinfo_map;
extern CoreExport Serialize::Checker<botinfo_map> BotListByNick, BotListByUID;
/* A service bot (NickServ, ChanServ, a BotServ bot, etc). */
-class CoreExport BotInfo
+class CoreExport BotInfo final
: public User
, public Serializable
{
diff --git a/include/channels.h b/include/channels.h
index 0230cc566..d918f4a52 100644
--- a/include/channels.h
+++ b/include/channels.h
@@ -18,7 +18,7 @@ typedef Anope::hash_map<Channel *> channel_map;
extern CoreExport channel_map ChannelList;
/* A user container, there is one of these per user per channel. */
-struct ChanUserContainer
+struct ChanUserContainer final
: public Extensible
{
User *user;
@@ -29,7 +29,7 @@ struct ChanUserContainer
ChanUserContainer(User *u, Channel *c) : user(u), chan(c) { }
};
-class CoreExport Channel
+class CoreExport Channel final
: public Base
, public Extensible
{
diff --git a/include/commands.h b/include/commands.h
index 5f15da345..7c1e62686 100644
--- a/include/commands.h
+++ b/include/commands.h
@@ -15,13 +15,13 @@
#include "anope.h"
#include "channels.h"
-struct CommandGroup
+struct CommandGroup final
{
Anope::string name, description;
};
/* Used in BotInfo::commands */
-struct CommandInfo
+struct CommandInfo final
{
typedef Anope::map<CommandInfo> map;
@@ -47,7 +47,7 @@ struct CoreExport CommandReply
};
/* The source for a command */
-class CoreExport CommandSource
+class CoreExport CommandSource final
{
/* The nick executing the command */
Anope::string nick;
diff --git a/include/config.h b/include/config.h
index cb8de7c55..d172da457 100644
--- a/include/config.h
+++ b/include/config.h
@@ -78,7 +78,7 @@ namespace Configuration
/** Represents a configuration file
*/
- class File
+ class File final
{
Anope::string name;
bool executable;
@@ -98,7 +98,7 @@ namespace Configuration
struct Uplink;
- struct CoreExport Conf
+ struct CoreExport Conf final
: Block
{
/* options:readtimeout */
@@ -153,7 +153,7 @@ namespace Configuration
const Block *GetCommand(CommandSource &);
};
- struct Uplink
+ struct Uplink final
{
Anope::string host;
unsigned port;
@@ -172,7 +172,7 @@ namespace Configuration
* be loaded. If this happens, the error message returned by ModuleException::GetReason will be displayed to the user
* attempting to load the module, or dumped to the console if the ircd is currently loading for the first time.
*/
-class CoreExport ConfigException
+class CoreExport ConfigException final
: public CoreException
{
public:
diff --git a/include/extensible.h b/include/extensible.h
index a83d9e81f..df76be036 100644
--- a/include/extensible.h
+++ b/include/extensible.h
@@ -209,7 +209,7 @@ public:
};
template<typename T>
-struct ExtensibleRef
+struct ExtensibleRef final
: ServiceReference<BaseExtensibleItem<T> >
{
ExtensibleRef(const Anope::string &n) : ServiceReference<BaseExtensibleItem<T> >("Extensible", n) { }
diff --git a/include/hashcomp.h b/include/hashcomp.h
index 91ccc3391..3b9b7d833 100644
--- a/include/hashcomp.h
+++ b/include/hashcomp.h
@@ -50,7 +50,7 @@ namespace Anope
/* rfc1459 case insensitive ctype, { = [, } = ], and | = \ */
template<typename char_type>
- class rfc1459_ctype
+ class rfc1459_ctype final
: public ascii_ctype<char_type>
{
public:
@@ -80,7 +80,7 @@ namespace ci
* This class is used to implement ci::string, a case-insensitive, ASCII-
* comparing string class.
*/
- struct CoreExport ci_char_traits
+ struct CoreExport ci_char_traits final
: std::char_traits<char>
{
/** Check if two chars match.
@@ -126,7 +126,7 @@ namespace ci
*/
typedef std::basic_string<char, ci_char_traits, std::allocator<char> > string;
- struct CoreExport less
+ struct CoreExport less final
{
/** Compare two Anope::strings as ci::strings and find which one is less
* @param s1 The first string
diff --git a/include/lists.h b/include/lists.h
index 62578259b..4c4fd8578 100644
--- a/include/lists.h
+++ b/include/lists.h
@@ -60,7 +60,7 @@ public:
/** This class handles formatting LIST/VIEW replies.
*/
-class CoreExport ListFormatter
+class CoreExport ListFormatter final
{
public:
typedef std::map<Anope::string, Anope::string> ListEntry;
@@ -78,7 +78,7 @@ public:
/** This class handles formatting INFO replies
*/
-class CoreExport InfoFormatter
+class CoreExport InfoFormatter final
{
NickCore *nc;
std::vector<std::pair<Anope::string, Anope::string> > replies;
diff --git a/include/logger.h b/include/logger.h
index aba306134..89f251a9a 100644
--- a/include/logger.h
+++ b/include/logger.h
@@ -37,7 +37,7 @@ enum LogType
LOG_DEBUG_4
};
-struct LogFile
+struct LogFile final
{
Anope::string filename;
std::ofstream stream;
@@ -48,7 +48,7 @@ struct LogFile
};
/* Represents a single log message */
-class CoreExport Log
+class CoreExport Log final
{
public:
/* Bot that should log this message */
@@ -109,7 +109,7 @@ public:
};
/* Configured in the configuration file, actually does the message logging */
-class CoreExport LogInfo
+class CoreExport LogInfo final
{
public:
BotInfo *bot = nullptr;
diff --git a/include/mail.h b/include/mail.h
index 1a0ce88cc..eeacd3842 100644
--- a/include/mail.h
+++ b/include/mail.h
@@ -22,7 +22,7 @@ namespace Mail
extern CoreExport bool Validate(const Anope::string &email);
/* A email message being sent */
- class Message
+ class Message final
: public Thread
{
private:
diff --git a/include/memo.h b/include/memo.h
index 5e7c1a5c9..70d8d63b7 100644
--- a/include/memo.h
+++ b/include/memo.h
@@ -14,7 +14,7 @@
#include "anope.h"
#include "serialize.h"
-class CoreExport Memo
+class CoreExport Memo final
: public Serializable
{
public:
@@ -37,7 +37,7 @@ public:
/* Memo info structures. Since both nicknames and channels can have memos,
* we encapsulate memo data in a MemoInfo to make it easier to handle.
*/
-struct CoreExport MemoInfo
+struct CoreExport MemoInfo final
{
int16_t memomax = 0;
Serialize::Checker<std::vector<Memo *> > memos;
diff --git a/include/modes.h b/include/modes.h
index b87d1e5b5..f1c116f1c 100644
--- a/include/modes.h
+++ b/include/modes.h
@@ -232,7 +232,7 @@ public:
};
/* The status a user has on a channel (+v, +h, +o) etc */
-class CoreExport ChannelStatus
+class CoreExport ChannelStatus final
{
Anope::string modes;
public:
@@ -305,7 +305,7 @@ public:
* This also contains a mode stacker that will combine multiple modes and set
* them on a channel or user at once
*/
-class CoreExport ModeManager
+class CoreExport ModeManager final
{
public:
@@ -401,7 +401,7 @@ public:
/** Represents a mask set on a channel (b/e/I)
*/
-class CoreExport Entry
+class CoreExport Entry final
{
Anope::string name;
Anope::string mask;
diff --git a/include/modules.h b/include/modules.h
index de8d560fe..3fdcef674 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -162,7 +162,7 @@ enum
};
typedef unsigned short ModType;
-struct ModuleVersionC
+struct ModuleVersionC final
{
int version_major, version_minor, version_patch;
};
@@ -170,7 +170,7 @@ struct ModuleVersionC
/** Returned by Module::GetVersion, used to see what version of Anope
* a module is compiled against.
*/
-class ModuleVersion
+class ModuleVersion final
{
private:
int version_major;
@@ -196,7 +196,7 @@ public:
int GetPatch() const;
};
-class CoreExport NotImplementedException
+class CoreExport NotImplementedException final
: public CoreException
{
};
@@ -1113,7 +1113,7 @@ enum Implementation
/** Used to manage modules.
*/
-class CoreExport ModuleManager
+class CoreExport ModuleManager final
{
public:
/** Event handler hooks.
diff --git a/include/modules/dns.h b/include/modules/dns.h
index 25123a504..801b5b2f0 100644
--- a/include/modules/dns.h
+++ b/include/modules/dns.h
@@ -79,7 +79,7 @@ namespace DNS
Question(const Anope::string &n, QueryType t, unsigned short c = 1) : name(n), type(t), qclass(c) { }
inline bool operator==(const Question & other) const { return name == other.name && type == other.type && qclass == other.qclass; }
- struct hash
+ struct hash final
{
size_t operator()(const Question &q) const
{
@@ -88,7 +88,7 @@ namespace DNS
};
};
- struct ResourceRecord
+ struct ResourceRecord final
: Question
{
unsigned int ttl = 0;
diff --git a/include/modules/httpd.h b/include/modules/httpd.h
index c755e9dd2..b08ca8bf4 100644
--- a/include/modules/httpd.h
+++ b/include/modules/httpd.h
@@ -18,7 +18,7 @@ enum HTTPError
};
/* A message to someone */
-struct HTTPReply
+struct HTTPReply final
{
HTTPError error = HTTP_ERROR_OK;
Anope::string content_type;
@@ -46,7 +46,7 @@ struct HTTPReply
out.clear();
}
- struct Data
+ struct Data final
{
char *buf;
size_t len;
@@ -81,7 +81,7 @@ struct HTTPReply
};
/* A message from someone */
-struct HTTPMessage
+struct HTTPMessage final
{
std::map<Anope::string, Anope::string> headers;
std::map<Anope::string, Anope::string> cookies;
diff --git a/include/modules/ldap.h b/include/modules/ldap.h
index 37087198d..2342bd1ba 100644
--- a/include/modules/ldap.h
+++ b/include/modules/ldap.h
@@ -16,7 +16,7 @@ public:
virtual ~LDAPException() noexcept = default;
};
-struct LDAPModification
+struct LDAPModification final
{
enum LDAPOperation
{
@@ -31,7 +31,7 @@ struct LDAPModification
};
typedef std::vector<LDAPModification> LDAPMods;
-struct LDAPAttributes
+struct LDAPAttributes final
: public std::map<Anope::string, std::vector<Anope::string>>
{
size_t size(const Anope::string &attr) const
@@ -75,7 +75,7 @@ enum QueryType
QUERY_MODIFY
};
-struct LDAPResult
+struct LDAPResult final
{
std::vector<LDAPAttributes> messages;
Anope::string error;
diff --git a/include/modules/os_news.h b/include/modules/os_news.h
index af7619e56..03842946c 100644
--- a/include/modules/os_news.h
+++ b/include/modules/os_news.h
@@ -15,7 +15,7 @@ enum NewsType
NEWS_OPER
};
-struct NewsMessages
+struct NewsMessages final
{
NewsType type;
Anope::string name;
diff --git a/include/modules/os_session.h b/include/modules/os_session.h
index 5341b4fe0..7077b0985 100644
--- a/include/modules/os_session.h
+++ b/include/modules/os_session.h
@@ -8,7 +8,7 @@
#pragma once
-struct Session
+struct Session final
{
cidr addr; /* A cidr (sockaddrs + len) representing this session */
unsigned count = 1; /* Number of clients with this host */
@@ -17,7 +17,7 @@ struct Session
Session(const sockaddrs &ip, int len) : addr(ip, len) { }
};
-struct Exception
+struct Exception final
: Serializable
{
Anope::string mask; /* Hosts to which this exception applies */
diff --git a/include/modules/redis.h b/include/modules/redis.h
index ec990823e..71ccf6ef7 100644
--- a/include/modules/redis.h
+++ b/include/modules/redis.h
@@ -10,7 +10,7 @@
namespace Redis
{
- struct Reply
+ struct Reply final
{
enum Type
{
diff --git a/include/modules/sasl.h b/include/modules/sasl.h
index 2b1c6a30d..2e4d990c5 100644
--- a/include/modules/sasl.h
+++ b/include/modules/sasl.h
@@ -10,7 +10,7 @@
namespace SASL
{
- struct Message
+ struct Message final
{
Anope::string source;
Anope::string target;
diff --git a/include/modules/sql.h b/include/modules/sql.h
index 59cc7a24b..8355fe009 100644
--- a/include/modules/sql.h
+++ b/include/modules/sql.h
@@ -11,7 +11,7 @@
namespace SQL
{
- class Data
+ class Data final
: public Serialize::Data
{
public:
@@ -93,13 +93,13 @@ namespace SQL
/** A SQL query
*/
- struct QueryData
+ struct QueryData final
{
Anope::string data;
bool escape;
};
- struct Query
+ struct Query final
{
Anope::string query;
std::map<Anope::string, QueryData> parameters;
diff --git a/include/modules/xmlrpc.h b/include/modules/xmlrpc.h
index a12a23c9e..698a8e6ce 100644
--- a/include/modules/xmlrpc.h
+++ b/include/modules/xmlrpc.h
@@ -10,7 +10,7 @@
#include "httpd.h"
-class XMLRPCRequest
+class XMLRPCRequest final
{
std::map<Anope::string, Anope::string> replies;
diff --git a/include/opertype.h b/include/opertype.h
index d1858f270..855dc8afb 100644
--- a/include/opertype.h
+++ b/include/opertype.h
@@ -40,7 +40,7 @@ struct CoreExport Oper
static Oper *Find(const Anope::string &name);
};
-class CoreExport OperType
+class CoreExport OperType final
{
private:
/** The name of this opertype, e.g. "sra".
diff --git a/include/protocol.h b/include/protocol.h
index e2bee5317..c21e4ae84 100644
--- a/include/protocol.h
+++ b/include/protocol.h
@@ -245,7 +245,7 @@ public:
virtual Anope::string NormalizeMask(const Anope::string &mask);
};
-class CoreExport MessageSource
+class CoreExport MessageSource final
{
Anope::string source;
User *u = nullptr;
@@ -285,7 +285,7 @@ public:
};
/** MessageTokenizer allows tokens in the IRC wire format to be read from a string */
-class CoreExport MessageTokenizer
+class CoreExport MessageTokenizer final
{
private:
/** The message we are parsing tokens from. */
diff --git a/include/regchannel.h b/include/regchannel.h
index 29c203cf3..9b6a64971 100644
--- a/include/regchannel.h
+++ b/include/regchannel.h
@@ -21,7 +21,7 @@ typedef Anope::hash_map<ChannelInfo *> registered_channel_map;
extern CoreExport Serialize::Checker<registered_channel_map> RegisteredChannelList;
/* AutoKick data. */
-class CoreExport AutoKick
+class CoreExport AutoKick final
: public Serializable
{
public:
@@ -44,7 +44,7 @@ public:
/* It matters that Base is here before Extensible (it is inherited by Serializable)
*/
-class CoreExport ChannelInfo
+class CoreExport ChannelInfo final
: public Serializable
, public Extensible
{
diff --git a/include/regexpr.h b/include/regexpr.h
index 536c891c1..e48d2582b 100644
--- a/include/regexpr.h
+++ b/include/regexpr.h
@@ -15,7 +15,7 @@
#include "anope.h"
#include "service.h"
-class CoreExport RegexException
+class CoreExport RegexException final
: public CoreException
{
public:
diff --git a/include/serialize.h b/include/serialize.h
index b0739e683..91ced7370 100644
--- a/include/serialize.h
+++ b/include/serialize.h
@@ -108,7 +108,7 @@ public:
* of class that inherits from Serializable. Used for unserializing objects
* of this type, as it requires a function pointer to a static member function.
*/
-class CoreExport Serialize::Type
+class CoreExport Serialize::Type final
: public Base
{
typedef Serializable* (*unserialize_func)(Serializable *obj, Serialize::Data &);
@@ -242,7 +242,7 @@ public:
* destructed.
*/
template<typename T>
-class Serialize::Reference
+class Serialize::Reference final
: public ReferenceBase
{
protected:
diff --git a/include/servers.h b/include/servers.h
index a2a0bfdfb..8f491fe01 100644
--- a/include/servers.h
+++ b/include/servers.h
@@ -37,7 +37,7 @@ namespace Servers
/** Class representing a server
*/
-class CoreExport Server
+class CoreExport Server final
: public Extensible
{
private:
diff --git a/include/service.h b/include/service.h
index 5a59fa303..87a04ece1 100644
--- a/include/service.h
+++ b/include/service.h
@@ -160,7 +160,7 @@ public:
}
};
-class ServiceAlias
+class ServiceAlias final
{
Anope::string t, f;
public:
diff --git a/include/socketengine.h b/include/socketengine.h
index 88fa329f2..e9d35cd2e 100644
--- a/include/socketengine.h
+++ b/include/socketengine.h
@@ -14,7 +14,7 @@
#include "services.h"
#include "sockets.h"
-class CoreExport SocketEngine
+class CoreExport SocketEngine final
{
static const int DefaultSize = 2; // Uplink, mode stacker
public:
diff --git a/include/sockets.h b/include/sockets.h
index e7311e727..b8aacc7e7 100644
--- a/include/sockets.h
+++ b/include/sockets.h
@@ -103,7 +103,7 @@ union CoreExport sockaddrs
void ntop(int type, const void *src);
};
-class CoreExport cidr
+class CoreExport cidr final
{
sockaddrs addr;
Anope::string cidr_ip;
@@ -120,13 +120,13 @@ public:
bool operator==(const cidr &other) const;
bool operator!=(const cidr &other) const;
- struct CoreExport hash
+ struct CoreExport hash final
{
size_t operator()(const cidr &s) const;
};
};
-class CoreExport SocketException
+class CoreExport SocketException final
: public CoreException
{
public:
@@ -339,7 +339,7 @@ class CoreExport BinarySocket
: public virtual Socket
{
protected:
- struct DataBlock
+ struct DataBlock final
{
char *orig;
char *buf;
diff --git a/include/timers.h b/include/timers.h
index 1e94519b4..456666535 100644
--- a/include/timers.h
+++ b/include/timers.h
@@ -101,7 +101,7 @@ public:
* This will ensure timers are not missed, as well as removing timers that have
* expired and allowing the addition of new ones.
*/
-class CoreExport TimerManager
+class CoreExport TimerManager final
{
/** A list of timers
*/
diff --git a/include/uplink.h b/include/uplink.h
index 6646f58cb..72622de7b 100644
--- a/include/uplink.h
+++ b/include/uplink.h
@@ -20,7 +20,7 @@ namespace Uplink
}
/* This is the socket to our uplink */
-class UplinkSocket
+class UplinkSocket final
: public ConnectionSocket
, public BufferedSocket
{
@@ -33,7 +33,7 @@ public:
void OnError(const Anope::string &) override;
/* A message sent over the uplink socket */
- class CoreExport Message
+ class CoreExport Message final
{
MessageSource source;
std::stringstream buffer;
diff --git a/include/xline.h b/include/xline.h
index 19dd0a5c0..1c269e7ac 100644
--- a/include/xline.h
+++ b/include/xline.h
@@ -13,7 +13,7 @@
#include "sockets.h"
/* An Xline, eg, anything added with operserv/akill, or any of the operserv/sxline commands */
-class CoreExport XLine
+class CoreExport XLine final
: public Serializable
{
void Init();
diff --git a/modules/bs_autoassign.cpp b/modules/bs_autoassign.cpp
index 91a65d70a..a716525f9 100644
--- a/modules/bs_autoassign.cpp
+++ b/modules/bs_autoassign.cpp
@@ -9,7 +9,7 @@
#include "module.h"
-class BSAutoAssign
+class BSAutoAssign final
: public Module
{
public:
diff --git a/modules/commands/bs_assign.cpp b/modules/commands/bs_assign.cpp
index e1e744842..43abdd55f 100644
--- a/modules/commands/bs_assign.cpp
+++ b/modules/commands/bs_assign.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandBSAssign
+class CommandBSAssign final
: public Command
{
public:
@@ -83,7 +83,7 @@ public:
}
};
-class CommandBSUnassign
+class CommandBSUnassign final
: public Command
{
public:
@@ -147,7 +147,7 @@ public:
}
};
-class CommandBSSetNoBot
+class CommandBSSetNoBot final
: public Command
{
public:
@@ -205,7 +205,7 @@ public:
}
};
-class BSAssign
+class BSAssign final
: public Module
{
ExtensibleItem<bool> nobot;
diff --git a/modules/commands/bs_badwords.cpp b/modules/commands/bs_badwords.cpp
index cf863e442..e513170e7 100644
--- a/modules/commands/bs_badwords.cpp
+++ b/modules/commands/bs_badwords.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/bs_badwords.h"
-struct BadWordImpl
+struct BadWordImpl final
: BadWord
, Serializable
{
@@ -29,7 +29,7 @@ struct BadWordImpl
static Serializable* Unserialize(Serializable *obj, Serialize::Data &);
};
-struct BadWordsImpl
+struct BadWordsImpl final
: BadWords
{
Serialize::Reference<ChannelInfo> ci;
@@ -147,7 +147,7 @@ Serializable* BadWordImpl::Unserialize(Serializable *obj, Serialize::Data &data)
return bw;
}
-class BadwordsDelCallback
+class BadwordsDelCallback final
: public NumberList
{
CommandSource &source;
@@ -185,7 +185,7 @@ public:
}
};
-class CommandBSBadwords
+class CommandBSBadwords final
: public Command
{
private:
@@ -205,7 +205,7 @@ private:
}
else if (!word.empty() && word.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class BadwordsListCallback
+ class BadwordsListCallback final
: public NumberList
{
ListFormatter &list;
@@ -459,7 +459,7 @@ public:
}
};
-class BSBadwords
+class BSBadwords final
: public Module
{
CommandBSBadwords commandbsbadwords;
diff --git a/modules/commands/bs_bot.cpp b/modules/commands/bs_bot.cpp
index e882d3e04..170e1073a 100644
--- a/modules/commands/bs_bot.cpp
+++ b/modules/commands/bs_bot.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandBSBot
+class CommandBSBot final
: public Command
{
private:
@@ -371,7 +371,7 @@ public:
}
};
-class BSBot
+class BSBot final
: public Module
{
CommandBSBot commandbsbot;
diff --git a/modules/commands/bs_botlist.cpp b/modules/commands/bs_botlist.cpp
index 828b5af99..915117916 100644
--- a/modules/commands/bs_botlist.cpp
+++ b/modules/commands/bs_botlist.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandBSBotList
+class CommandBSBotList final
: public Command
{
public:
@@ -66,7 +66,7 @@ public:
}
};
-class BSBotList
+class BSBotList final
: public Module
{
CommandBSBotList commandbsbotlist;
diff --git a/modules/commands/bs_control.cpp b/modules/commands/bs_control.cpp
index 1230f03e1..32101be6e 100644
--- a/modules/commands/bs_control.cpp
+++ b/modules/commands/bs_control.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandBSSay
+class CommandBSSay final
: public Command
{
public:
@@ -72,7 +72,7 @@ public:
}
};
-class CommandBSAct
+class CommandBSAct final
: public Command
{
public:
@@ -132,7 +132,7 @@ public:
}
};
-class BSControl
+class BSControl final
: public Module
{
CommandBSSay commandbssay;
diff --git a/modules/commands/bs_info.cpp b/modules/commands/bs_info.cpp
index f8381836d..e42ad23b8 100644
--- a/modules/commands/bs_info.cpp
+++ b/modules/commands/bs_info.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandBSInfo
+class CommandBSInfo final
: public Command
{
private:
@@ -118,7 +118,7 @@ public:
}
};
-class BSInfo
+class BSInfo final
: public Module
{
CommandBSInfo commandbsinfo;
diff --git a/modules/commands/bs_kick.cpp b/modules/commands/bs_kick.cpp
index e02c6cab8..f6012d07f 100644
--- a/modules/commands/bs_kick.cpp
+++ b/modules/commands/bs_kick.cpp
@@ -15,7 +15,7 @@
static Module *me;
-struct KickerDataImpl
+struct KickerDataImpl final
: KickerData
{
KickerDataImpl(Extensible *obj)
@@ -38,7 +38,7 @@ struct KickerDataImpl
ci->Shrink<KickerData>("kickerdata");
}
- struct ExtensibleItem
+ struct ExtensibleItem final
: ::ExtensibleItem<KickerDataImpl>
{
ExtensibleItem(Module *m, const Anope::string &ename) : ::ExtensibleItem<KickerDataImpl>(m, ename) { }
@@ -117,7 +117,7 @@ struct KickerDataImpl
};
};
-class CommandBSKick
+class CommandBSKick final
: public Command
{
public:
@@ -248,7 +248,7 @@ protected:
}
};
-class CommandBSKickAMSG
+class CommandBSKickAMSG final
: public CommandBSKickBase
{
public:
@@ -285,7 +285,7 @@ public:
}
};
-class CommandBSKickBadwords
+class CommandBSKickBadwords final
: public CommandBSKickBase
{
public:
@@ -325,7 +325,7 @@ public:
}
};
-class CommandBSKickBolds
+class CommandBSKickBolds final
: public CommandBSKickBase
{
public:
@@ -360,7 +360,7 @@ public:
}
};
-class CommandBSKickCaps
+class CommandBSKickCaps final
: public CommandBSKickBase
{
public:
@@ -457,7 +457,7 @@ public:
}
};
-class CommandBSKickColors
+class CommandBSKickColors final
: public CommandBSKickBase
{
public:
@@ -492,7 +492,7 @@ public:
}
};
-class CommandBSKickFlood
+class CommandBSKickFlood final
: public CommandBSKickBase
{
public:
@@ -591,7 +591,7 @@ public:
}
};
-class CommandBSKickItalics
+class CommandBSKickItalics final
: public CommandBSKickBase
{
public:
@@ -626,7 +626,7 @@ public:
}
};
-class CommandBSKickRepeat
+class CommandBSKickRepeat final
: public CommandBSKickBase
{
public:
@@ -728,7 +728,7 @@ public:
}
};
-class CommandBSKickReverses
+class CommandBSKickReverses final
: public CommandBSKickBase
{
public:
@@ -763,7 +763,7 @@ public:
}
};
-class CommandBSKickUnderlines
+class CommandBSKickUnderlines final
: public CommandBSKickBase
{
public:
@@ -798,7 +798,7 @@ public:
}
};
-class CommandBSSetDontKickOps
+class CommandBSSetDontKickOps final
: public Command
{
public:
@@ -864,7 +864,7 @@ public:
}
};
-class CommandBSSetDontKickVoices
+class CommandBSSetDontKickVoices final
: public Command
{
public:
@@ -930,9 +930,9 @@ public:
}
};
-struct BanData
+struct BanData final
{
- struct Data
+ struct Data final
{
Anope::string mask;
time_t last_use;
@@ -978,7 +978,7 @@ public:
}
};
-struct UserData
+struct UserData final
{
UserData(Extensible *)
{
@@ -1001,7 +1001,7 @@ struct UserData
Anope::string lastline;
};
-class BanDataPurger
+class BanDataPurger final
: public Timer
{
public:
@@ -1024,7 +1024,7 @@ public:
}
};
-class BSKick
+class BSKick final
: public Module
{
ExtensibleItem<BanData> bandata;
diff --git a/modules/commands/bs_set.cpp b/modules/commands/bs_set.cpp
index b2ffa24cb..636313785 100644
--- a/modules/commands/bs_set.cpp
+++ b/modules/commands/bs_set.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandBSSet
+class CommandBSSet final
: public Command
{
public:
@@ -65,11 +65,11 @@ public:
}
};
-class CommandBSSetBanExpire
+class CommandBSSetBanExpire final
: public Command
{
public:
- class UnbanTimer
+ class UnbanTimer final
: public Timer
{
Anope::string chname;
@@ -154,7 +154,7 @@ public:
}
};
-class CommandBSSetPrivate
+class CommandBSSetPrivate final
: public Command
{
public:
@@ -205,7 +205,7 @@ public:
}
};
-class BSSet
+class BSSet final
: public Module
{
CommandBSSet commandbsset;
diff --git a/modules/commands/cs_access.cpp b/modules/commands/cs_access.cpp
index 939cc9ad4..7625f05aa 100644
--- a/modules/commands/cs_access.cpp
+++ b/modules/commands/cs_access.cpp
@@ -20,7 +20,7 @@ static inline void reset_levels(ChannelInfo *ci)
ci->SetLevel(priv, level);
}
-class AccessChanAccess
+class AccessChanAccess final
: public ChanAccess
{
public:
@@ -68,7 +68,7 @@ public:
}
};
-class AccessAccessProvider
+class AccessAccessProvider final
: public AccessProvider
{
public:
@@ -86,7 +86,7 @@ public:
};
AccessAccessProvider* AccessAccessProvider::me;
-class CommandCSAccess
+class CommandCSAccess final
: public Command
{
void DoAdd(CommandSource &source, ChannelInfo *ci, const std::vector<Anope::string> &params)
@@ -260,7 +260,7 @@ class CommandCSAccess
source.Reply(_("%s access list is empty."), ci->name.c_str());
else if (isdigit(mask[0]) && mask.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class AccessDelCallback
+ class AccessDelCallback final
: public NumberList
{
CommandSource &source;
@@ -365,7 +365,7 @@ class CommandCSAccess
source.Reply(_("%s access list is empty."), ci->name.c_str());
else if (!nick.empty() && nick.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class AccessListCallback
+ class AccessListCallback final
: public NumberList
{
ListFormatter &list;
@@ -638,7 +638,7 @@ public:
}
};
-class CommandCSLevels
+class CommandCSLevels final
: public Command
{
void DoSet(CommandSource &source, ChannelInfo *ci, const std::vector<Anope::string> &params)
@@ -863,7 +863,7 @@ public:
}
};
-class CSAccess
+class CSAccess final
: public Module
{
AccessAccessProvider accessprovider;
diff --git a/modules/commands/cs_akick.cpp b/modules/commands/cs_akick.cpp
index 99c1dd2ee..6457f2856 100644
--- a/modules/commands/cs_akick.cpp
+++ b/modules/commands/cs_akick.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSAKick
+class CommandCSAKick final
: public Command
{
void Enforce(CommandSource &source, ChannelInfo *ci)
@@ -204,7 +204,7 @@ class CommandCSAKick
/* Special case: is it a number/list? Only do search if it isn't. */
if (isdigit(mask[0]) && mask.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class AkickDelCallback
+ class AkickDelCallback final
: public NumberList
{
CommandSource &source;
@@ -282,7 +282,7 @@ class CommandCSAKick
if (!mask.empty() && isdigit(mask[0]) && mask.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class AkickListCallback
+ class AkickListCallback final
: public NumberList
{
ListFormatter &list;
@@ -528,7 +528,7 @@ public:
}
};
-class CSAKick
+class CSAKick final
: public Module
{
CommandCSAKick commandcsakick;
diff --git a/modules/commands/cs_ban.cpp b/modules/commands/cs_ban.cpp
index 5419ac263..ff019e602 100644
--- a/modules/commands/cs_ban.cpp
+++ b/modules/commands/cs_ban.cpp
@@ -13,7 +13,7 @@
static Module *me;
-class TempBan
+class TempBan final
: public Timer
{
private:
@@ -32,7 +32,7 @@ public:
}
};
-class CommandCSBan
+class CommandCSBan final
: public Command
{
public:
@@ -239,7 +239,7 @@ public:
}
};
-class CSBan
+class CSBan final
: public Module
{
CommandCSBan commandcsban;
diff --git a/modules/commands/cs_clone.cpp b/modules/commands/cs_clone.cpp
index 5201b332c..79db9fd57 100644
--- a/modules/commands/cs_clone.cpp
+++ b/modules/commands/cs_clone.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/bs_badwords.h"
-class CommandCSClone
+class CommandCSClone final
: public Command
{
void CopySetting(ChannelInfo *ci, ChannelInfo *target_ci, const Anope::string &setting)
@@ -247,7 +247,7 @@ public:
}
};
-class CSClone
+class CSClone final
: public Module
{
CommandCSClone commandcsclone;
diff --git a/modules/commands/cs_drop.cpp b/modules/commands/cs_drop.cpp
index 4f0b3f776..fa613efa7 100644
--- a/modules/commands/cs_drop.cpp
+++ b/modules/commands/cs_drop.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSDrop
+class CommandCSDrop final
: public Command
{
public:
@@ -82,7 +82,7 @@ public:
}
};
-class CSDrop
+class CSDrop final
: public Module
{
CommandCSDrop commandcsdrop;
diff --git a/modules/commands/cs_enforce.cpp b/modules/commands/cs_enforce.cpp
index dc60e9c5c..825301cdd 100644
--- a/modules/commands/cs_enforce.cpp
+++ b/modules/commands/cs_enforce.cpp
@@ -13,7 +13,7 @@
#include "module.h"
-class CommandCSEnforce
+class CommandCSEnforce final
: public Command
{
private:
@@ -263,7 +263,7 @@ public:
}
};
-class CSEnforce
+class CSEnforce final
: public Module
{
CommandCSEnforce commandcsenforce;
diff --git a/modules/commands/cs_entrymsg.cpp b/modules/commands/cs_entrymsg.cpp
index 43055d5e5..0b5469661 100644
--- a/modules/commands/cs_entrymsg.cpp
+++ b/modules/commands/cs_entrymsg.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/cs_entrymsg.h"
-struct EntryMsgImpl
+struct EntryMsgImpl final
: EntryMsg
, Serializable
{
@@ -41,7 +41,7 @@ struct EntryMsgImpl
static Serializable* Unserialize(Serializable *obj, Serialize::Data &data);
};
-struct EntryMessageListImpl
+struct EntryMessageListImpl final
: EntryMessageList
{
EntryMessageListImpl(Extensible *) { }
@@ -100,7 +100,7 @@ Serializable* EntryMsgImpl::Unserialize(Serializable *obj, Serialize::Data &data
return m;
}
-class CommandEntryMessage
+class CommandEntryMessage final
: public Command
{
private:
@@ -264,7 +264,7 @@ public:
}
};
-class CSEntryMessage
+class CSEntryMessage final
: public Module
{
CommandEntryMessage commandentrymsg;
diff --git a/modules/commands/cs_flags.cpp b/modules/commands/cs_flags.cpp
index 795dfa167..5c0027677 100644
--- a/modules/commands/cs_flags.cpp
+++ b/modules/commands/cs_flags.cpp
@@ -13,7 +13,7 @@
static std::map<Anope::string, char> defaultFlags;
-class FlagsChanAccess
+class FlagsChanAccess final
: public ChanAccess
{
public:
@@ -60,7 +60,7 @@ public:
}
};
-class FlagsAccessProvider
+class FlagsAccessProvider final
: public AccessProvider
{
public:
@@ -78,7 +78,7 @@ public:
};
FlagsAccessProvider* FlagsAccessProvider::ap;
-class CommandCSFlags
+class CommandCSFlags final
: public Command
{
void DoModify(CommandSource &source, ChannelInfo *ci, Anope::string mask, const Anope::string &flags, const Anope::string &description)
@@ -478,7 +478,7 @@ public:
}
};
-class CSFlags
+class CSFlags final
: public Module
{
FlagsAccessProvider accessprovider;
diff --git a/modules/commands/cs_getkey.cpp b/modules/commands/cs_getkey.cpp
index 4cec2f87b..38a782bea 100644
--- a/modules/commands/cs_getkey.cpp
+++ b/modules/commands/cs_getkey.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSGetKey
+class CommandCSGetKey final
: public Command
{
public:
@@ -60,7 +60,7 @@ public:
}
};
-class CSGetKey
+class CSGetKey final
: public Module
{
CommandCSGetKey commandcsgetkey;
diff --git a/modules/commands/cs_info.cpp b/modules/commands/cs_info.cpp
index 0c5c91091..685538284 100644
--- a/modules/commands/cs_info.cpp
+++ b/modules/commands/cs_info.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSInfo
+class CommandCSInfo final
: public Command
{
public:
@@ -84,7 +84,7 @@ public:
}
};
-class CSInfo
+class CSInfo final
: public Module
{
CommandCSInfo commandcsinfo;
diff --git a/modules/commands/cs_invite.cpp b/modules/commands/cs_invite.cpp
index 79e588f1e..4ab4b9a83 100644
--- a/modules/commands/cs_invite.cpp
+++ b/modules/commands/cs_invite.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSInvite
+class CommandCSInvite final
: public Command
{
public:
@@ -98,7 +98,7 @@ public:
}
};
-class CSInvite
+class CSInvite final
: public Module
{
CommandCSInvite commandcsinvite;
diff --git a/modules/commands/cs_kick.cpp b/modules/commands/cs_kick.cpp
index 2756f3a59..27f4dbac9 100644
--- a/modules/commands/cs_kick.cpp
+++ b/modules/commands/cs_kick.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSKick
+class CommandCSKick final
: public Command
{
public:
@@ -134,7 +134,7 @@ public:
}
};
-class CSKick
+class CSKick final
: public Module
{
CommandCSKick commandcskick;
diff --git a/modules/commands/cs_list.cpp b/modules/commands/cs_list.cpp
index 6c07db258..29add4596 100644
--- a/modules/commands/cs_list.cpp
+++ b/modules/commands/cs_list.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/cs_mode.h"
-class CommandCSList
+class CommandCSList final
: public Command
{
public:
@@ -171,7 +171,7 @@ public:
}
};
-class CommandCSSetPrivate
+class CommandCSSetPrivate final
: public Command
{
public:
@@ -240,7 +240,7 @@ public:
}
};
-class CSList
+class CSList final
: public Module
{
CommandCSList commandcslist;
diff --git a/modules/commands/cs_log.cpp b/modules/commands/cs_log.cpp
index ebc64f8c7..847316db6 100644
--- a/modules/commands/cs_log.cpp
+++ b/modules/commands/cs_log.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/cs_log.h"
-struct LogSettingImpl
+struct LogSettingImpl final
: LogSetting
, Serializable
{
@@ -79,7 +79,7 @@ struct LogSettingImpl
}
};
-struct LogSettingsImpl
+struct LogSettingsImpl final
: LogSettings
{
LogSettingsImpl(Extensible *) { }
@@ -100,7 +100,7 @@ struct LogSettingsImpl
}
};
-class CommandCSLog
+class CommandCSLog final
: public Command
{
public:
@@ -285,7 +285,7 @@ public:
}
};
-class CSLog
+class CSLog final
: public Module
{
ServiceReference<MemoServService> MSService;
@@ -293,7 +293,7 @@ class CSLog
ExtensibleItem<LogSettingsImpl> logsettings;
Serialize::Type logsetting_type;
- struct LogDefault
+ struct LogDefault final
{
Anope::string service, command, method;
};
diff --git a/modules/commands/cs_mode.cpp b/modules/commands/cs_mode.cpp
index 1cdec547a..05fb43c33 100644
--- a/modules/commands/cs_mode.cpp
+++ b/modules/commands/cs_mode.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/cs_mode.h"
-struct ModeLockImpl
+struct ModeLockImpl final
: ModeLock
, Serializable
{
@@ -35,7 +35,7 @@ struct ModeLockImpl
static Serializable* Unserialize(Serializable *obj, Serialize::Data &data);
};
-struct ModeLocksImpl
+struct ModeLocksImpl final
: ModeLocks
{
Serialize::Reference<ChannelInfo> ci;
@@ -244,7 +244,7 @@ Serializable* ModeLockImpl::Unserialize(Serializable *obj, Serialize::Data &data
return ml;
}
-class CommandCSMode
+class CommandCSMode final
: public Command
{
bool CanSet(CommandSource &source, ChannelInfo *ci, ChannelMode *cm, bool self)
@@ -793,7 +793,7 @@ public:
static Anope::map<std::pair<bool, Anope::string> > modes;
-class CommandCSModes
+class CommandCSModes final
: public Command
{
public:
@@ -911,7 +911,7 @@ public:
}
};
-class CSMode
+class CSMode final
: public Module
{
CommandCSMode commandcsmode;
diff --git a/modules/commands/cs_register.cpp b/modules/commands/cs_register.cpp
index e16413b79..402ae1296 100644
--- a/modules/commands/cs_register.cpp
+++ b/modules/commands/cs_register.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSRegister
+class CommandCSRegister final
: public Command
{
public:
@@ -111,7 +111,7 @@ public:
};
-class CSRegister
+class CSRegister final
: public Module
{
CommandCSRegister commandcsregister;
diff --git a/modules/commands/cs_seen.cpp b/modules/commands/cs_seen.cpp
index 378d78105..99f44e9fd 100644
--- a/modules/commands/cs_seen.cpp
+++ b/modules/commands/cs_seen.cpp
@@ -22,7 +22,7 @@ static SeenInfo *FindInfo(const Anope::string &nick);
typedef Anope::hash_map<SeenInfo *> database_map;
database_map database;
-struct SeenInfo
+struct SeenInfo final
: Serializable
{
Anope::string nick;
@@ -110,7 +110,7 @@ static bool ShouldHide(const Anope::string &channel, User *u)
return false;
}
-class CommandOSSeen
+class CommandOSSeen final
: public Command
{
public:
@@ -182,7 +182,7 @@ public:
}
};
-class CommandSeen
+class CommandSeen final
: public Command
{
void SimpleSeen(CommandSource &source, const std::vector<Anope::string> &params)
@@ -371,7 +371,7 @@ public:
}
};
-class CSSeen
+class CSSeen final
: public Module
{
Serialize::Type seeninfo_type;
diff --git a/modules/commands/cs_set.cpp b/modules/commands/cs_set.cpp
index ba44f14e2..72ed3421a 100644
--- a/modules/commands/cs_set.cpp
+++ b/modules/commands/cs_set.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/cs_mode.h"
-class CommandCSSet
+class CommandCSSet final
: public Command
{
public:
@@ -65,7 +65,7 @@ public:
}
};
-class CommandCSSetAutoOp
+class CommandCSSetAutoOp final
: public Command
{
public:
@@ -129,7 +129,7 @@ public:
}
};
-class CommandCSSetBanType
+class CommandCSSetBanType final
: public Command
{
public:
@@ -197,7 +197,7 @@ public:
}
};
-class CommandCSSetDescription
+class CommandCSSetDescription final
: public Command
{
public:
@@ -260,7 +260,7 @@ public:
}
};
-class CommandCSSetFounder
+class CommandCSSetFounder final
: public Command
{
public:
@@ -330,7 +330,7 @@ public:
}
};
-class CommandCSSetKeepModes
+class CommandCSSetKeepModes final
: public Command
{
public:
@@ -396,7 +396,7 @@ public:
}
};
-class CommandCSSetPeace
+class CommandCSSetPeace final
: public Command
{
public:
@@ -469,7 +469,7 @@ inline static Anope::string BotModes()
);
}
-class CommandCSSetPersist
+class CommandCSSetPersist final
: public Command
{
public:
@@ -619,7 +619,7 @@ public:
}
};
-class CommandCSSetRestricted
+class CommandCSSetRestricted final
: public Command
{
public:
@@ -682,7 +682,7 @@ public:
}
};
-class CommandCSSetSecure
+class CommandCSSetSecure final
: public Command
{
public:
@@ -746,7 +746,7 @@ public:
}
};
-class CommandCSSetSecureFounder
+class CommandCSSetSecureFounder final
: public Command
{
public:
@@ -811,7 +811,7 @@ public:
}
};
-class CommandCSSetSecureOps
+class CommandCSSetSecureOps final
: public Command
{
public:
@@ -874,7 +874,7 @@ public:
}
};
-class CommandCSSetSignKick
+class CommandCSSetSignKick final
: public Command
{
public:
@@ -952,7 +952,7 @@ public:
}
};
-class CommandCSSetSuccessor
+class CommandCSSetSuccessor final
: public Command
{
public:
@@ -1047,7 +1047,7 @@ public:
}
};
-class CommandCSSetNoexpire
+class CommandCSSetNoexpire final
: public Command
{
public:
@@ -1106,14 +1106,14 @@ public:
}
};
-class CSSet
+class CSSet final
: public Module
{
SerializableExtensibleItem<bool> noautoop, peace, securefounder,
restricted, secure, secureops, signkick, signkick_level, noexpire,
persist;
- struct KeepModes
+ struct KeepModes final
: SerializableExtensibleItem<bool>
{
KeepModes(Module *m, const Anope::string &n) : SerializableExtensibleItem<bool>(m, n) { }
diff --git a/modules/commands/cs_set_misc.cpp b/modules/commands/cs_set_misc.cpp
index 7a8030d57..9a2c8d70e 100644
--- a/modules/commands/cs_set_misc.cpp
+++ b/modules/commands/cs_set_misc.cpp
@@ -31,7 +31,7 @@ static ExtensibleItem<CSMiscData> *GetItem(const Anope::string &name)
return it;
}
-struct CSMiscData
+struct CSMiscData final
: MiscData
, Serializable
{
@@ -90,7 +90,7 @@ static Anope::string GetAttribute(const Anope::string &command)
return command;
}
-class CommandCSSetMisc
+class CommandCSSetMisc final
: public Command
{
public:
@@ -167,7 +167,7 @@ public:
}
};
-class CSSetMisc
+class CSSetMisc final
: public Module
{
CommandCSSetMisc commandcssetmisc;
diff --git a/modules/commands/cs_status.cpp b/modules/commands/cs_status.cpp
index 492e30a49..41c3590be 100644
--- a/modules/commands/cs_status.cpp
+++ b/modules/commands/cs_status.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSStatus
+class CommandCSStatus final
: public Command
{
public:
@@ -111,7 +111,7 @@ public:
}
};
-class CSStatus
+class CSStatus final
: public Module
{
CommandCSStatus commandcsstatus;
diff --git a/modules/commands/cs_suspend.cpp b/modules/commands/cs_suspend.cpp
index 6d5322753..28f0debf4 100644
--- a/modules/commands/cs_suspend.cpp
+++ b/modules/commands/cs_suspend.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/suspend.h"
-struct CSSuspendInfo
+struct CSSuspendInfo final
: SuspendInfo
, Serializable
{
@@ -52,7 +52,7 @@ struct CSSuspendInfo
}
};
-class CommandCSSuspend
+class CommandCSSuspend final
: public Command
{
public:
@@ -145,7 +145,7 @@ public:
}
};
-class CommandCSUnSuspend
+class CommandCSUnSuspend final
: public Command
{
public:
@@ -197,7 +197,7 @@ public:
}
};
-class CSSuspend
+class CSSuspend final
: public Module
{
CommandCSSuspend commandcssuspend;
@@ -206,7 +206,7 @@ class CSSuspend
Serialize::Type suspend_type;
std::vector<Anope::string> show;
- struct trim
+ struct trim final
{
Anope::string operator()(Anope::string s) const
{
diff --git a/modules/commands/cs_sync.cpp b/modules/commands/cs_sync.cpp
index 7a7140944..b76d2cef2 100644
--- a/modules/commands/cs_sync.cpp
+++ b/modules/commands/cs_sync.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSSync
+class CommandCSSync final
: public Command
{
public:
@@ -53,7 +53,7 @@ public:
}
};
-class CSSync
+class CSSync final
: public Module
{
CommandCSSync commandcssync;
diff --git a/modules/commands/cs_topic.cpp b/modules/commands/cs_topic.cpp
index 582c6a1e7..f774dca65 100644
--- a/modules/commands/cs_topic.cpp
+++ b/modules/commands/cs_topic.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/cs_mode.h"
-class CommandCSSetKeepTopic
+class CommandCSSetKeepTopic final
: public Command
{
public:
@@ -77,7 +77,7 @@ public:
}
};
-class CommandCSTopic
+class CommandCSTopic final
: public Command
{
ExtensibleRef<bool> topiclock;
@@ -204,7 +204,7 @@ public:
}
};
-class CSTopic
+class CSTopic final
: public Module
{
CommandCSTopic commandcstopic;
diff --git a/modules/commands/cs_unban.cpp b/modules/commands/cs_unban.cpp
index 763af5533..c214136eb 100644
--- a/modules/commands/cs_unban.cpp
+++ b/modules/commands/cs_unban.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSUnban
+class CommandCSUnban final
: public Command
{
public:
@@ -116,7 +116,7 @@ public:
}
};
-class CSUnban
+class CSUnban final
: public Module
{
CommandCSUnban commandcsunban;
diff --git a/modules/commands/cs_updown.cpp b/modules/commands/cs_updown.cpp
index 90bb882e2..24242a0c3 100644
--- a/modules/commands/cs_updown.cpp
+++ b/modules/commands/cs_updown.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandCSUp
+class CommandCSUp final
: public Command
{
void SetModes(User *u, Channel *c)
@@ -130,7 +130,7 @@ public:
}
};
-class CommandCSDown
+class CommandCSDown final
: public Command
{
void RemoveAll(User *u, Channel *c)
@@ -228,7 +228,7 @@ public:
}
};
-class CSUpDown
+class CSUpDown final
: public Module
{
CommandCSUp commandcsup;
diff --git a/modules/commands/cs_xop.cpp b/modules/commands/cs_xop.cpp
index 7b0b8fd0c..835768849 100644
--- a/modules/commands/cs_xop.cpp
+++ b/modules/commands/cs_xop.cpp
@@ -17,7 +17,7 @@ namespace
std::map<Anope::string, std::vector<Anope::string> > permissions;
}
-class XOPChanAccess
+class XOPChanAccess final
: public ChanAccess
{
public:
@@ -85,7 +85,7 @@ public:
}
};
-class XOPAccessProvider
+class XOPAccessProvider final
: public AccessProvider
{
public:
@@ -99,7 +99,7 @@ public:
}
};
-class CommandCSXOP
+class CommandCSXOP final
: public Command
{
private:
@@ -294,7 +294,7 @@ private:
/* Special case: is it a number/list? Only do search if it isn't. */
if (isdigit(mask[0]) && mask.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class XOPDelCallback
+ class XOPDelCallback final
: public NumberList
{
CommandSource &source;
@@ -398,7 +398,7 @@ private:
if (!nick.empty() && nick.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class XOPListCallback
+ class XOPListCallback final
: public NumberList
{
ListFormatter &list;
@@ -600,7 +600,7 @@ public:
}
};
-class CSXOP
+class CSXOP final
: public Module
{
XOPAccessProvider accessprovider;
diff --git a/modules/commands/gl_global.cpp b/modules/commands/gl_global.cpp
index 3bea27e4d..edfaa21a5 100644
--- a/modules/commands/gl_global.cpp
+++ b/modules/commands/gl_global.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandGLGlobal
+class CommandGLGlobal final
: public Command
{
ServiceReference<GlobalService> GService;
@@ -52,7 +52,7 @@ public:
}
};
-class GLGlobal
+class GLGlobal final
: public Module
{
CommandGLGlobal commandglglobal;
diff --git a/modules/commands/greet.cpp b/modules/commands/greet.cpp
index 81a5e9c6d..1260b3a28 100644
--- a/modules/commands/greet.cpp
+++ b/modules/commands/greet.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandBSSetGreet
+class CommandBSSetGreet final
: public Command
{
public:
@@ -138,7 +138,7 @@ public:
}
};
-class CommandNSSASetGreet
+class CommandNSSASetGreet final
: public CommandNSSetGreet
{
public:
@@ -165,7 +165,7 @@ public:
}
};
-class Greet
+class Greet final
: public Module
{
/* channel setting for whether or not greet should be shown */
diff --git a/modules/commands/help.cpp b/modules/commands/help.cpp
index 3d6dc47c3..66c22a589 100644
--- a/modules/commands/help.cpp
+++ b/modules/commands/help.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandHelp
+class CommandHelp final
: public Command
{
static const unsigned help_wrap_len = 40;
@@ -183,7 +183,7 @@ public:
}
};
-class Help
+class Help final
: public Module
{
CommandHelp commandhelp;
diff --git a/modules/commands/hs_del.cpp b/modules/commands/hs_del.cpp
index 81fcf3e68..eb60afc00 100644
--- a/modules/commands/hs_del.cpp
+++ b/modules/commands/hs_del.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandHSDel
+class CommandHSDel final
: public Command
{
public:
@@ -52,7 +52,7 @@ public:
}
};
-class CommandHSDelAll
+class CommandHSDelAll final
: public Command
{
public:
@@ -98,7 +98,7 @@ public:
}
};
-class HSDel
+class HSDel final
: public Module
{
CommandHSDel commandhsdel;
diff --git a/modules/commands/hs_group.cpp b/modules/commands/hs_group.cpp
index c05c467c0..9db0bbb00 100644
--- a/modules/commands/hs_group.cpp
+++ b/modules/commands/hs_group.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandHSGroup
+class CommandHSGroup final
: public Command
{
bool setting = false;
@@ -76,7 +76,7 @@ public:
}
};
-class HSGroup
+class HSGroup final
: public Module
{
CommandHSGroup commandhsgroup;
diff --git a/modules/commands/hs_list.cpp b/modules/commands/hs_list.cpp
index bacd4b367..8cda26c38 100644
--- a/modules/commands/hs_list.cpp
+++ b/modules/commands/hs_list.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandHSList
+class CommandHSList final
: public Command
{
public:
@@ -143,7 +143,7 @@ public:
}
};
-class HSList
+class HSList final
: public Module
{
CommandHSList commandhslist;
diff --git a/modules/commands/hs_off.cpp b/modules/commands/hs_off.cpp
index cb65c7035..8e4036726 100644
--- a/modules/commands/hs_off.cpp
+++ b/modules/commands/hs_off.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandHSOff
+class CommandHSOff final
: public Command
{
public:
@@ -54,7 +54,7 @@ public:
}
};
-class HSOff
+class HSOff final
: public Module
{
CommandHSOff commandhsoff;
diff --git a/modules/commands/hs_on.cpp b/modules/commands/hs_on.cpp
index 7f14e3406..c8c01b7b2 100644
--- a/modules/commands/hs_on.cpp
+++ b/modules/commands/hs_on.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandHSOn
+class CommandHSOn final
: public Command
{
public:
@@ -60,7 +60,7 @@ public:
}
};
-class HSOn
+class HSOn final
: public Module
{
CommandHSOn commandhson;
diff --git a/modules/commands/hs_request.cpp b/modules/commands/hs_request.cpp
index 361e4a8f7..25f089647 100644
--- a/modules/commands/hs_request.cpp
+++ b/modules/commands/hs_request.cpp
@@ -20,7 +20,7 @@ static ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ")
static void req_send_memos(Module *me, CommandSource &source, const Anope::string &vIdent, const Anope::string &vHost);
-struct HostRequest
+struct HostRequest final
: Serializable
{
Anope::string nick;
@@ -64,7 +64,7 @@ struct HostRequest
}
};
-class CommandHSRequest
+class CommandHSRequest final
: public Command
{
bool isvalidchar(char c)
@@ -187,7 +187,7 @@ public:
}
};
-class CommandHSActivate
+class CommandHSActivate final
: public Command
{
public:
@@ -237,7 +237,7 @@ public:
}
};
-class CommandHSReject
+class CommandHSReject final
: public Command
{
public:
@@ -294,7 +294,7 @@ public:
}
};
-class CommandHSWaiting
+class CommandHSWaiting final
: public Command
{
public:
@@ -353,7 +353,7 @@ public:
}
};
-class HSRequest
+class HSRequest final
: public Module
{
CommandHSRequest commandhsrequest;
diff --git a/modules/commands/hs_set.cpp b/modules/commands/hs_set.cpp
index 8c2027305..e35f4d3b9 100644
--- a/modules/commands/hs_set.cpp
+++ b/modules/commands/hs_set.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandHSSet
+class CommandHSSet final
: public Command
{
public:
@@ -105,7 +105,7 @@ public:
}
};
-class CommandHSSetAll
+class CommandHSSetAll final
: public Command
{
void Sync(const NickAlias *na)
@@ -214,7 +214,7 @@ public:
}
};
-class HSSet
+class HSSet final
: public Module
{
CommandHSSet commandhsset;
diff --git a/modules/commands/ms_cancel.cpp b/modules/commands/ms_cancel.cpp
index b7b6dee2f..330b55926 100644
--- a/modules/commands/ms_cancel.cpp
+++ b/modules/commands/ms_cancel.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandMSCancel
+class CommandMSCancel final
: public Command
{
public:
@@ -88,7 +88,7 @@ public:
}
};
-class MSCancel
+class MSCancel final
: public Module
{
CommandMSCancel commandmscancel;
diff --git a/modules/commands/ms_check.cpp b/modules/commands/ms_check.cpp
index be5e7fc56..d3556379d 100644
--- a/modules/commands/ms_check.cpp
+++ b/modules/commands/ms_check.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandMSCheck
+class CommandMSCheck final
: public Command
{
public:
@@ -73,7 +73,7 @@ public:
}
};
-class MSCheck
+class MSCheck final
: public Module
{
CommandMSCheck commandmscheck;
diff --git a/modules/commands/ms_del.cpp b/modules/commands/ms_del.cpp
index 01e882e44..469fdf221 100644
--- a/modules/commands/ms_del.cpp
+++ b/modules/commands/ms_del.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class MemoDelCallback
+class MemoDelCallback final
: public NumberList
{
CommandSource &source;
@@ -37,7 +37,7 @@ public:
}
};
-class CommandMSDel
+class CommandMSDel final
: public Command
{
public:
@@ -146,7 +146,7 @@ public:
}
};
-class MSDel
+class MSDel final
: public Module
{
CommandMSDel commandmsdel;
diff --git a/modules/commands/ms_ignore.cpp b/modules/commands/ms_ignore.cpp
index a1d2d6dc3..c67c1b550 100644
--- a/modules/commands/ms_ignore.cpp
+++ b/modules/commands/ms_ignore.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandMSIgnore
+class CommandMSIgnore final
: public Command
{
public:
@@ -119,7 +119,7 @@ public:
}
};
-class MSIgnore
+class MSIgnore final
: public Module
{
CommandMSIgnore commandmsignore;
diff --git a/modules/commands/ms_info.cpp b/modules/commands/ms_info.cpp
index adeb5d082..c76a446cd 100644
--- a/modules/commands/ms_info.cpp
+++ b/modules/commands/ms_info.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandMSInfo
+class CommandMSInfo final
: public Command
{
public:
@@ -219,7 +219,7 @@ public:
}
};
-class MSInfo
+class MSInfo final
: public Module
{
CommandMSInfo commandmsinfo;
diff --git a/modules/commands/ms_list.cpp b/modules/commands/ms_list.cpp
index b527939c6..127cfdaaf 100644
--- a/modules/commands/ms_list.cpp
+++ b/modules/commands/ms_list.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandMSList
+class CommandMSList final
: public Command
{
public:
@@ -66,7 +66,7 @@ public:
if (!param.empty() && isdigit(param[0]))
{
- class MemoListCallback
+ class MemoListCallback final
: public NumberList
{
ListFormatter &list;
@@ -151,7 +151,7 @@ public:
}
};
-class MSList
+class MSList final
: public Module
{
CommandMSList commandmslist;
diff --git a/modules/commands/ms_read.cpp b/modules/commands/ms_read.cpp
index 496bf38a7..5e9c8fd83 100644
--- a/modules/commands/ms_read.cpp
+++ b/modules/commands/ms_read.cpp
@@ -47,7 +47,7 @@ static void rsend_notify(CommandSource &source, MemoInfo *mi, Memo *m, const Ano
m->receipt = false;
}
-class MemoListCallback
+class MemoListCallback final
: public NumberList
{
CommandSource &source;
@@ -105,7 +105,7 @@ public:
}
};
-class CommandMSRead
+class CommandMSRead final
: public Command
{
public:
@@ -211,7 +211,7 @@ public:
}
};
-class MSRead
+class MSRead final
: public Module
{
CommandMSRead commandmsread;
diff --git a/modules/commands/ms_rsend.cpp b/modules/commands/ms_rsend.cpp
index 092a0ea34..a5de58e56 100644
--- a/modules/commands/ms_rsend.cpp
+++ b/modules/commands/ms_rsend.cpp
@@ -16,7 +16,7 @@ namespace
ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ");
}
-class CommandMSRSend
+class CommandMSRSend final
: public Command
{
public:
@@ -89,7 +89,7 @@ public:
}
};
-class MSRSend
+class MSRSend final
: public Module
{
CommandMSRSend commandmsrsend;
diff --git a/modules/commands/ms_send.cpp b/modules/commands/ms_send.cpp
index ced13bb6f..1335f1ad4 100644
--- a/modules/commands/ms_send.cpp
+++ b/modules/commands/ms_send.cpp
@@ -16,7 +16,7 @@ namespace
ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ");
}
-class CommandMSSend
+class CommandMSSend final
: public Command
{
public:
@@ -72,7 +72,7 @@ public:
}
};
-class MSSend
+class MSSend final
: public Module
{
CommandMSSend commandmssend;
diff --git a/modules/commands/ms_sendall.cpp b/modules/commands/ms_sendall.cpp
index a7bdb5d93..c04ff7a3f 100644
--- a/modules/commands/ms_sendall.cpp
+++ b/modules/commands/ms_sendall.cpp
@@ -16,7 +16,7 @@ namespace
ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ");
}
-class CommandMSSendAll
+class CommandMSSendAll final
: public Command
{
public:
@@ -53,7 +53,7 @@ public:
}
};
-class MSSendAll
+class MSSendAll final
: public Module
{
CommandMSSendAll commandmssendall;
diff --git a/modules/commands/ms_set.cpp b/modules/commands/ms_set.cpp
index bd745a5ef..83b28fb20 100644
--- a/modules/commands/ms_set.cpp
+++ b/modules/commands/ms_set.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandMSSet
+class CommandMSSet final
: public Command
{
private:
@@ -299,7 +299,7 @@ public:
}
};
-class MSSet
+class MSSet final
: public Module
{
CommandMSSet commandmsset;
diff --git a/modules/commands/ms_staff.cpp b/modules/commands/ms_staff.cpp
index 0930bbecb..cbd27061d 100644
--- a/modules/commands/ms_staff.cpp
+++ b/modules/commands/ms_staff.cpp
@@ -16,7 +16,7 @@ namespace
ServiceReference<MemoServService> memoserv("MemoServService", "MemoServ");
}
-class CommandMSStaff
+class CommandMSStaff final
: public Command
{
public:
@@ -50,7 +50,7 @@ public:
}
};
-class MSStaff
+class MSStaff final
: public Module
{
CommandMSStaff commandmsstaff;
diff --git a/modules/commands/ns_access.cpp b/modules/commands/ns_access.cpp
index 0b42436e4..1e0c99ce4 100644
--- a/modules/commands/ns_access.cpp
+++ b/modules/commands/ns_access.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandNSAccess
+class CommandNSAccess final
: public Command
{
private:
@@ -187,7 +187,7 @@ public:
}
};
-class NSAccess
+class NSAccess final
: public Module
{
CommandNSAccess commandnsaccess;
diff --git a/modules/commands/ns_ajoin.cpp b/modules/commands/ns_ajoin.cpp
index f28b1d0a1..8f4b14112 100644
--- a/modules/commands/ns_ajoin.cpp
+++ b/modules/commands/ns_ajoin.cpp
@@ -13,14 +13,14 @@
struct AJoinEntry;
-struct AJoinList
+struct AJoinList final
: Serialize::Checker<std::vector<AJoinEntry *> >
{
AJoinList(Extensible *) : Serialize::Checker<std::vector<AJoinEntry *> >("AJoinEntry") { }
~AJoinList();
};
-struct AJoinEntry
+struct AJoinEntry final
: Serializable
{
Serialize::Reference<NickCore> owner;
@@ -88,7 +88,7 @@ AJoinList::~AJoinList()
delete ajoin;
}
-class CommandNSAJoin
+class CommandNSAJoin final
: public Command
{
void DoList(CommandSource &source, NickCore *nc)
@@ -300,7 +300,7 @@ public:
}
};
-class NSAJoin
+class NSAJoin final
: public Module
{
CommandNSAJoin commandnsajoin;
diff --git a/modules/commands/ns_alist.cpp b/modules/commands/ns_alist.cpp
index dc05360a4..e4adfb870 100644
--- a/modules/commands/ns_alist.cpp
+++ b/modules/commands/ns_alist.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandNSAList
+class CommandNSAList final
: public Command
{
static bool ChannelSort(ChannelInfo *ci1, ChannelInfo *ci2)
@@ -132,7 +132,7 @@ public:
}
};
-class NSAList
+class NSAList final
: public Module
{
CommandNSAList commandnsalist;
diff --git a/modules/commands/ns_cert.cpp b/modules/commands/ns_cert.cpp
index 8c874ad81..389b49cf5 100644
--- a/modules/commands/ns_cert.cpp
+++ b/modules/commands/ns_cert.cpp
@@ -14,7 +14,7 @@
static Anope::hash_map<NickCore *> certmap;
-struct CertServiceImpl
+struct CertServiceImpl final
: CertService
{
CertServiceImpl(Module *o) : CertService(o) { }
@@ -28,7 +28,7 @@ struct CertServiceImpl
}
};
-struct NSCertListImpl
+struct NSCertListImpl final
: NSCertList
{
Serialize::Reference<NickCore> nc;
@@ -121,7 +121,7 @@ public:
nc->Shrink<NSCertList>("certificates");
}
- struct ExtensibleItem
+ struct ExtensibleItem final
: ::ExtensibleItem<NSCertListImpl>
{
ExtensibleItem(Module *m, const Anope::string &ename) : ::ExtensibleItem<NSCertListImpl>(m, ename) { }
@@ -163,7 +163,7 @@ public:
};
};
-class CommandNSCert
+class CommandNSCert final
: public Command
{
private:
@@ -342,7 +342,7 @@ public:
}
};
-class NSCert
+class NSCert final
: public Module
{
CommandNSCert commandnscert;
diff --git a/modules/commands/ns_drop.cpp b/modules/commands/ns_drop.cpp
index d69486e8a..dbdbe09be 100644
--- a/modules/commands/ns_drop.cpp
+++ b/modules/commands/ns_drop.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandNSDrop
+class CommandNSDrop final
: public Command
{
public:
@@ -72,7 +72,7 @@ public:
}
};
-class NSDrop
+class NSDrop final
: public Module
{
CommandNSDrop commandnsdrop;
diff --git a/modules/commands/ns_getemail.cpp b/modules/commands/ns_getemail.cpp
index d3c18c0cf..e85fc12d6 100644
--- a/modules/commands/ns_getemail.cpp
+++ b/modules/commands/ns_getemail.cpp
@@ -15,7 +15,7 @@
#include "module.h"
-class CommandNSGetEMail
+class CommandNSGetEMail final
: public Command
{
public:
@@ -59,7 +59,7 @@ public:
}
};
-class NSGetEMail
+class NSGetEMail final
: public Module
{
CommandNSGetEMail commandnsgetemail;
diff --git a/modules/commands/ns_group.cpp b/modules/commands/ns_group.cpp
index 96a70fdd6..2dfaeb9fc 100644
--- a/modules/commands/ns_group.cpp
+++ b/modules/commands/ns_group.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/ns_cert.h"
-class NSGroupRequest
+class NSGroupRequest final
: public IdentifyRequest
{
CommandSource source;
@@ -84,7 +84,7 @@ public:
}
};
-class CommandNSGroup
+class CommandNSGroup final
: public Command
{
public:
@@ -230,7 +230,7 @@ public:
}
};
-class CommandNSUngroup
+class CommandNSUngroup final
: public Command
{
public:
@@ -294,7 +294,7 @@ public:
}
};
-class CommandNSGList
+class CommandNSGList final
: public Command
{
public:
@@ -380,7 +380,7 @@ public:
}
};
-class NSGroup
+class NSGroup final
: public Module
{
CommandNSGroup commandnsgroup;
diff --git a/modules/commands/ns_identify.cpp b/modules/commands/ns_identify.cpp
index 1f9c49eab..e945c6ece 100644
--- a/modules/commands/ns_identify.cpp
+++ b/modules/commands/ns_identify.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class NSIdentifyRequest
+class NSIdentifyRequest final
: public IdentifyRequest
{
CommandSource source;
@@ -58,7 +58,7 @@ public:
}
};
-class CommandNSIdentify
+class CommandNSIdentify final
: public Command
{
public:
@@ -115,7 +115,7 @@ public:
}
};
-class NSIdentify
+class NSIdentify final
: public Module
{
CommandNSIdentify commandnsidentify;
diff --git a/modules/commands/ns_info.cpp b/modules/commands/ns_info.cpp
index 10bfda6f4..33efbc24f 100644
--- a/modules/commands/ns_info.cpp
+++ b/modules/commands/ns_info.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandNSInfo
+class CommandNSInfo final
: public Command
{
public:
@@ -234,7 +234,7 @@ public:
}
};
-class CommandNSSASetHide
+class CommandNSSASetHide final
: public CommandNSSetHide
{
public:
@@ -264,7 +264,7 @@ public:
}
};
-class NSInfo
+class NSInfo final
: public Module
{
CommandNSInfo commandnsinfo;
diff --git a/modules/commands/ns_list.cpp b/modules/commands/ns_list.cpp
index f32cad2f5..a1c28a28d 100644
--- a/modules/commands/ns_list.cpp
+++ b/modules/commands/ns_list.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandNSList
+class CommandNSList final
: public Command
{
public:
@@ -243,7 +243,7 @@ public:
}
};
-class CommandNSSASetPrivate
+class CommandNSSASetPrivate final
: public CommandNSSetPrivate
{
public:
@@ -273,7 +273,7 @@ public:
};
-class NSList
+class NSList final
: public Module
{
CommandNSList commandnslist;
diff --git a/modules/commands/ns_logout.cpp b/modules/commands/ns_logout.cpp
index 7a273f08c..8b92f7558 100644
--- a/modules/commands/ns_logout.cpp
+++ b/modules/commands/ns_logout.cpp
@@ -13,7 +13,7 @@
static ServiceReference<NickServService> NickServService("NickServService", "NickServ");
-class CommandNSLogout
+class CommandNSLogout final
: public Command
{
public:
@@ -77,7 +77,7 @@ public:
}
};
-class NSLogout
+class NSLogout final
: public Module
{
CommandNSLogout commandnslogout;
diff --git a/modules/commands/ns_recover.cpp b/modules/commands/ns_recover.cpp
index 52c58d841..7460dbd33 100644
--- a/modules/commands/ns_recover.cpp
+++ b/modules/commands/ns_recover.cpp
@@ -16,14 +16,14 @@ static ServiceReference<NickServService> nickserv("NickServService", "NickServ")
typedef std::map<Anope::string, ChannelStatus> NSRecoverInfo;
-class NSRecoverSvsnick
+class NSRecoverSvsnick final
{
public:
Reference<User> from;
Anope::string to;
};
-class NSRecoverRequest
+class NSRecoverRequest final
: public IdentifyRequest
{
CommandSource source;
@@ -142,7 +142,7 @@ public:
}
};
-class CommandNSRecover
+class CommandNSRecover final
: public Command
{
public:
@@ -223,7 +223,7 @@ public:
}
};
-class NSRecover
+class NSRecover final
: public Module
{
CommandNSRecover commandnsrecover;
diff --git a/modules/commands/ns_register.cpp b/modules/commands/ns_register.cpp
index a597a9c13..d1987a163 100644
--- a/modules/commands/ns_register.cpp
+++ b/modules/commands/ns_register.cpp
@@ -13,7 +13,7 @@
static bool SendRegmail(User *u, const NickAlias *na, BotInfo *bi);
-class CommandNSConfirm
+class CommandNSConfirm final
: public Command
{
public:
@@ -115,7 +115,7 @@ public:
}
};
-class CommandNSRegister
+class CommandNSRegister final
: public Command
{
public:
@@ -311,7 +311,7 @@ public:
}
};
-class CommandNSResend
+class CommandNSResend final
: public Command
{
public:
@@ -369,7 +369,7 @@ public:
}
};
-class NSRegister
+class NSRegister final
: public Module
{
CommandNSRegister commandnsregister;
diff --git a/modules/commands/ns_resetpass.cpp b/modules/commands/ns_resetpass.cpp
index 73759a251..1120cb84a 100644
--- a/modules/commands/ns_resetpass.cpp
+++ b/modules/commands/ns_resetpass.cpp
@@ -13,7 +13,7 @@
static bool SendResetEmail(User *u, const NickAlias *na, BotInfo *bi);
-class CommandNSResetPass
+class CommandNSResetPass final
: public Command
{
public:
@@ -55,13 +55,13 @@ public:
}
};
-struct ResetInfo
+struct ResetInfo final
{
Anope::string code;
time_t time;
};
-class NSResetPass
+class NSResetPass final
: public Module
{
CommandNSResetPass commandnsresetpass;
diff --git a/modules/commands/ns_set.cpp b/modules/commands/ns_set.cpp
index e6e7486c6..016edde18 100644
--- a/modules/commands/ns_set.cpp
+++ b/modules/commands/ns_set.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandNSSet
+class CommandNSSet final
: public Command
{
public:
@@ -64,7 +64,7 @@ public:
}
};
-class CommandNSSASet
+class CommandNSSASet final
: public Command
{
public:
@@ -107,7 +107,7 @@ public:
}
};
-class CommandNSSetPassword
+class CommandNSSetPassword final
: public Command
{
public:
@@ -164,7 +164,7 @@ public:
}
};
-class CommandNSSASetPassword
+class CommandNSSASetPassword final
: public Command
{
public:
@@ -299,7 +299,7 @@ public:
}
};
-class CommandNSSASetAutoOp
+class CommandNSSASetAutoOp final
: public CommandNSSetAutoOp
{
public:
@@ -389,7 +389,7 @@ public:
}
};
-class CommandNSSASetNeverOp
+class CommandNSSASetNeverOp final
: public CommandNSSetNeverOp
{
public:
@@ -483,7 +483,7 @@ public:
}
};
-class CommandNSSASetDisplay
+class CommandNSSASetDisplay final
: public CommandNSSetDisplay
{
public:
@@ -632,7 +632,7 @@ public:
}
};
-class CommandNSSASetEmail
+class CommandNSSASetEmail final
: public CommandNSSetEmail
{
public:
@@ -719,7 +719,7 @@ public:
}
};
-class CommandNSSASetKeepModes
+class CommandNSSASetKeepModes final
: public CommandNSSetKeepModes
{
public:
@@ -850,7 +850,7 @@ public:
}
};
-class CommandNSSASetKill
+class CommandNSSASetKill final
: public CommandNSSetKill
{
public:
@@ -964,7 +964,7 @@ public:
}
};
-class CommandNSSASetLanguage
+class CommandNSSASetLanguage final
: public CommandNSSetLanguage
{
public:
@@ -1079,7 +1079,7 @@ public:
}
};
-class CommandNSSASetMessage
+class CommandNSSASetMessage final
: public CommandNSSetMessage
{
public:
@@ -1172,7 +1172,7 @@ public:
}
};
-class CommandNSSASetSecure
+class CommandNSSASetSecure final
: public CommandNSSetSecure
{
public:
@@ -1202,7 +1202,7 @@ public:
}
};
-class CommandNSSASetNoexpire
+class CommandNSSASetNoexpire final
: public Command
{
public:
@@ -1255,7 +1255,7 @@ public:
}
};
-class NSSet
+class NSSet final
: public Module
{
CommandNSSet commandnsset;
@@ -1296,7 +1296,7 @@ class NSSet
SerializableExtensibleItem<bool> autoop, neverop, killprotect, kill_quick, kill_immed,
message, secure, noexpire;
- struct KeepModes
+ struct KeepModes final
: SerializableExtensibleItem<bool>
{
KeepModes(Module *m, const Anope::string &n) : SerializableExtensibleItem<bool>(m, n) { }
diff --git a/modules/commands/ns_set_misc.cpp b/modules/commands/ns_set_misc.cpp
index e6e7d8cd9..4fcf10a1b 100644
--- a/modules/commands/ns_set_misc.cpp
+++ b/modules/commands/ns_set_misc.cpp
@@ -31,7 +31,7 @@ static ExtensibleItem<NSMiscData> *GetItem(const Anope::string &name)
return it;
}
-struct NSMiscData
+struct NSMiscData final
: MiscData
, Serializable
{
@@ -164,7 +164,7 @@ public:
}
};
-class CommandNSSASetMisc
+class CommandNSSASetMisc final
: public CommandNSSetMisc
{
public:
@@ -180,7 +180,7 @@ public:
}
};
-class NSSetMisc
+class NSSetMisc final
: public Module
{
CommandNSSetMisc commandnssetmisc;
diff --git a/modules/commands/ns_status.cpp b/modules/commands/ns_status.cpp
index 94a073e22..7b4154ce6 100644
--- a/modules/commands/ns_status.cpp
+++ b/modules/commands/ns_status.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandNSStatus
+class CommandNSStatus final
: public Command
{
public:
@@ -73,7 +73,7 @@ public:
}
};
-class NSStatus
+class NSStatus final
: public Module
{
CommandNSStatus commandnsstatus;
diff --git a/modules/commands/ns_suspend.cpp b/modules/commands/ns_suspend.cpp
index c5cc2f2e5..97c69aae4 100644
--- a/modules/commands/ns_suspend.cpp
+++ b/modules/commands/ns_suspend.cpp
@@ -14,7 +14,7 @@
static ServiceReference<NickServService> nickserv("NickServService", "NickServ");
-struct NSSuspendInfo
+struct NSSuspendInfo final
: SuspendInfo
, Serializable
{
@@ -54,7 +54,7 @@ struct NSSuspendInfo
}
};
-class CommandNSSuspend
+class CommandNSSuspend final
: public Command
{
public:
@@ -153,7 +153,7 @@ public:
}
};
-class CommandNSUnSuspend
+class CommandNSUnSuspend final
: public Command
{
public:
@@ -203,7 +203,7 @@ public:
}
};
-class NSSuspend
+class NSSuspend final
: public Module
{
CommandNSSuspend commandnssuspend;
@@ -212,7 +212,7 @@ class NSSuspend
Serialize::Type suspend_type;
std::vector<Anope::string> show;
- struct trim
+ struct trim final
{
Anope::string operator()(Anope::string s) const
{
diff --git a/modules/commands/ns_update.cpp b/modules/commands/ns_update.cpp
index 209d5991c..6980a4207 100644
--- a/modules/commands/ns_update.cpp
+++ b/modules/commands/ns_update.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandNSUpdate
+class CommandNSUpdate final
: public Command
{
public:
@@ -48,7 +48,7 @@ public:
}
};
-class NSUpdate
+class NSUpdate final
: public Module
{
CommandNSUpdate commandnsupdate;
diff --git a/modules/commands/os_akill.cpp b/modules/commands/os_akill.cpp
index b97bfbe5d..3f5e9c7d2 100644
--- a/modules/commands/os_akill.cpp
+++ b/modules/commands/os_akill.cpp
@@ -13,7 +13,7 @@
static ServiceReference<XLineManager> akills("XLineManager", "xlinemanager/sgline");
-class AkillDelCallback
+class AkillDelCallback final
: public NumberList
{
CommandSource &source;
@@ -56,7 +56,7 @@ public:
}
};
-class CommandOSAKill
+class CommandOSAKill final
: public Command
{
private:
@@ -264,7 +264,7 @@ private:
if (!mask.empty() && isdigit(mask[0]) && mask.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class ListCallback
+ class ListCallback final
: public NumberList
{
CommandSource &source;
@@ -471,7 +471,7 @@ public:
}
};
-class OSAKill
+class OSAKill final
: public Module
{
CommandOSAKill commandosakill;
diff --git a/modules/commands/os_chankill.cpp b/modules/commands/os_chankill.cpp
index 54966e23b..311e8f3d1 100644
--- a/modules/commands/os_chankill.cpp
+++ b/modules/commands/os_chankill.cpp
@@ -13,7 +13,7 @@
static ServiceReference<XLineManager> akills("XLineManager", "xlinemanager/sgline");
-class CommandOSChanKill
+class CommandOSChanKill final
: public Command
{
public:
@@ -103,7 +103,7 @@ public:
}
};
-class OSChanKill
+class OSChanKill final
: public Module
{
CommandOSChanKill commandoschankill;
diff --git a/modules/commands/os_config.cpp b/modules/commands/os_config.cpp
index 9895fc744..2a9ede9e7 100644
--- a/modules/commands/os_config.cpp
+++ b/modules/commands/os_config.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSConfig
+class CommandOSConfig final
: public Command
{
public:
@@ -133,7 +133,7 @@ public:
}
};
-class OSConfig
+class OSConfig final
: public Module
{
CommandOSConfig commandosconfig;
diff --git a/modules/commands/os_defcon.cpp b/modules/commands/os_defcon.cpp
index 5ef148faa..5664f5ffb 100644
--- a/modules/commands/os_defcon.cpp
+++ b/modules/commands/os_defcon.cpp
@@ -28,7 +28,7 @@ enum DefconLevel
bool DefConModesSet = false;
-struct DefconConfig
+struct DefconConfig final
{
std::vector<std::bitset<32> > DefCon;
std::set<Anope::string> DefConModesOn, DefConModesOff;
@@ -105,7 +105,7 @@ static ServiceReference<GlobalService> GlobalService("GlobalService", "Global");
static Timer *timeout;
-class DefConTimeout
+class DefConTimeout final
: public Timer
{
int level;
@@ -145,7 +145,7 @@ public:
}
};
-class CommandOSDefcon
+class CommandOSDefcon final
: public Command
{
void SendLevels(CommandSource &source)
@@ -246,7 +246,7 @@ public:
}
};
-class OSDefcon
+class OSDefcon final
: public Module
{
ServiceReference<SessionService> session_service;
diff --git a/modules/commands/os_dns.cpp b/modules/commands/os_dns.cpp
index 003d22305..79f4bf43e 100644
--- a/modules/commands/os_dns.cpp
+++ b/modules/commands/os_dns.cpp
@@ -19,7 +19,7 @@ static Serialize::Checker<std::vector<DNSServer *> > dns_servers("DNSServer");
static std::map<Anope::string, std::list<time_t> > server_quit_times;
-struct DNSZone
+struct DNSZone final
: Serializable
{
Anope::string name;
@@ -87,7 +87,7 @@ struct DNSZone
}
};
-class DNSServer
+class DNSServer final
: public Serializable
{
Anope::string server_name;
@@ -206,7 +206,7 @@ public:
}
};
-class CommandOSDNS
+class CommandOSDNS final
: public Command
{
void DisplayPoolState(CommandSource &source)
@@ -719,7 +719,7 @@ public:
}
};
-class ModuleDNS
+class ModuleDNS final
: public Module
{
Serialize::Type zone_type, dns_type;
diff --git a/modules/commands/os_forbid.cpp b/modules/commands/os_forbid.cpp
index fb18a8e5d..a06f51bb0 100644
--- a/modules/commands/os_forbid.cpp
+++ b/modules/commands/os_forbid.cpp
@@ -14,7 +14,7 @@
static ServiceReference<NickServService> nickserv("NickServService", "NickServ");
-struct ForbidDataImpl
+struct ForbidDataImpl final
: ForbidData
, Serializable
{
@@ -61,7 +61,7 @@ Serializable* ForbidDataImpl::Unserialize(Serializable *obj, Serialize::Data &da
return fb;
}
-class MyForbidService
+class MyForbidService final
: public ForbidService
{
Serialize::Checker<std::vector<ForbidData *>[FT_SIZE - 1]> forbid_data;
@@ -149,7 +149,7 @@ public:
}
};
-class CommandOSForbid
+class CommandOSForbid final
: public Command
{
ServiceReference<ForbidService> fs;
@@ -434,7 +434,7 @@ public:
}
};
-class OSForbid
+class OSForbid final
: public Module
{
MyForbidService forbidService;
diff --git a/modules/commands/os_ignore.cpp b/modules/commands/os_ignore.cpp
index 006980299..013d874b0 100644
--- a/modules/commands/os_ignore.cpp
+++ b/modules/commands/os_ignore.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/os_ignore.h"
-struct IgnoreDataImpl
+struct IgnoreDataImpl final
: IgnoreData
, Serializable
{
@@ -59,7 +59,7 @@ Serializable* IgnoreDataImpl::Unserialize(Serializable *obj, Serialize::Data &da
}
-class OSIgnoreService
+class OSIgnoreService final
: public IgnoreService
{
Serialize::Checker<std::vector<IgnoreData *> > ignores;
@@ -157,7 +157,7 @@ public:
}
};
-class CommandOSIgnore
+class CommandOSIgnore final
: public Command
{
private:
@@ -395,7 +395,7 @@ public:
}
};
-class OSIgnore
+class OSIgnore final
: public Module
{
Serialize::Type ignoredata_type;
diff --git a/modules/commands/os_info.cpp b/modules/commands/os_info.cpp
index c5036e04a..2e293c8f7 100644
--- a/modules/commands/os_info.cpp
+++ b/modules/commands/os_info.cpp
@@ -8,7 +8,7 @@
#include "module.h"
-struct OperInfo
+struct OperInfo final
: Serializable
{
Anope::string target;
@@ -33,7 +33,7 @@ struct OperInfo
static Serializable *Unserialize(Serializable *obj, Serialize::Data &data);
};
-struct OperInfos
+struct OperInfos final
: Serialize::Checker<std::vector<OperInfo *> >
{
OperInfos(Extensible *) : Serialize::Checker<std::vector<OperInfo *> >("OperInfo") { }
@@ -95,7 +95,7 @@ Serializable *OperInfo::Unserialize(Serializable *obj, Serialize::Data &data)
return o;
}
-class CommandOSInfo
+class CommandOSInfo final
: public Command
{
public:
@@ -248,7 +248,7 @@ public:
}
};
-class OSInfo
+class OSInfo final
: public Module
{
CommandOSInfo commandosinfo;
diff --git a/modules/commands/os_jupe.cpp b/modules/commands/os_jupe.cpp
index 2bec69d05..5410b6905 100644
--- a/modules/commands/os_jupe.cpp
+++ b/modules/commands/os_jupe.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSJupe
+class CommandOSJupe final
: public Command
{
public:
@@ -66,7 +66,7 @@ public:
}
};
-class OSJupe
+class OSJupe final
: public Module
{
CommandOSJupe commandosjupe;
diff --git a/modules/commands/os_kick.cpp b/modules/commands/os_kick.cpp
index 14261e048..222756aa3 100644
--- a/modules/commands/os_kick.cpp
+++ b/modules/commands/os_kick.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSKick
+class CommandOSKick final
: public Command
{
public:
@@ -70,7 +70,7 @@ public:
}
};
-class OSKick
+class OSKick final
: public Module
{
CommandOSKick commandoskick;
diff --git a/modules/commands/os_kill.cpp b/modules/commands/os_kill.cpp
index 40c640826..6d57387a1 100644
--- a/modules/commands/os_kill.cpp
+++ b/modules/commands/os_kill.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSKill
+class CommandOSKill final
: public Command
{
public:
@@ -53,7 +53,7 @@ public:
}
};
-class OSKill
+class OSKill final
: public Module
{
CommandOSKill commandoskill;
diff --git a/modules/commands/os_list.cpp b/modules/commands/os_list.cpp
index 514b9f523..a6969dc24 100644
--- a/modules/commands/os_list.cpp
+++ b/modules/commands/os_list.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSChanList
+class CommandOSChanList final
: public Command
{
public:
@@ -129,7 +129,7 @@ public:
}
};
-class CommandOSUserList
+class CommandOSUserList final
: public Command
{
public:
@@ -272,7 +272,7 @@ public:
}
};
-class OSList
+class OSList final
: public Module
{
CommandOSChanList commandoschanlist;
diff --git a/modules/commands/os_login.cpp b/modules/commands/os_login.cpp
index 7cd24dc90..942c14b80 100644
--- a/modules/commands/os_login.cpp
+++ b/modules/commands/os_login.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSLogin
+class CommandOSLogin final
: public Command
{
public:
@@ -62,7 +62,7 @@ public:
}
};
-class CommandOSLogout
+class CommandOSLogout final
: public Command
{
public:
@@ -105,7 +105,7 @@ public:
}
};
-class OSLogin
+class OSLogin final
: public Module
{
CommandOSLogin commandoslogin;
diff --git a/modules/commands/os_logsearch.cpp b/modules/commands/os_logsearch.cpp
index 79fc597b5..145e12b53 100644
--- a/modules/commands/os_logsearch.cpp
+++ b/modules/commands/os_logsearch.cpp
@@ -13,7 +13,7 @@
static unsigned int HARDMAX = 65536;
-class CommandOSLogSearch
+class CommandOSLogSearch final
: public Command
{
static inline Anope::string CreateLogName(const Anope::string &file, time_t t = Anope::CurTime)
@@ -172,7 +172,7 @@ public:
}
};
-class OSLogSearch
+class OSLogSearch final
: public Module
{
CommandOSLogSearch commandoslogsearch;
diff --git a/modules/commands/os_mode.cpp b/modules/commands/os_mode.cpp
index 7140f5246..964234dac 100644
--- a/modules/commands/os_mode.cpp
+++ b/modules/commands/os_mode.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSMode
+class CommandOSMode final
: public Command
{
public:
@@ -136,7 +136,7 @@ public:
}
};
-class CommandOSUMode
+class CommandOSUMode final
: public Command
{
public:
@@ -175,7 +175,7 @@ public:
}
};
-class OSMode
+class OSMode final
: public Module
{
CommandOSMode commandosmode;
diff --git a/modules/commands/os_modinfo.cpp b/modules/commands/os_modinfo.cpp
index 802154945..66b8788af 100644
--- a/modules/commands/os_modinfo.cpp
+++ b/modules/commands/os_modinfo.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSModInfo
+class CommandOSModInfo final
: public Command
{
public:
@@ -69,7 +69,7 @@ public:
}
};
-class CommandOSModList
+class CommandOSModList final
: public Command
{
public:
@@ -194,7 +194,7 @@ public:
}
};
-class OSModInfo
+class OSModInfo final
: public Module
{
CommandOSModInfo commandosmodinfo;
diff --git a/modules/commands/os_module.cpp b/modules/commands/os_module.cpp
index f8839af74..346640f50 100644
--- a/modules/commands/os_module.cpp
+++ b/modules/commands/os_module.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSModLoad
+class CommandOSModLoad final
: public Command
{
public:
@@ -49,7 +49,7 @@ public:
}
};
-class CommandOSModReLoad
+class CommandOSModReLoad final
: public Command
{
public:
@@ -122,7 +122,7 @@ public:
}
};
-class CommandOSModUnLoad
+class CommandOSModUnLoad final
: public Command
{
public:
@@ -173,7 +173,7 @@ public:
}
};
-class OSModule
+class OSModule final
: public Module
{
CommandOSModLoad commandosmodload;
diff --git a/modules/commands/os_news.cpp b/modules/commands/os_news.cpp
index e0c48de59..66f4a5026 100644
--- a/modules/commands/os_news.cpp
+++ b/modules/commands/os_news.cpp
@@ -64,7 +64,7 @@ struct NewsMessages msgarray[] = {
}
};
-struct MyNewsItem
+struct MyNewsItem final
: NewsItem
{
void Serialize(Serialize::Data &data) const override
@@ -99,7 +99,7 @@ struct MyNewsItem
}
};
-class MyNewsService
+class MyNewsService final
: public NewsService
{
std::vector<NewsItem *> newsItems[3];
@@ -299,7 +299,7 @@ public:
bool OnHelp(CommandSource &source, const Anope::string &subcommand) override = 0;
};
-class CommandOSLogonNews
+class CommandOSLogonNews final
: public NewsBase
{
public:
@@ -327,7 +327,7 @@ public:
}
};
-class CommandOSOperNews
+class CommandOSOperNews final
: public NewsBase
{
public:
@@ -355,7 +355,7 @@ public:
}
};
-class CommandOSRandomNews
+class CommandOSRandomNews final
: public NewsBase
{
public:
@@ -382,7 +382,7 @@ public:
static unsigned cur_rand_news = 0;
-class OSNews
+class OSNews final
: public Module
{
MyNewsService newsservice;
diff --git a/modules/commands/os_noop.cpp b/modules/commands/os_noop.cpp
index 0d11e0606..d4049abd5 100644
--- a/modules/commands/os_noop.cpp
+++ b/modules/commands/os_noop.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSNOOP
+class CommandOSNOOP final
: public Command
{
public:
@@ -72,7 +72,7 @@ public:
}
};
-class OSNOOP
+class OSNOOP final
: public Module
{
CommandOSNOOP commandosnoop;
diff --git a/modules/commands/os_oper.cpp b/modules/commands/os_oper.cpp
index c493b8c82..7f18da9ac 100644
--- a/modules/commands/os_oper.cpp
+++ b/modules/commands/os_oper.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-struct MyOper
+struct MyOper final
: Oper
, Serializable
{
@@ -48,7 +48,7 @@ struct MyOper
}
};
-class CommandOSOper
+class CommandOSOper final
: public Command
{
bool HasPrivs(CommandSource &source, OperType *ot) const
@@ -255,7 +255,7 @@ public:
}
};
-class OSOper
+class OSOper final
: public Module
{
Serialize::Type myoper_type;
diff --git a/modules/commands/os_reload.cpp b/modules/commands/os_reload.cpp
index 1a87babf1..b66e9704c 100644
--- a/modules/commands/os_reload.cpp
+++ b/modules/commands/os_reload.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSReload
+class CommandOSReload final
: public Command
{
public:
@@ -53,7 +53,7 @@ public:
}
};
-class OSReload
+class OSReload final
: public Module
{
CommandOSReload commandosreload;
diff --git a/modules/commands/os_session.cpp b/modules/commands/os_session.cpp
index 8b746bb6d..213721b1a 100644
--- a/modules/commands/os_session.cpp
+++ b/modules/commands/os_session.cpp
@@ -35,7 +35,7 @@ namespace
unsigned ipv6_cidr;
}
-class MySessionService
+class MySessionService final
: public SessionService
{
SessionMap Sessions;
@@ -127,7 +127,7 @@ public:
}
};
-class ExceptionDelCallback
+class ExceptionDelCallback final
: public NumberList
{
protected:
@@ -170,7 +170,7 @@ public:
}
};
-class CommandOSSession
+class CommandOSSession final
: public Command
{
private:
@@ -284,7 +284,7 @@ public:
}
};
-class CommandOSException
+class CommandOSException final
: public Command
{
private:
@@ -435,7 +435,7 @@ private:
if (!mask.empty() && mask.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class ExceptionListCallback
+ class ExceptionListCallback final
: public NumberList
{
CommandSource &source;
@@ -582,7 +582,7 @@ public:
}
};
-class OSSession
+class OSSession final
: public Module
{
Serialize::Type exception_type;
diff --git a/modules/commands/os_set.cpp b/modules/commands/os_set.cpp
index df5301c71..db803a6a2 100644
--- a/modules/commands/os_set.cpp
+++ b/modules/commands/os_set.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSSet
+class CommandOSSet final
: public Command
{
private:
@@ -254,7 +254,7 @@ public:
}
};
-class OSSet
+class OSSet final
: public Module
{
CommandOSSet commandosset;
diff --git a/modules/commands/os_shutdown.cpp b/modules/commands/os_shutdown.cpp
index 4db78d11d..585bbcd50 100644
--- a/modules/commands/os_shutdown.cpp
+++ b/modules/commands/os_shutdown.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSQuit
+class CommandOSQuit final
: public Command
{
public:
@@ -40,7 +40,7 @@ public:
}
};
-class CommandOSRestart
+class CommandOSRestart final
: public Command
{
public:
@@ -67,7 +67,7 @@ public:
}
};
-class CommandOSShutdown
+class CommandOSShutdown final
: public Command
{
public:
@@ -94,7 +94,7 @@ public:
}
};
-class OSShutdown
+class OSShutdown final
: public Module
{
CommandOSQuit commandosquit;
diff --git a/modules/commands/os_stats.cpp b/modules/commands/os_stats.cpp
index de00b22f8..82c62ce6e 100644
--- a/modules/commands/os_stats.cpp
+++ b/modules/commands/os_stats.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/os_session.h"
-struct Stats
+struct Stats final
: Serializable
{
static Stats *me;
@@ -59,7 +59,7 @@ static int stats_count_servers(Server *s)
return count;
}
-class CommandOSStats
+class CommandOSStats final
: public Command
{
ServiceReference<XLineManager> akills, snlines, sqlines;
@@ -257,7 +257,7 @@ public:
}
};
-class OSStats
+class OSStats final
: public Module
{
CommandOSStats commandosstats;
diff --git a/modules/commands/os_svs.cpp b/modules/commands/os_svs.cpp
index 4125453e2..3a1ba29b8 100644
--- a/modules/commands/os_svs.cpp
+++ b/modules/commands/os_svs.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSSVSNick
+class CommandOSSVSNick final
: public Command
{
public:
@@ -71,7 +71,7 @@ public:
}
};
-class CommandOSSVSJoin
+class CommandOSSVSJoin final
: public Command
{
public:
@@ -116,7 +116,7 @@ public:
}
};
-class CommandOSSVSPart
+class CommandOSSVSPart final
: public Command
{
public:
@@ -165,7 +165,7 @@ public:
}
};
-class OSSVS
+class OSSVS final
: public Module
{
CommandOSSVSNick commandossvsnick;
diff --git a/modules/commands/os_sxline.cpp b/modules/commands/os_sxline.cpp
index 015d52660..3acaa5c35 100644
--- a/modules/commands/os_sxline.cpp
+++ b/modules/commands/os_sxline.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class SXLineDelCallback
+class SXLineDelCallback final
: public NumberList
{
XLineManager *xlm;
@@ -120,7 +120,7 @@ private:
if (!mask.empty() && isdigit(mask[0]) && mask.find_first_not_of("1234567890,-") == Anope::string::npos)
{
- class SXLineListCallback
+ class SXLineListCallback final
: public NumberList
{
XLineManager *xlm;
@@ -259,7 +259,7 @@ public:
bool OnHelp(CommandSource &source, const Anope::string &subcommand) override = 0;
};
-class CommandOSSNLine
+class CommandOSSNLine final
: public CommandOSSXLineBase
{
XLineManager *xlm() override
@@ -484,7 +484,7 @@ public:
}
};
-class CommandOSSQLine
+class CommandOSSQLine final
: public CommandOSSXLineBase
{
XLineManager *xlm() override
@@ -715,7 +715,7 @@ public:
}
};
-class OSSXLine
+class OSSXLine final
: public Module
{
CommandOSSNLine commandossnline;
diff --git a/modules/commands/os_update.cpp b/modules/commands/os_update.cpp
index aafde628f..b43c5f3cd 100644
--- a/modules/commands/os_update.cpp
+++ b/modules/commands/os_update.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandOSUpdate
+class CommandOSUpdate final
: public Command
{
public:
@@ -38,7 +38,7 @@ public:
}
};
-class OSUpdate
+class OSUpdate final
: public Module
{
CommandOSUpdate commandosupdate;
diff --git a/modules/cs_statusupdate.cpp b/modules/cs_statusupdate.cpp
index 789343396..ed7469501 100644
--- a/modules/cs_statusupdate.cpp
+++ b/modules/cs_statusupdate.cpp
@@ -8,7 +8,7 @@
#include "module.h"
-class StatusUpdate
+class StatusUpdate final
: public Module
{
public:
diff --git a/modules/database/db_flatfile.cpp b/modules/database/db_flatfile.cpp
index b0f766e95..4137ab981 100644
--- a/modules/database/db_flatfile.cpp
+++ b/modules/database/db_flatfile.cpp
@@ -15,7 +15,7 @@
#include <sys/wait.h>
#endif
-class SaveData
+class SaveData final
: public Serialize::Data
{
public:
@@ -34,7 +34,7 @@ public:
}
};
-class LoadData
+class LoadData final
: public Serialize::Data
{
public:
@@ -101,7 +101,7 @@ public:
}
};
-class DBFlatFile
+class DBFlatFile final
: public Module
, public Pipe
{
diff --git a/modules/database/db_old.cpp b/modules/database/db_old.cpp
index eca898b59..c6846dea8 100644
--- a/modules/database/db_old.cpp
+++ b/modules/database/db_old.cpp
@@ -94,7 +94,7 @@ else \
#define OLD_NEWS_OPER 1
#define OLD_NEWS_RANDOM 2
-static struct mlock_info
+static struct mlock_info final
{
char c;
uint32_t m;
@@ -309,7 +309,7 @@ static char *strscpy(char *d, const char *s, size_t len)
return d_orig;
}
-struct dbFILE
+struct dbFILE final
{
int mode; /* 'r' for reading, 'w' for writing */
FILE *fp; /* The normal file descriptor */
@@ -1297,7 +1297,7 @@ static void LoadNews()
close_db(f);
}
-class DBOld
+class DBOld final
: public Module
{
PrimitiveExtensibleItem<uint32_t> mlock_on, mlock_off, mlock_limit;
diff --git a/modules/database/db_redis.cpp b/modules/database/db_redis.cpp
index 392108849..c7e2bc9e7 100644
--- a/modules/database/db_redis.cpp
+++ b/modules/database/db_redis.cpp
@@ -14,7 +14,7 @@ using namespace Redis;
class DatabaseRedis;
static DatabaseRedis *me;
-class Data
+class Data final
: public Serialize::Data
{
public:
@@ -52,7 +52,7 @@ public:
}
};
-class TypeLoader
+class TypeLoader final
: public Interface
{
Anope::string type;
@@ -62,7 +62,7 @@ public:
void OnResult(const Reply &r) override;
};
-class ObjectLoader
+class ObjectLoader final
: public Interface
{
Anope::string type;
@@ -74,7 +74,7 @@ public:
void OnResult(const Reply &r) override;
};
-class IDInterface
+class IDInterface final
: public Interface
{
Reference<Serializable> o;
@@ -84,7 +84,7 @@ public:
void OnResult(const Reply &r) override;
};
-class Deleter
+class Deleter final
: public Interface
{
Anope::string type;
@@ -95,7 +95,7 @@ public:
void OnResult(const Reply &r) override;
};
-class Updater
+class Updater final
: public Interface
{
Anope::string type;
@@ -106,7 +106,7 @@ public:
void OnResult(const Reply &r) override;
};
-class ModifiedObject
+class ModifiedObject final
: public Interface
{
Anope::string type;
@@ -117,7 +117,7 @@ public:
void OnResult(const Reply &r) override;
};
-class SubscriptionListener
+class SubscriptionListener final
: public Interface
{
public:
@@ -126,7 +126,7 @@ public:
void OnResult(const Reply &r) override;
};
-class DatabaseRedis
+class DatabaseRedis final
: public Module
, public Pipe
{
diff --git a/modules/database/db_sql.cpp b/modules/database/db_sql.cpp
index c352a3be2..24b5c1f1f 100644
--- a/modules/database/db_sql.cpp
+++ b/modules/database/db_sql.cpp
@@ -34,7 +34,7 @@ public:
}
};
-class ResultSQLSQLInterface
+class ResultSQLSQLInterface final
: public SQLSQLInterface
{
Reference<Serializable> obj;
@@ -57,7 +57,7 @@ public:
}
};
-class DBSQL
+class DBSQL final
: public Module
, public Pipe
{
diff --git a/modules/database/db_sql_live.cpp b/modules/database/db_sql_live.cpp
index 0e47eab27..d97fe6683 100644
--- a/modules/database/db_sql_live.cpp
+++ b/modules/database/db_sql_live.cpp
@@ -11,7 +11,7 @@
using namespace SQL;
-class DBMySQL
+class DBMySQL final
: public Module
, public Pipe
{
diff --git a/modules/encryption/enc_bcrypt.cpp b/modules/encryption/enc_bcrypt.cpp
index 635ac18be..e7c19a2ae 100644
--- a/modules/encryption/enc_bcrypt.cpp
+++ b/modules/encryption/enc_bcrypt.cpp
@@ -13,7 +13,7 @@
#include "bcrypt/crypt_blowfish.c"
-class EBCRYPT
+class EBCRYPT final
: public Module
{
unsigned int rounds;
diff --git a/modules/encryption/enc_md5.cpp b/modules/encryption/enc_md5.cpp
index 68a72ba04..9bad9ade6 100644
--- a/modules/encryption/enc_md5.cpp
+++ b/modules/encryption/enc_md5.cpp
@@ -86,7 +86,7 @@ static const uint32_t md5_iv[4] =
0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476
};
-class MD5Context
+class MD5Context final
: public Encryption::Context
{
unsigned state[4]; /* state (ABCD) */
@@ -319,7 +319,7 @@ public:
}
};
-class MD5Provider
+class MD5Provider final
: public Encryption::Provider
{
public:
@@ -339,7 +339,7 @@ public:
}
};
-class EMD5
+class EMD5 final
: public Module
{
MD5Provider md5provider;
diff --git a/modules/encryption/enc_none.cpp b/modules/encryption/enc_none.cpp
index d243cc132..a47dedb85 100644
--- a/modules/encryption/enc_none.cpp
+++ b/modules/encryption/enc_none.cpp
@@ -9,7 +9,7 @@
#include "module.h"
-class ENone
+class ENone final
: public Module
{
public:
diff --git a/modules/encryption/enc_old.cpp b/modules/encryption/enc_old.cpp
index cfab00987..0b1cd9884 100644
--- a/modules/encryption/enc_old.cpp
+++ b/modules/encryption/enc_old.cpp
@@ -14,7 +14,7 @@
static ServiceReference<Encryption::Provider> md5("Encryption::Provider", "md5");
-class OldMD5Provider
+class OldMD5Provider final
: public Encryption::Provider
{
public:
@@ -35,7 +35,7 @@ public:
}
};
-class EOld
+class EOld final
: public Module
{
OldMD5Provider oldmd5provider;
diff --git a/modules/encryption/enc_sha1.cpp b/modules/encryption/enc_sha1.cpp
index 8b941ab63..07d6d094d 100644
--- a/modules/encryption/enc_sha1.cpp
+++ b/modules/encryption/enc_sha1.cpp
@@ -54,7 +54,7 @@ static const uint32_t sha1_iv[5] =
0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0
};
-class SHA1Context
+class SHA1Context final
: public Encryption::Context
{
uint32_t state[5];
@@ -179,7 +179,7 @@ public:
}
};
-class SHA1Provider
+class SHA1Provider final
: public Encryption::Provider
{
public:
@@ -199,7 +199,7 @@ public:
}
};
-class ESHA1
+class ESHA1 final
: public Module
{
SHA1Provider sha1provider;
diff --git a/modules/encryption/enc_sha256.cpp b/modules/encryption/enc_sha256.cpp
index 9e9192e75..155cfe1f0 100644
--- a/modules/encryption/enc_sha256.cpp
+++ b/modules/encryption/enc_sha256.cpp
@@ -111,7 +111,7 @@ static const uint32_t sha256_k[64] =
/** An sha256 context
*/
-class SHA256Context
+class SHA256Context final
: public Encryption::Context
{
void Transform(unsigned char *message, unsigned block_nb)
@@ -217,7 +217,7 @@ public:
}
};
-class SHA256Provider
+class SHA256Provider final
: public Encryption::Provider
{
public:
@@ -237,7 +237,7 @@ public:
}
};
-class ESHA256
+class ESHA256 final
: public Module
{
SHA256Provider sha256provider;
diff --git a/modules/extra/m_ldap.cpp b/modules/extra/m_ldap.cpp
index bdfa243f0..31e712662 100644
--- a/modules/extra/m_ldap.cpp
+++ b/modules/extra/m_ldap.cpp
@@ -72,7 +72,7 @@ public:
virtual int run() = 0;
};
-class LDAPBind
+class LDAPBind final
: public LDAPRequest
{
Anope::string who, pass;
@@ -89,7 +89,7 @@ public:
int run() override;
};
-class LDAPSearchRequest
+class LDAPSearchRequest final
: public LDAPRequest
{
Anope::string base;
@@ -107,7 +107,7 @@ public:
int run() override;
};
-class LDAPAdd
+class LDAPAdd final
: public LDAPRequest
{
Anope::string dn;
@@ -125,7 +125,7 @@ public:
int run() override;
};
-class LDAPDel
+class LDAPDel final
: public LDAPRequest
{
Anope::string dn;
@@ -141,7 +141,7 @@ public:
int run() override;
};
-class LDAPModify
+class LDAPModify final
: public LDAPRequest
{
Anope::string base;
@@ -159,7 +159,7 @@ public:
int run() override;
};
-class LDAPService
+class LDAPService final
: public LDAPProvider
, public Thread
, public Condition
@@ -509,7 +509,7 @@ public:
}
};
-class ModuleLDAP
+class ModuleLDAP final
: public Module
, public Pipe
{
diff --git a/modules/extra/m_ldap_authentication.cpp b/modules/extra/m_ldap_authentication.cpp
index f3ccb9ba7..1b8318d7e 100644
--- a/modules/extra/m_ldap_authentication.cpp
+++ b/modules/extra/m_ldap_authentication.cpp
@@ -17,7 +17,7 @@ static Anope::string object_class;
static Anope::string email_attribute;
static Anope::string username_attribute;
-struct IdentifyInfo
+struct IdentifyInfo final
{
Reference<User> user;
IdentifyRequest *req;
@@ -36,7 +36,7 @@ struct IdentifyInfo
}
};
-class IdentifyInterface
+class IdentifyInterface final
: public LDAPInterface
{
IdentifyInfo *ii;
@@ -128,7 +128,7 @@ public:
}
};
-class OnIdentifyInterface
+class OnIdentifyInterface final
: public LDAPInterface
{
Anope::string uid;
@@ -174,7 +174,7 @@ public:
}
};
-class OnRegisterInterface
+class OnRegisterInterface final
: public LDAPInterface
{
public:
@@ -191,7 +191,7 @@ public:
}
};
-class ModuleLDAPAuthentication
+class ModuleLDAPAuthentication final
: public Module
{
ServiceReference<LDAPProvider> ldap;
diff --git a/modules/extra/m_ldap_oper.cpp b/modules/extra/m_ldap_oper.cpp
index b949782e1..866ed0110 100644
--- a/modules/extra/m_ldap_oper.cpp
+++ b/modules/extra/m_ldap_oper.cpp
@@ -12,7 +12,7 @@
static std::set<Oper *> my_opers;
static Anope::string opertype_attribute;
-class IdentifyInterface
+class IdentifyInterface final
: public LDAPInterface
{
Reference<User> u;
@@ -76,7 +76,7 @@ public:
}
};
-class LDAPOper
+class LDAPOper final
: public Module
{
ServiceReference<LDAPProvider> ldap;
diff --git a/modules/extra/m_mysql.cpp b/modules/extra/m_mysql.cpp
index 2ccc36d76..d4be01f88 100644
--- a/modules/extra/m_mysql.cpp
+++ b/modules/extra/m_mysql.cpp
@@ -34,7 +34,7 @@ class MySQLService;
/** A query request
*/
-struct QueryRequest
+struct QueryRequest final
{
/* The connection to the database */
MySQLService *service;
@@ -47,7 +47,7 @@ struct QueryRequest
};
/** A query result */
-struct QueryResult
+struct QueryResult final
{
/* The interface to send the data back on */
Interface *sqlinterface;
@@ -59,7 +59,7 @@ struct QueryResult
/** A MySQL result
*/
-class MySQLResult
+class MySQLResult final
: public Result
{
MYSQL_RES *res = nullptr;
@@ -108,7 +108,7 @@ public:
/** A MySQL connection, there can be multiple
*/
-class MySQLService
+class MySQLService final
: public Provider
{
std::map<Anope::string, std::set<Anope::string> > active_schema;
@@ -158,7 +158,7 @@ public:
/** The SQL thread used to execute queries
*/
-class DispatcherThread
+class DispatcherThread final
: public Thread
, public Condition
{
@@ -171,7 +171,7 @@ public:
class ModuleSQL;
static ModuleSQL *me;
-class ModuleSQL
+class ModuleSQL final
: public Module
, public Pipe
{
diff --git a/modules/extra/m_regex_pcre2.cpp b/modules/extra/m_regex_pcre2.cpp
index f573adaf3..ef2786823 100644
--- a/modules/extra/m_regex_pcre2.cpp
+++ b/modules/extra/m_regex_pcre2.cpp
@@ -14,7 +14,7 @@
#define PCRE2_CODE_UNIT_WIDTH 8
#include <pcre2.h>
-class PCRERegex
+class PCRERegex final
: public Regex
{
pcre2_code *regex;
@@ -48,7 +48,7 @@ public:
}
};
-class PCRERegexProvider
+class PCRERegexProvider final
: public RegexProvider
{
public:
@@ -60,7 +60,7 @@ public:
}
};
-class ModuleRegexPCRE
+class ModuleRegexPCRE final
: public Module
{
PCRERegexProvider pcre_regex_provider;
diff --git a/modules/extra/m_regex_posix.cpp b/modules/extra/m_regex_posix.cpp
index c4217a5c4..cef4486f9 100644
--- a/modules/extra/m_regex_posix.cpp
+++ b/modules/extra/m_regex_posix.cpp
@@ -10,7 +10,7 @@
#include <sys/types.h>
#include <regex.h>
-class POSIXRegex
+class POSIXRegex final
: public Regex
{
regex_t regbuf;
@@ -39,7 +39,7 @@ public:
}
};
-class POSIXRegexProvider
+class POSIXRegexProvider final
: public RegexProvider
{
public:
@@ -51,7 +51,7 @@ public:
}
};
-class ModuleRegexPOSIX
+class ModuleRegexPOSIX final
: public Module
{
POSIXRegexProvider posix_regex_provider;
diff --git a/modules/extra/m_regex_tre.cpp b/modules/extra/m_regex_tre.cpp
index 61a5a79ec..18485507a 100644
--- a/modules/extra/m_regex_tre.cpp
+++ b/modules/extra/m_regex_tre.cpp
@@ -11,7 +11,7 @@
#include "module.h"
#include <tre/regex.h>
-class TRERegex
+class TRERegex final
: public Regex
{
regex_t regbuf;
@@ -40,7 +40,7 @@ public:
}
};
-class TRERegexProvider
+class TRERegexProvider final
: public RegexProvider
{
public:
@@ -52,7 +52,7 @@ public:
}
};
-class ModuleRegexTRE
+class ModuleRegexTRE final
: public Module
{
TRERegexProvider tre_regex_provider;
diff --git a/modules/extra/m_sql_authentication.cpp b/modules/extra/m_sql_authentication.cpp
index 829cf37fb..8d60f12ea 100644
--- a/modules/extra/m_sql_authentication.cpp
+++ b/modules/extra/m_sql_authentication.cpp
@@ -11,7 +11,7 @@
static Module *me;
-class SQLAuthenticationResult
+class SQLAuthenticationResult final
: public SQL::Interface
{
Reference<User> user;
@@ -74,7 +74,7 @@ public:
}
};
-class ModuleSQLAuthentication
+class ModuleSQLAuthentication final
: public Module
{
Anope::string engine;
diff --git a/modules/extra/m_sql_log.cpp b/modules/extra/m_sql_log.cpp
index bd8f81320..7335a5abf 100644
--- a/modules/extra/m_sql_log.cpp
+++ b/modules/extra/m_sql_log.cpp
@@ -9,7 +9,7 @@
#include "module.h"
#include "modules/sql.h"
-class SQLLog
+class SQLLog final
: public Module
{
std::set<Anope::string> inited;
diff --git a/modules/extra/m_sql_oper.cpp b/modules/extra/m_sql_oper.cpp
index 931d1eeed..7642bab5f 100644
--- a/modules/extra/m_sql_oper.cpp
+++ b/modules/extra/m_sql_oper.cpp
@@ -9,18 +9,18 @@
#include "module.h"
#include "modules/sql.h"
-struct SQLOper
+struct SQLOper final
: Oper
{
SQLOper(const Anope::string &n, OperType *o) : Oper(n, o) { }
};
-class SQLOperResult
+class SQLOperResult final
: public SQL::Interface
{
Reference<User> user;
- struct SQLOperResultDeleter
+ struct SQLOperResultDeleter final
{
SQLOperResult *res;
SQLOperResultDeleter(SQLOperResult *r) : res(r) { }
@@ -125,7 +125,7 @@ public:
}
};
-class ModuleSQLOper
+class ModuleSQLOper final
: public Module
{
Anope::string engine;
diff --git a/modules/extra/m_sqlite.cpp b/modules/extra/m_sqlite.cpp
index 9905d2073..f11c0bf09 100644
--- a/modules/extra/m_sqlite.cpp
+++ b/modules/extra/m_sqlite.cpp
@@ -19,7 +19,7 @@ using namespace SQL;
/** A SQLite result
*/
-class SQLiteResult
+class SQLiteResult final
: public Result
{
public:
@@ -39,7 +39,7 @@ public:
/** A SQLite database, there can be multiple
*/
-class SQLiteService
+class SQLiteService final
: public Provider
{
std::map<Anope::string, std::set<Anope::string> > active_schema;
@@ -70,7 +70,7 @@ public:
Anope::string FromUnixtime(time_t) override;
};
-class ModuleSQLite
+class ModuleSQLite final
: public Module
{
/* SQL connections */
diff --git a/modules/extra/m_ssl_gnutls.cpp b/modules/extra/m_ssl_gnutls.cpp
index 6daad09db..28310471a 100644
--- a/modules/extra/m_ssl_gnutls.cpp
+++ b/modules/extra/m_ssl_gnutls.cpp
@@ -22,7 +22,7 @@ static GnuTLSModule *me;
namespace GnuTLS { class X509CertCredentials; }
-class MySSLService
+class MySSLService final
: public SSLService
{
public:
@@ -34,7 +34,7 @@ public:
void Init(Socket *s) override;
};
-class SSLSocketIO
+class SSLSocketIO final
: public SocketIO
{
public:
@@ -92,7 +92,7 @@ public:
namespace GnuTLS
{
- class Init
+ class Init final
{
public:
Init() { gnutls_global_init(); }
@@ -101,7 +101,7 @@ namespace GnuTLS
/** Used to create a gnutls_datum_t* from an Anope::string
*/
- class Datum
+ class Datum final
{
gnutls_datum_t datum;
@@ -115,7 +115,7 @@ namespace GnuTLS
const gnutls_datum_t *get() const { return &datum; }
};
- class DHParams
+ class DHParams final
{
gnutls_dh_params_t dh_params = nullptr;
@@ -150,11 +150,11 @@ namespace GnuTLS
gnutls_dh_params_t get() const { return dh_params; }
};
- class X509Key
+ class X509Key final
{
/** Ensure that the key is deinited in case the constructor of X509Key throws
*/
- class RAIIKey
+ class RAIIKey final
{
public:
gnutls_x509_privkey_t key;
@@ -184,7 +184,7 @@ namespace GnuTLS
gnutls_x509_privkey_t& get() { return key.key; }
};
- class X509CertList
+ class X509CertList final
{
std::vector<gnutls_x509_crt_t> certs;
@@ -223,7 +223,7 @@ namespace GnuTLS
unsigned int size() const { return certs.size(); }
};
- class X509CertCredentials
+ class X509CertCredentials final
{
unsigned int refcount = 0;
gnutls_certificate_credentials_t cred;
@@ -286,7 +286,7 @@ namespace GnuTLS
};
}
-class GnuTLSModule
+class GnuTLSModule final
: public Module
{
GnuTLS::Init libinit;
diff --git a/modules/extra/m_ssl_openssl.cpp b/modules/extra/m_ssl_openssl.cpp
index 470f5f43f..8d4aca9ba 100644
--- a/modules/extra/m_ssl_openssl.cpp
+++ b/modules/extra/m_ssl_openssl.cpp
@@ -23,7 +23,7 @@
static SSL_CTX *server_ctx, *client_ctx;
-class MySSLService
+class MySSLService final
: public SSLService
{
public:
@@ -35,7 +35,7 @@ public:
void Init(Socket *s) override;
};
-class SSLSocketIO
+class SSLSocketIO final
: public SocketIO
{
public:
@@ -93,7 +93,7 @@ public:
class SSLModule;
static SSLModule *me;
-class SSLModule
+class SSLModule final
: public Module
{
Anope::string certfile, keyfile;
diff --git a/modules/fantasy.cpp b/modules/fantasy.cpp
index 740e9bad0..ead43152f 100644
--- a/modules/fantasy.cpp
+++ b/modules/fantasy.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class CommandBSSetFantasy
+class CommandBSSetFantasy final
: public Command
{
public:
@@ -81,7 +81,7 @@ public:
}
};
-class Fantasy
+class Fantasy final
: public Module
{
SerializableExtensibleItem<bool> fantasy;
diff --git a/modules/m_dns.cpp b/modules/m_dns.cpp
index 57783cbe0..a75ca6820 100644
--- a/modules/m_dns.cpp
+++ b/modules/m_dns.cpp
@@ -23,7 +23,7 @@ namespace
/** A full packet sent or received to/from the nameserver
*/
-class Packet
+class Packet final
: public Query
{
static bool IsValidName(const Anope::string &name)
@@ -459,14 +459,14 @@ namespace DNS
}
/* Listens for TCP requests */
-class TCPSocket
+class TCPSocket final
: public ListenSocket
{
Manager *manager;
public:
/* A TCP client */
- class Client
+ class Client final
: public ClientSocket
, public Timer
, public ReplySocket
@@ -556,7 +556,7 @@ public:
};
/* Listens for UDP requests */
-class UDPSocket
+class UDPSocket final
: public ReplySocket
{
Manager *manager;
@@ -617,7 +617,7 @@ public:
}
};
-class NotifySocket
+class NotifySocket final
: public Socket
{
Packet *packet;
@@ -651,7 +651,7 @@ public:
}
};
-class MyManager
+class MyManager final
: public Manager
, public Timer
{
@@ -1007,7 +1007,7 @@ private:
};
-class ModuleDNS
+class ModuleDNS final
: public Module
{
MyManager manager;
diff --git a/modules/m_dnsbl.cpp b/modules/m_dnsbl.cpp
index d89f56fdd..47aba3876 100644
--- a/modules/m_dnsbl.cpp
+++ b/modules/m_dnsbl.cpp
@@ -14,9 +14,9 @@ using namespace DNS;
static ServiceReference<XLineManager> akills("XLineManager", "xlinemanager/sgline");
static ServiceReference<Manager> dnsmanager("DNS::Manager", "dns/manager");
-struct Blacklist
+struct Blacklist final
{
- struct Reply
+ struct Reply final
{
int code = 0;
Anope::string reason;
@@ -39,7 +39,7 @@ struct Blacklist
}
};
-class DNSBLResolver
+class DNSBLResolver final
: public Request
{
Reference<User> user;
@@ -95,7 +95,7 @@ public:
}
};
-class ModuleDNSBL
+class ModuleDNSBL final
: public Module
{
std::vector<Blacklist> blacklists;
diff --git a/modules/m_helpchan.cpp b/modules/m_helpchan.cpp
index 661f71653..061388dfe 100644
--- a/modules/m_helpchan.cpp
+++ b/modules/m_helpchan.cpp
@@ -8,7 +8,7 @@
#include "module.h"
-class HelpChannel
+class HelpChannel final
: public Module
{
public:
diff --git a/modules/m_httpd.cpp b/modules/m_httpd.cpp
index 162ec3ada..53e7c51a9 100644
--- a/modules/m_httpd.cpp
+++ b/modules/m_httpd.cpp
@@ -37,7 +37,7 @@ static Anope::string GetStatusFromCode(HTTPError err)
return "501 Not Implemented";
}
-class MyHTTPClient
+class MyHTTPClient final
: public HTTPClient
{
HTTPProvider *provider;
@@ -283,7 +283,7 @@ public:
}
};
-class MyHTTPProvider
+class MyHTTPProvider final
: public HTTPProvider
, public Timer
{
@@ -332,7 +332,7 @@ public:
}
};
-class HTTPD
+class HTTPD final
: public Module
{
ServiceReference<SSLService> sslref;
diff --git a/modules/m_proxyscan.cpp b/modules/m_proxyscan.cpp
index ce8531e82..279169bfb 100644
--- a/modules/m_proxyscan.cpp
+++ b/modules/m_proxyscan.cpp
@@ -8,7 +8,7 @@
#include "module.h"
-struct ProxyCheck
+struct ProxyCheck final
{
std::set<Anope::string, ci::less> types;
std::vector<unsigned short> ports;
@@ -21,10 +21,10 @@ static Anope::string target_ip;
static unsigned short target_port;
static bool add_to_akill;
-class ProxyCallbackListener
+class ProxyCallbackListener final
: public ListenSocket
{
- class ProxyCallbackClient
+ class ProxyCallbackClient final
: public ClientSocket
, public BufferedSocket
{
@@ -111,7 +111,7 @@ protected:
ServiceReference<XLineManager> ProxyConnect::akills("XLineManager", "xlinemanager/sgline");
std::set<ProxyConnect *> ProxyConnect::proxies;
-class HTTPProxyConnect
+class HTTPProxyConnect final
: public ProxyConnect
, public BufferedSocket
{
@@ -145,7 +145,7 @@ public:
}
};
-class SOCKS5ProxyConnect
+class SOCKS5ProxyConnect final
: public ProxyConnect
, public BinarySocket
{
@@ -197,7 +197,7 @@ public:
}
};
-class ModuleProxyScan
+class ModuleProxyScan final
: public Module
{
Anope::string listen_ip;
@@ -207,7 +207,7 @@ class ModuleProxyScan
ProxyCallbackListener *listener;
- class ConnectionTimeout
+ class ConnectionTimeout final
: public Timer
{
public:
diff --git a/modules/m_redis.cpp b/modules/m_redis.cpp
index b5a82985a..6aa62bb29 100644
--- a/modules/m_redis.cpp
+++ b/modules/m_redis.cpp
@@ -13,7 +13,7 @@ using namespace Redis;
class MyRedisService;
-class RedisSocket
+class RedisSocket final
: public BinarySocket
, public ConnectionSocket
{
@@ -33,7 +33,7 @@ public:
bool Read(const char *buffer, size_t l) override;
};
-class Transaction
+class Transaction final
: public Interface
{
public:
@@ -74,7 +74,7 @@ public:
}
};
-class MyRedisService
+class MyRedisService final
: public Provider
{
public:
@@ -520,7 +520,7 @@ bool RedisSocket::Read(const char *buffer, size_t l)
}
-class ModuleRedis
+class ModuleRedis final
: public Module
{
std::map<Anope::string, MyRedisService *> services;
diff --git a/modules/m_rewrite.cpp b/modules/m_rewrite.cpp
index 967913926..59560227b 100644
--- a/modules/m_rewrite.cpp
+++ b/modules/m_rewrite.cpp
@@ -8,7 +8,7 @@
#include "module.h"
-struct Rewrite
+struct Rewrite final
{
Anope::string client, source_message, target_message, desc;
@@ -97,7 +97,7 @@ struct Rewrite
std::vector<Rewrite> Rewrite::rewrites;
-class RewriteCommand
+class RewriteCommand final
: public Command
{
public:
@@ -146,7 +146,7 @@ public:
}
};
-class ModuleRewrite
+class ModuleRewrite final
: public Module
{
RewriteCommand cmdrewrite;
diff --git a/modules/m_sasl.cpp b/modules/m_sasl.cpp
index a90a70e67..298ad0e75 100644
--- a/modules/m_sasl.cpp
+++ b/modules/m_sasl.cpp
@@ -12,7 +12,7 @@
using namespace SASL;
-class Plain
+class Plain final
: public Mechanism
{
public:
@@ -73,12 +73,12 @@ public:
}
};
-class External
+class External final
: public Mechanism
{
ServiceReference<CertService> certs;
- struct Session
+ struct Session final
: SASL::Session
{
Anope::string cert;
@@ -137,7 +137,7 @@ public:
}
};
-class Anonymous
+class Anonymous final
: public Mechanism
{
public:
@@ -174,7 +174,7 @@ public:
}
};
-class SASLService
+class SASLService final
: public SASL::Service
, public Timer
{
@@ -353,7 +353,7 @@ public:
}
};
-class ModuleSASL
+class ModuleSASL final
: public Module
{
SASLService sasl;
diff --git a/modules/m_xmlrpc.cpp b/modules/m_xmlrpc.cpp
index 7c9f8ce9a..854fcc732 100644
--- a/modules/m_xmlrpc.cpp
+++ b/modules/m_xmlrpc.cpp
@@ -10,7 +10,7 @@
#include "modules/xmlrpc.h"
#include "modules/httpd.h"
-static struct special_chars
+static struct special_chars final
{
Anope::string character;
Anope::string replace;
@@ -32,7 +32,7 @@ special[] = {
special_chars("", "")
};
-class MyXMLRPCServiceInterface
+class MyXMLRPCServiceInterface final
: public XMLRPCServiceInterface
, public HTTPPage
{
@@ -196,7 +196,7 @@ public:
}
};
-class ModuleXMLRPC
+class ModuleXMLRPC final
: public Module
{
ServiceReference<HTTPProvider> httpref;
diff --git a/modules/m_xmlrpc_main.cpp b/modules/m_xmlrpc_main.cpp
index f7e499714..63ad601e9 100644
--- a/modules/m_xmlrpc_main.cpp
+++ b/modules/m_xmlrpc_main.cpp
@@ -11,7 +11,7 @@
static Module *me;
-class XMLRPCIdentifyRequest
+class XMLRPCIdentifyRequest final
: public IdentifyRequest
{
XMLRPCRequest request;
@@ -51,7 +51,7 @@ public:
}
};
-class MyXMLRPCEvent
+class MyXMLRPCEvent final
: public XMLRPCEvent
{
public:
@@ -97,7 +97,7 @@ private:
Anope::string out;
- struct XMLRPCommandReply
+ struct XMLRPCommandReply final
: CommandReply
{
Anope::string &str;
@@ -278,7 +278,7 @@ private:
}
};
-class ModuleXMLRPCMain
+class ModuleXMLRPCMain final
: public Module
{
ServiceReference<XMLRPCServiceInterface> xmlrpc;
diff --git a/modules/ns_maxemail.cpp b/modules/ns_maxemail.cpp
index bf7034cd4..135381a59 100644
--- a/modules/ns_maxemail.cpp
+++ b/modules/ns_maxemail.cpp
@@ -12,7 +12,7 @@
#include "module.h"
-class NSMaxEmail
+class NSMaxEmail final
: public Module
{
bool clean = false;
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp
index 278fc6545..56efb5ce4 100644
--- a/modules/protocol/bahamut.cpp
+++ b/modules/protocol/bahamut.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class ChannelModeFlood
+class ChannelModeFlood final
: public ChannelModeParam
{
public:
@@ -31,7 +31,7 @@ public:
}
};
-class BahamutIRCdProto
+class BahamutIRCdProto final
: public IRCDProto
{
public:
@@ -292,7 +292,7 @@ public:
}
};
-struct IRCDMessageBurst
+struct IRCDMessageBurst final
: IRCDMessage
{
IRCDMessageBurst(Module *creator) : IRCDMessage(creator, "BURST", 0) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -311,7 +311,7 @@ struct IRCDMessageBurst
}
};
-struct IRCDMessageMode
+struct IRCDMessageMode final
: IRCDMessage
{
IRCDMessageMode(Module *creator, const Anope::string &sname) : IRCDMessage(creator, sname, 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -363,7 +363,7 @@ struct IRCDMessageMode
** parv[0] = new nickname
** parv[1] = hopcount
*/
-struct IRCDMessageNick
+struct IRCDMessageNick final
: IRCDMessage
{
IRCDMessageNick(Module *creator) : IRCDMessage(creator, "NICK", 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -397,7 +397,7 @@ struct IRCDMessageNick
}
};
-struct IRCDMessageServer
+struct IRCDMessageServer final
: IRCDMessage
{
IRCDMessageServer(Module *creator) : IRCDMessage(creator, "SERVER", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -409,7 +409,7 @@ struct IRCDMessageServer
}
};
-struct IRCDMessageSJoin
+struct IRCDMessageSJoin final
: IRCDMessage
{
IRCDMessageSJoin(Module *creator) : IRCDMessage(creator, "SJOIN", 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -466,7 +466,7 @@ struct IRCDMessageSJoin
}
};
-struct IRCDMessageTopic
+struct IRCDMessageTopic final
: IRCDMessage
{
IRCDMessageTopic(Module *creator) : IRCDMessage(creator, "TOPIC", 4) { }
@@ -479,7 +479,7 @@ struct IRCDMessageTopic
}
};
-class ProtoBahamut
+class ProtoBahamut final
: public Module
{
BahamutIRCdProto ircd_proto;
diff --git a/modules/protocol/hybrid.cpp b/modules/protocol/hybrid.cpp
index fb9bfa692..f67f72d24 100644
--- a/modules/protocol/hybrid.cpp
+++ b/modules/protocol/hybrid.cpp
@@ -15,7 +15,7 @@
static Anope::string UplinkSID;
static bool UseSVSAccount = false; // Temporary backwards compatibility hack until old proto is deprecated
-class HybridProto
+class HybridProto final
: public IRCDProto
{
void SendSVSKillInternal(const MessageSource &source, User *u, const Anope::string &buf) override
@@ -318,7 +318,7 @@ public:
}
};
-struct IRCDMessageBMask
+struct IRCDMessageBMask final
: IRCDMessage
{
IRCDMessageBMask(Module *creator) : IRCDMessage(creator, "BMASK", 4) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -341,7 +341,7 @@ struct IRCDMessageBMask
}
};
-struct IRCDMessageCapab
+struct IRCDMessageCapab final
: Message::Capab
{
IRCDMessageCapab(Module *creator) : Message::Capab(creator, "CAPAB") { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -382,7 +382,7 @@ struct IRCDMessageCertFP: IRCDMessage
}
};
-struct IRCDMessageEOB
+struct IRCDMessageEOB final
: IRCDMessage
{
IRCDMessageEOB(Module *creator) : IRCDMessage(creator, "EOB", 0) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -393,7 +393,7 @@ struct IRCDMessageEOB
}
};
-struct IRCDMessageJoin
+struct IRCDMessageJoin final
: Message::Join
{
IRCDMessageJoin(Module *creator) : Message::Join(creator, "JOIN") { }
@@ -410,7 +410,7 @@ struct IRCDMessageJoin
}
};
-struct IRCDMessageMetadata
+struct IRCDMessageMetadata final
: IRCDMessage
{
IRCDMessageMetadata(Module *creator) : IRCDMessage(creator, "METADATA", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -437,7 +437,7 @@ struct IRCDMessageMetadata
}
};
-struct IRCDMessageMLock
+struct IRCDMessageMLock final
: IRCDMessage
{
IRCDMessageMLock(Module *creator) : IRCDMessage(creator, "MLOCK", 4) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -463,7 +463,7 @@ struct IRCDMessageMLock
}
};
-struct IRCDMessageNick
+struct IRCDMessageNick final
: IRCDMessage
{
IRCDMessageNick(Module *creator) : IRCDMessage(creator, "NICK", 2) { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -476,7 +476,7 @@ struct IRCDMessageNick
}
};
-struct IRCDMessagePass
+struct IRCDMessagePass final
: IRCDMessage
{
IRCDMessagePass(Module *creator) : IRCDMessage(creator, "PASS", 1) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -490,7 +490,7 @@ struct IRCDMessagePass
}
};
-struct IRCDMessagePong
+struct IRCDMessagePong final
: IRCDMessage
{
IRCDMessagePong(Module *creator) : IRCDMessage(creator, "PONG", 0) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -501,7 +501,7 @@ struct IRCDMessagePong
}
};
-struct IRCDMessageServer
+struct IRCDMessageServer final
: IRCDMessage
{
IRCDMessageServer(Module *creator) : IRCDMessage(creator, "SERVER", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -526,7 +526,7 @@ struct IRCDMessageServer
}
};
-struct IRCDMessageSID
+struct IRCDMessageSID final
: IRCDMessage
{
IRCDMessageSID(Module *creator) : IRCDMessage(creator, "SID", 5) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -542,7 +542,7 @@ struct IRCDMessageSID
}
};
-struct IRCDMessageSJoin
+struct IRCDMessageSJoin final
: IRCDMessage
{
IRCDMessageSJoin(Module *creator) : IRCDMessage(creator, "SJOIN", 4) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -590,7 +590,7 @@ struct IRCDMessageSJoin
}
};
-struct IRCDMessageSVSMode
+struct IRCDMessageSVSMode final
: IRCDMessage
{
IRCDMessageSVSMode(Module *creator) : IRCDMessage(creator, "SVSMODE", 3) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -611,7 +611,7 @@ struct IRCDMessageSVSMode
}
};
-struct IRCDMessageTBurst
+struct IRCDMessageTBurst final
: IRCDMessage
{
IRCDMessageTBurst(Module *creator) : IRCDMessage(creator, "TBURST", 5) { }
@@ -630,7 +630,7 @@ struct IRCDMessageTBurst
}
};
-struct IRCDMessageTMode
+struct IRCDMessageTMode final
: IRCDMessage
{
IRCDMessageTMode(Module *creator) : IRCDMessage(creator, "TMODE", 3) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -658,7 +658,7 @@ struct IRCDMessageTMode
}
};
-struct IRCDMessageUID
+struct IRCDMessageUID final
: IRCDMessage
{
IRCDMessageUID(Module *creator) : IRCDMessage(creator, "UID", 11) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -679,7 +679,7 @@ struct IRCDMessageUID
}
};
-class ProtoHybrid
+class ProtoHybrid final
: public Module
{
HybridProto ircd_proto;
diff --git a/modules/protocol/inspircd.cpp b/modules/protocol/inspircd.cpp
index 7de36d956..a622d26e9 100644
--- a/modules/protocol/inspircd.cpp
+++ b/modules/protocol/inspircd.cpp
@@ -15,7 +15,7 @@
typedef std::map<char, unsigned> ListLimits;
-struct SASLUser
+struct SASLUser final
{
Anope::string uid;
Anope::string acc;
@@ -44,7 +44,7 @@ static void ParseModule(const Anope::string &module, Anope::string &modname, Ano
Log(LOG_DEBUG) << "Parsed module: " << "name=" << modname << " data=" << moddata;
}
-class InspIRCdProto
+class InspIRCdProto final
: public IRCDProto
{
private:
@@ -537,7 +537,7 @@ public:
}
};
-class InspIRCdAutoOpMode
+class InspIRCdAutoOpMode final
: public ChannelModeList
{
public:
@@ -582,7 +582,7 @@ public:
namespace InspIRCdExtban
{
- class EntryMatcher
+ class EntryMatcher final
: public InspIRCdExtBan
{
public:
@@ -599,7 +599,7 @@ namespace InspIRCdExtban
}
};
- class ChannelMatcher
+ class ChannelMatcher final
: public InspIRCdExtBan
{
public:
@@ -636,7 +636,7 @@ namespace InspIRCdExtban
}
};
- class AccountMatcher
+ class AccountMatcher final
: public InspIRCdExtBan
{
public:
@@ -653,7 +653,7 @@ namespace InspIRCdExtban
}
};
- class RealnameMatcher
+ class RealnameMatcher final
: public InspIRCdExtBan
{
public:
@@ -669,7 +669,7 @@ namespace InspIRCdExtban
}
};
- class ServerMatcher
+ class ServerMatcher final
: public InspIRCdExtBan
{
public:
@@ -685,7 +685,7 @@ namespace InspIRCdExtban
}
};
- class FingerprintMatcher
+ class FingerprintMatcher final
: public InspIRCdExtBan
{
public:
@@ -701,7 +701,7 @@ namespace InspIRCdExtban
}
};
- class UnidentifiedMatcher
+ class UnidentifiedMatcher final
: public InspIRCdExtBan
{
public:
@@ -768,7 +768,7 @@ public:
}
};
-class SimpleNumberParamMode
+class SimpleNumberParamMode final
: public ChannelModeParam
{
public:
@@ -794,7 +794,7 @@ public:
}
};
-class ChannelModeFlood
+class ChannelModeFlood final
: public ColonDelimitedParamMode
{
public:
@@ -809,7 +809,7 @@ public:
}
};
-class ChannelModeHistory
+class ChannelModeHistory final
: public ColonDelimitedParamMode
{
public:
@@ -821,7 +821,7 @@ public:
}
};
-class ChannelModeRedirect
+class ChannelModeRedirect final
: public ChannelModeParam
{
public:
@@ -834,7 +834,7 @@ public:
}
};
-struct IRCDMessageAway
+struct IRCDMessageAway final
: Message::Away
{
IRCDMessageAway(Module *creator) : Message::Away(creator, "AWAY") { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -849,10 +849,10 @@ struct IRCDMessageAway
}
};
-struct IRCDMessageCapab
+struct IRCDMessageCapab final
: Message::Capab
{
- struct ModeInfo
+ struct ModeInfo final
{
// The letter assigned to the mode (e.g. o).
char letter = 0;
@@ -1242,7 +1242,7 @@ struct IRCDMessageCapab
}
};
-struct IRCDMessageEncap
+struct IRCDMessageEncap final
: IRCDMessage
{
IRCDMessageEncap(Module *creator) : IRCDMessage(creator, "ENCAP", 4) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1293,7 +1293,7 @@ struct IRCDMessageEncap
}
};
-struct IRCDMessageFHost
+struct IRCDMessageFHost final
: IRCDMessage
{
IRCDMessageFHost(Module *creator) : IRCDMessage(creator, "FHOST", 1) { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -1307,7 +1307,7 @@ struct IRCDMessageFHost
}
};
-struct IRCDMessageFIdent
+struct IRCDMessageFIdent final
: IRCDMessage
{
IRCDMessageFIdent(Module *creator) : IRCDMessage(creator, "FIDENT", 1) { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -1318,7 +1318,7 @@ struct IRCDMessageFIdent
}
};
-struct IRCDMessageKick
+struct IRCDMessageKick final
: IRCDMessage
{
IRCDMessageKick(Module *creator) : IRCDMessage(creator, "KICK", 3) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1336,7 +1336,7 @@ struct IRCDMessageKick
}
};
-struct IRCDMessageSave
+struct IRCDMessageSave final
: IRCDMessage
{
time_t last_collide = 0;
@@ -1379,7 +1379,7 @@ struct IRCDMessageSave
}
};
-class IRCDMessageMetadata
+class IRCDMessageMetadata final
: IRCDMessage
{
const bool &do_topiclock;
@@ -1531,7 +1531,7 @@ public:
}
};
-struct IRCDMessageEndburst
+struct IRCDMessageEndburst final
: IRCDMessage
{
IRCDMessageEndburst(Module *creator) : IRCDMessage(creator, "ENDBURST", 0) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -1546,7 +1546,7 @@ struct IRCDMessageEndburst
}
};
-struct IRCDMessageFJoin
+struct IRCDMessageFJoin final
: IRCDMessage
{
IRCDMessageFJoin(Module *creator) : IRCDMessage(creator, "FJOIN", 2) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1603,7 +1603,7 @@ struct IRCDMessageFJoin
}
};
-struct IRCDMessageFMode
+struct IRCDMessageFMode final
: IRCDMessage
{
IRCDMessageFMode(Module *creator) : IRCDMessage(creator, "FMODE", 3) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1633,7 +1633,7 @@ struct IRCDMessageFMode
}
};
-struct IRCDMessageFTopic
+struct IRCDMessageFTopic final
: IRCDMessage
{
IRCDMessageFTopic(Module *creator) : IRCDMessage(creator, "FTOPIC", 4) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1652,7 +1652,7 @@ struct IRCDMessageFTopic
}
};
-struct IRCDMessageIdle
+struct IRCDMessageIdle final
: IRCDMessage
{
IRCDMessageIdle(Module *creator) : IRCDMessage(creator, "IDLE", 1) { }
@@ -1671,7 +1671,7 @@ struct IRCDMessageIdle
}
};
-struct IRCDMessageIJoin
+struct IRCDMessageIJoin final
: IRCDMessage
{
IRCDMessageIJoin(Module *creator) : IRCDMessage(creator, "IJOIN", 2) { SetFlag(IRCDMESSAGE_REQUIRE_USER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1708,7 +1708,7 @@ struct IRCDMessageIJoin
}
};
-struct IRCDMessageMode
+struct IRCDMessageMode final
: IRCDMessage
{
IRCDMessageMode(Module *creator) : IRCDMessage(creator, "MODE", 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1739,7 +1739,7 @@ struct IRCDMessageMode
}
};
-struct IRCDMessageNick
+struct IRCDMessageNick final
: IRCDMessage
{
IRCDMessageNick(Module *creator) : IRCDMessage(creator, "NICK", 2) { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -1750,7 +1750,7 @@ struct IRCDMessageNick
}
};
-struct IRCDMessageOperType
+struct IRCDMessageOperType final
: IRCDMessage
{
IRCDMessageOperType(Module *creator) : IRCDMessage(creator, "OPERTYPE", 0) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -1765,7 +1765,7 @@ struct IRCDMessageOperType
}
};
-struct IRCDMessagePing
+struct IRCDMessagePing final
: IRCDMessage
{
IRCDMessagePing(Module *creator) : IRCDMessage(creator, "PING", 1) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -1777,7 +1777,7 @@ struct IRCDMessagePing
}
};
-struct IRCDMessageRSQuit
+struct IRCDMessageRSQuit final
: IRCDMessage
{
IRCDMessageRSQuit(Module *creator) : IRCDMessage(creator, "RSQUIT", 1) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1794,7 +1794,7 @@ struct IRCDMessageRSQuit
}
};
-struct IRCDMessageServer
+struct IRCDMessageServer final
: IRCDMessage
{
IRCDMessageServer(Module *creator) : IRCDMessage(creator, "SERVER", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1828,7 +1828,7 @@ struct IRCDMessageServer
}
};
-struct IRCDMessageSQuit
+struct IRCDMessageSQuit final
: Message::SQuit
{
IRCDMessageSQuit(Module *creator) : Message::SQuit(creator) { }
@@ -1851,7 +1851,7 @@ struct IRCDMessageSQuit
}
};
-struct IRCDMessageTime
+struct IRCDMessageTime final
: IRCDMessage
{
IRCDMessageTime(Module *creator) : IRCDMessage(creator, "TIME", 2) { }
@@ -1862,7 +1862,7 @@ struct IRCDMessageTime
}
};
-struct IRCDMessageUID
+struct IRCDMessageUID final
: IRCDMessage
{
IRCDMessageUID(Module *creator) : IRCDMessage(creator, "UID", 8) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1911,7 +1911,7 @@ struct IRCDMessageUID
}
};
-class ProtoInspIRCd
+class ProtoInspIRCd final
: public Module
{
InspIRCdProto ircd_proto;
diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
index 587185e42..9a460044d 100644
--- a/modules/protocol/ngircd.cpp
+++ b/modules/protocol/ngircd.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class ngIRCdProto
+class ngIRCdProto final
: public IRCDProto
{
void SendSVSKillInternal(const MessageSource &source, User *user, const Anope::string &buf) override
@@ -147,7 +147,7 @@ public:
}
};
-struct IRCDMessage005
+struct IRCDMessage005 final
: IRCDMessage
{
IRCDMessage005(Module *creator) : IRCDMessage(creator, "005", 1) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -182,7 +182,7 @@ struct IRCDMessage005
}
};
-struct IRCDMessage376
+struct IRCDMessage376 final
: IRCDMessage
{
IRCDMessage376(Module *creator) : IRCDMessage(creator, "376", 2) { }
@@ -200,7 +200,7 @@ struct IRCDMessage376
}
};
-struct IRCDMessageChaninfo
+struct IRCDMessageChaninfo final
: IRCDMessage
{
IRCDMessageChaninfo(Module *creator) : IRCDMessage(creator, "CHANINFO", 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -254,7 +254,7 @@ struct IRCDMessageChaninfo
}
};
-struct IRCDMessageJoin
+struct IRCDMessageJoin final
: Message::Join
{
IRCDMessageJoin(Module *creator) : Message::Join(creator, "JOIN") { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -295,7 +295,7 @@ struct IRCDMessageJoin
}
};
-struct IRCDMessageMetadata
+struct IRCDMessageMetadata final
: IRCDMessage
{
IRCDMessageMetadata(Module *creator) : IRCDMessage(creator, "METADATA", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -355,7 +355,7 @@ struct IRCDMessageMetadata
}
};
-struct IRCDMessageMode
+struct IRCDMessageMode final
: IRCDMessage
{
IRCDMessageMode(Module *creator) : IRCDMessage(creator, "MODE", 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -392,7 +392,7 @@ struct IRCDMessageMode
}
};
-struct IRCDMessageNick
+struct IRCDMessageNick final
: IRCDMessage
{
IRCDMessageNick(Module *creator) : IRCDMessage(creator, "NICK", 1) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -445,7 +445,7 @@ struct IRCDMessageNick
}
};
-struct IRCDMessageNJoin
+struct IRCDMessageNJoin final
: IRCDMessage
{
IRCDMessageNJoin(Module *creator) : IRCDMessage(creator, "NJOIN",2) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); };
@@ -492,7 +492,7 @@ struct IRCDMessageNJoin
}
};
-struct IRCDMessagePong
+struct IRCDMessagePong final
: IRCDMessage
{
IRCDMessagePong(Module *creator) : IRCDMessage(creator, "PONG", 0) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -509,7 +509,7 @@ struct IRCDMessagePong
}
};
-struct IRCDMessageServer
+struct IRCDMessageServer final
: IRCDMessage
{
IRCDMessageServer(Module *creator) : IRCDMessage(creator, "SERVER", 3) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -561,7 +561,7 @@ struct IRCDMessageServer
}
};
-struct IRCDMessageTopic
+struct IRCDMessageTopic final
: IRCDMessage
{
IRCDMessageTopic(Module *creator) : IRCDMessage(creator, "TOPIC", 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -581,7 +581,7 @@ struct IRCDMessageTopic
-class ProtongIRCd
+class ProtongIRCd final
: public Module
{
ngIRCdProto ircd_proto;
diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp
index eb98f8f9c..f68cb8072 100644
--- a/modules/protocol/plexus.cpp
+++ b/modules/protocol/plexus.cpp
@@ -16,7 +16,7 @@ static Anope::string UplinkSID;
static ServiceReference<IRCDProto> hybrid("IRCDProto", "hybrid");
-class PlexusProto
+class PlexusProto final
: public IRCDProto
{
public:
@@ -188,7 +188,7 @@ public:
}
};
-struct IRCDMessageEncap
+struct IRCDMessageEncap final
: IRCDMessage
{
IRCDMessageEncap(Module *creator) : IRCDMessage(creator, "ENCAP", 4) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -245,7 +245,7 @@ struct IRCDMessageEncap
}
};
-struct IRCDMessagePass
+struct IRCDMessagePass final
: IRCDMessage
{
IRCDMessagePass(Module *creator) : IRCDMessage(creator, "PASS", 4) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -256,7 +256,7 @@ struct IRCDMessagePass
}
};
-struct IRCDMessageServer
+struct IRCDMessageServer final
: IRCDMessage
{
IRCDMessageServer(Module *creator) : IRCDMessage(creator, "SERVER", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -273,7 +273,7 @@ struct IRCDMessageServer
}
};
-struct IRCDMessageUID
+struct IRCDMessageUID final
: IRCDMessage
{
IRCDMessageUID(Module *creator) : IRCDMessage(creator, "UID", 11) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -323,7 +323,7 @@ struct IRCDMessageUID
}
};
-class ProtoPlexus
+class ProtoPlexus final
: public Module
{
Module *m_hybrid;
diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp
index 9ba815c4d..361acb007 100644
--- a/modules/protocol/ratbox.cpp
+++ b/modules/protocol/ratbox.cpp
@@ -15,7 +15,7 @@ static Anope::string UplinkSID;
static ServiceReference<IRCDProto> hybrid("IRCDProto", "hybrid");
-class RatboxProto
+class RatboxProto final
: public IRCDProto
{
BotInfo *FindIntroduced()
@@ -141,7 +141,7 @@ public:
}
};
-struct IRCDMessageEncap
+struct IRCDMessageEncap final
: IRCDMessage
{
IRCDMessageEncap(Module *creator) : IRCDMessage(creator, "ENCAP", 3) { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -167,7 +167,7 @@ struct IRCDMessageEncap
}
};
-struct IRCDMessageJoin
+struct IRCDMessageJoin final
: Message::Join
{
IRCDMessageJoin(Module *creator) : Message::Join(creator, "JOIN") { }
@@ -187,7 +187,7 @@ struct IRCDMessageJoin
}
};
-struct IRCDMessagePass
+struct IRCDMessagePass final
: IRCDMessage
{
IRCDMessagePass(Module *creator) : IRCDMessage(creator, "PASS", 4) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -198,7 +198,7 @@ struct IRCDMessagePass
}
};
-struct IRCDMessageServer
+struct IRCDMessageServer final
: IRCDMessage
{
IRCDMessageServer(Module *creator) : IRCDMessage(creator, "SERVER", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -214,7 +214,7 @@ struct IRCDMessageServer
}
};
-struct IRCDMessageTBurst
+struct IRCDMessageTBurst final
: IRCDMessage
{
IRCDMessageTBurst(Module *creator) : IRCDMessage(creator, "TB", 3) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -240,7 +240,7 @@ struct IRCDMessageTBurst
}
};
-struct IRCDMessageUID
+struct IRCDMessageUID final
: IRCDMessage
{
IRCDMessageUID(Module *creator) : IRCDMessage(creator, "UID", 9) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -253,7 +253,7 @@ struct IRCDMessageUID
}
};
-class ProtoRatbox
+class ProtoRatbox final
: public Module
{
Module *m_hybrid;
diff --git a/modules/protocol/solanum.cpp b/modules/protocol/solanum.cpp
index 763173342..d0311fd15 100644
--- a/modules/protocol/solanum.cpp
+++ b/modules/protocol/solanum.cpp
@@ -17,7 +17,7 @@ static Anope::string UplinkSID;
static ServiceReference<IRCDProto> ratbox("IRCDProto", "ratbox");
-class ChannelModeLargeBan
+class ChannelModeLargeBan final
: public ChannelMode
{
public:
@@ -30,7 +30,7 @@ public:
};
-class SolanumProto
+class SolanumProto final
: public IRCDProto
{
public:
@@ -172,7 +172,7 @@ public:
};
-struct IRCDMessageEncap
+struct IRCDMessageEncap final
: IRCDMessage
{
IRCDMessageEncap(Module *creator) : IRCDMessage(creator, "ENCAP", 3)
@@ -229,7 +229,7 @@ struct IRCDMessageEncap
}
};
-struct IRCDMessageEUID
+struct IRCDMessageEUID final
: IRCDMessage
{
IRCDMessageEUID(Module *creator) : IRCDMessage(creator, "EUID", 11) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -258,7 +258,7 @@ struct IRCDMessageEUID
};
// we can't use this function from ratbox because we set a local variable here
-struct IRCDMessageServer
+struct IRCDMessageServer final
: IRCDMessage
{
IRCDMessageServer(Module *creator) : IRCDMessage(creator, "SERVER", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -275,7 +275,7 @@ struct IRCDMessageServer
};
// we can't use this function from ratbox because we set a local variable here
-struct IRCDMessagePass
+struct IRCDMessagePass final
: IRCDMessage
{
IRCDMessagePass(Module *creator) : IRCDMessage(creator, "PASS", 4) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -287,7 +287,7 @@ struct IRCDMessagePass
}
};
-struct IRCDMessageNotice
+struct IRCDMessageNotice final
: Message::Notice
{
IRCDMessageNotice(Module *creator) : Message::Notice(creator) { }
@@ -301,7 +301,7 @@ struct IRCDMessageNotice
}
};
-struct IRCDMessagePrivmsg
+struct IRCDMessagePrivmsg final
: Message::Privmsg
{
IRCDMessagePrivmsg(Module *creator) : Message::Privmsg(creator) { }
@@ -315,7 +315,7 @@ struct IRCDMessagePrivmsg
}
};
-class ProtoSolanum
+class ProtoSolanum final
: public Module
{
Module *m_ratbox;
diff --git a/modules/protocol/unrealircd.cpp b/modules/protocol/unrealircd.cpp
index 0cf472e21..0da73d441 100644
--- a/modules/protocol/unrealircd.cpp
+++ b/modules/protocol/unrealircd.cpp
@@ -16,7 +16,7 @@
typedef Anope::map<Anope::string> ModData;
static Anope::string UplinkSID;
-class UnrealIRCdProto
+class UnrealIRCdProto final
: public IRCDProto
{
public:
@@ -462,7 +462,7 @@ public:
namespace UnrealExtban
{
- class ChannelMatcher
+ class ChannelMatcher final
: public UnrealExtBan
{
public:
@@ -498,7 +498,7 @@ namespace UnrealExtban
}
};
- class EntryMatcher
+ class EntryMatcher final
: public UnrealExtBan
{
public:
@@ -515,7 +515,7 @@ namespace UnrealExtban
}
};
- class RealnameMatcher
+ class RealnameMatcher final
: public UnrealExtBan
{
public:
@@ -532,7 +532,7 @@ namespace UnrealExtban
}
};
- class RegisteredMatcher
+ class RegisteredMatcher final
: public UnrealExtBan
{
public:
@@ -547,7 +547,7 @@ namespace UnrealExtban
}
};
- class AccountMatcher
+ class AccountMatcher final
: public UnrealExtBan
{
public:
@@ -567,7 +567,7 @@ namespace UnrealExtban
}
};
- class FingerprintMatcher
+ class FingerprintMatcher final
: public UnrealExtBan
{
public:
@@ -583,7 +583,7 @@ namespace UnrealExtban
}
};
- class OperclassMatcher
+ class OperclassMatcher final
: public UnrealExtBan
{
public:
@@ -600,7 +600,7 @@ namespace UnrealExtban
}
};
- class TimedBanMatcher
+ class TimedBanMatcher final
: public UnrealExtBan
{
public:
@@ -618,7 +618,7 @@ namespace UnrealExtban
}
};
- class CountryMatcher
+ class CountryMatcher final
: public UnrealExtBan
{
public:
@@ -646,7 +646,7 @@ namespace UnrealExtban
};
}
-class ChannelModeFlood
+class ChannelModeFlood final
: public ChannelModeParam
{
public:
@@ -698,7 +698,7 @@ public:
}
};
-class ChannelModeHistory
+class ChannelModeHistory final
: public ChannelModeParam
{
public:
@@ -738,7 +738,7 @@ public:
}
};
-class ChannelModeUnrealSSL
+class ChannelModeUnrealSSL final
: public ChannelMode
{
public:
@@ -752,7 +752,7 @@ public:
}
};
-struct IRCDMessageCapab
+struct IRCDMessageCapab final
: Message::Capab
{
IRCDMessageCapab(Module *creator) : Message::Capab(creator, "PROTOCTL") { }
@@ -1036,7 +1036,7 @@ struct IRCDMessageCapab
}
};
-struct IRCDMessageChgHost
+struct IRCDMessageChgHost final
: IRCDMessage
{
IRCDMessageChgHost(Module *creator) : IRCDMessage(creator, "CHGHOST", 2) { }
@@ -1049,7 +1049,7 @@ struct IRCDMessageChgHost
}
};
-struct IRCDMessageChgIdent
+struct IRCDMessageChgIdent final
: IRCDMessage
{
IRCDMessageChgIdent(Module *creator) : IRCDMessage(creator, "CHGIDENT", 2) { }
@@ -1062,7 +1062,7 @@ struct IRCDMessageChgIdent
}
};
-struct IRCDMessageChgName
+struct IRCDMessageChgName final
: IRCDMessage
{
IRCDMessageChgName(Module *creator) : IRCDMessage(creator, "CHGNAME", 2) { }
@@ -1075,7 +1075,7 @@ struct IRCDMessageChgName
}
};
-struct IRCDMessageMD
+struct IRCDMessageMD final
: IRCDMessage
{
PrimitiveExtensibleItem<ModData> &ClientModData;
@@ -1142,7 +1142,7 @@ struct IRCDMessageMD
}
};
-struct IRCDMessageMode
+struct IRCDMessageMode final
: IRCDMessage
{
IRCDMessageMode(Module *creator, const Anope::string &mname) : IRCDMessage(creator, mname, 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1188,7 +1188,7 @@ struct IRCDMessageMode
* argv[6] = free(**)
* argv[7] = ircnet
*/
-struct IRCDMessageNetInfo
+struct IRCDMessageNetInfo final
: IRCDMessage
{
IRCDMessageNetInfo(Module *creator) : IRCDMessage(creator, "NETINFO", 8) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -1199,7 +1199,7 @@ struct IRCDMessageNetInfo
}
};
-struct IRCDMessageNick
+struct IRCDMessageNick final
: IRCDMessage
{
IRCDMessageNick(Module *creator) : IRCDMessage(creator, "NICK", 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1286,7 +1286,7 @@ struct IRCDMessageNick
* with their server "not syncing". We now send a PING immediately when receiving a new server
* and then finish sync once we get a pong back from that server.
*/
-struct IRCDMessagePong
+struct IRCDMessagePong final
: IRCDMessage
{
IRCDMessagePong(Module *creator) : IRCDMessage(creator, "PONG", 0) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -1298,7 +1298,7 @@ struct IRCDMessagePong
}
};
-struct IRCDMessageSASL
+struct IRCDMessageSASL final
: IRCDMessage
{
IRCDMessageSASL(Module *creator) : IRCDMessage(creator, "SASL", 4) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -1319,7 +1319,7 @@ struct IRCDMessageSASL
}
};
-struct IRCDMessageSDesc
+struct IRCDMessageSDesc final
: IRCDMessage
{
IRCDMessageSDesc(Module *creator) : IRCDMessage(creator, "SDESC", 1) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -1330,7 +1330,7 @@ struct IRCDMessageSDesc
}
};
-struct IRCDMessageSetHost
+struct IRCDMessageSetHost final
: IRCDMessage
{
IRCDMessageSetHost(Module *creator) : IRCDMessage(creator, "SETHOST", 1) { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -1347,7 +1347,7 @@ struct IRCDMessageSetHost
}
};
-struct IRCDMessageSetIdent
+struct IRCDMessageSetIdent final
: IRCDMessage
{
IRCDMessageSetIdent(Module *creator) : IRCDMessage(creator, "SETIDENT", 1) { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -1359,7 +1359,7 @@ struct IRCDMessageSetIdent
}
};
-struct IRCDMessageSetName
+struct IRCDMessageSetName final
: IRCDMessage
{
IRCDMessageSetName(Module *creator) : IRCDMessage(creator, "SETNAME", 1) { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -1371,7 +1371,7 @@ struct IRCDMessageSetName
}
};
-struct IRCDMessageServer
+struct IRCDMessageServer final
: IRCDMessage
{
IRCDMessageServer(Module *creator) : IRCDMessage(creator, "SERVER", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -1394,7 +1394,7 @@ struct IRCDMessageServer
}
};
-struct IRCDMessageSID
+struct IRCDMessageSID final
: IRCDMessage
{
IRCDMessageSID(Module *creator) : IRCDMessage(creator, "SID", 4) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -1422,7 +1422,7 @@ static char UnrealSjoinPrefixToModeChar(char sjoin_prefix)
}
}
-struct IRCDMessageSJoin
+struct IRCDMessageSJoin final
: IRCDMessage
{
IRCDMessageSJoin(Module *creator) : IRCDMessage(creator, "SJOIN", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1516,7 +1516,7 @@ struct IRCDMessageSJoin
}
};
-class IRCDMessageSVSLogin
+class IRCDMessageSVSLogin final
: IRCDMessage
{
public:
@@ -1546,7 +1546,7 @@ public:
}
};
-struct IRCDMessageTopic
+struct IRCDMessageTopic final
: IRCDMessage
{
IRCDMessageTopic(Module *creator) : IRCDMessage(creator, "TOPIC", 4) { }
@@ -1580,7 +1580,7 @@ struct IRCDMessageTopic
* parv[10] = ip
* parv[11] = info
*/
-struct IRCDMessageUID
+struct IRCDMessageUID final
: IRCDMessage
{
IRCDMessageUID(Module *creator) : IRCDMessage(creator, "UID", 12) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -1650,7 +1650,7 @@ struct IRCDMessageUID
}
};
-struct IRCDMessageUmode2
+struct IRCDMessageUmode2 final
: IRCDMessage
{
IRCDMessageUmode2(Module *creator) : IRCDMessage(creator, "UMODE2", 1) { SetFlag(IRCDMESSAGE_REQUIRE_USER); }
@@ -1661,7 +1661,7 @@ struct IRCDMessageUmode2
}
};
-class ProtoUnreal
+class ProtoUnreal final
: public Module
{
UnrealIRCdProto ircd_proto;
diff --git a/modules/pseudoclients/botserv.cpp b/modules/pseudoclients/botserv.cpp
index fb744f643..d2b8df4bb 100644
--- a/modules/pseudoclients/botserv.cpp
+++ b/modules/pseudoclients/botserv.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class BotServCore
+class BotServCore final
: public Module
{
Reference<BotInfo> BotServ;
diff --git a/modules/pseudoclients/chanserv.cpp b/modules/pseudoclients/chanserv.cpp
index 95826ea7b..c47f2d77f 100644
--- a/modules/pseudoclients/chanserv.cpp
+++ b/modules/pseudoclients/chanserv.cpp
@@ -19,7 +19,7 @@ inline static Anope::string BotModes()
);
}
-class ChanServCore
+class ChanServCore final
: public Module
, public ChanServService
{
@@ -40,7 +40,7 @@ public:
/** A timer used to keep the BotServ bot/ChanServ in the channel
* after kicking the last user in a channel
*/
- class ChanServTimer
+ class ChanServTimer final
: public Timer
{
Reference<BotInfo> &ChanServ;
diff --git a/modules/pseudoclients/global.cpp b/modules/pseudoclients/global.cpp
index 95359a193..a5288d754 100644
--- a/modules/pseudoclients/global.cpp
+++ b/modules/pseudoclients/global.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class GlobalCore
+class GlobalCore final
: public Module
, public GlobalService
{
diff --git a/modules/pseudoclients/hostserv.cpp b/modules/pseudoclients/hostserv.cpp
index 12af0467b..17c820377 100644
--- a/modules/pseudoclients/hostserv.cpp
+++ b/modules/pseudoclients/hostserv.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class HostServCore
+class HostServCore final
: public Module
{
Reference<BotInfo> HostServ;
diff --git a/modules/pseudoclients/memoserv.cpp b/modules/pseudoclients/memoserv.cpp
index 12677dbcf..0961017e0 100644
--- a/modules/pseudoclients/memoserv.cpp
+++ b/modules/pseudoclients/memoserv.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class MemoServCore
+class MemoServCore final
: public Module
, public MemoServService
{
diff --git a/modules/pseudoclients/nickserv.cpp b/modules/pseudoclients/nickserv.cpp
index 9bf11e268..0f4313c0e 100644
--- a/modules/pseudoclients/nickserv.cpp
+++ b/modules/pseudoclients/nickserv.cpp
@@ -16,7 +16,7 @@ static std::set<NickServCollide *> collides;
/** Timer for colliding nicks to force people off of nicknames
*/
-class NickServCollide
+class NickServCollide final
: public Timer
{
NickServService *service;
@@ -59,7 +59,7 @@ public:
/** Timer for removing HELD status from nicks.
*/
-class NickServHeld
+class NickServHeld final
: public Timer
{
Reference<NickAlias> na;
@@ -82,7 +82,7 @@ static Anope::map<NickServRelease *> NickServReleases;
/** Timer for releasing nicks to be available for use
*/
-class NickServRelease
+class NickServRelease final
: public User
, public Timer
{
@@ -114,7 +114,7 @@ public:
void Tick(time_t t) override { }
};
-class NickServCore
+class NickServCore final
: public Module
, public NickServService
{
diff --git a/modules/pseudoclients/operserv.cpp b/modules/pseudoclients/operserv.cpp
index 6e793a599..2bda06206 100644
--- a/modules/pseudoclients/operserv.cpp
+++ b/modules/pseudoclients/operserv.cpp
@@ -11,7 +11,7 @@
#include "module.h"
-class SGLineManager
+class SGLineManager final
: public XLineManager
{
public:
@@ -64,7 +64,7 @@ public:
}
};
-class SQLineManager
+class SQLineManager final
: public XLineManager
{
ServiceReference<NickServService> nickserv;
@@ -144,7 +144,7 @@ public:
}
};
-class SNLineManager
+class SNLineManager final
: public XLineManager
{
public:
@@ -183,7 +183,7 @@ public:
}
};
-class OperServCore
+class OperServCore final
: public Module
{
Reference<BotInfo> OperServ;
diff --git a/modules/stats/cs_fantasy_stats.cpp b/modules/stats/cs_fantasy_stats.cpp
index a2595c08c..fedbd49b0 100644
--- a/modules/stats/cs_fantasy_stats.cpp
+++ b/modules/stats/cs_fantasy_stats.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/sql.h"
-class MySQLInterface
+class MySQLInterface final
: public SQL::Interface
{
public:
@@ -32,7 +32,7 @@ public:
};
-class CommandCSStats
+class CommandCSStats final
: public Command
{
public:
@@ -45,7 +45,7 @@ public:
void Execute(CommandSource &source, const std::vector<Anope::string> &params);
};
-class CommandCSGStats
+class CommandCSGStats final
: public Command
{
public:
@@ -61,7 +61,7 @@ public:
class CSStats;
static CSStats *me;
-class CSStats
+class CSStats final
: public Module
{
CommandCSStats commandcsstats;
diff --git a/modules/stats/cs_fantasy_top.cpp b/modules/stats/cs_fantasy_top.cpp
index 2c2282648..6b3b344c6 100644
--- a/modules/stats/cs_fantasy_top.cpp
+++ b/modules/stats/cs_fantasy_top.cpp
@@ -12,7 +12,7 @@
#include "module.h"
#include "modules/sql.h"
-class MySQLInterface
+class MySQLInterface final
: public SQL::Interface
{
public:
@@ -31,7 +31,7 @@ public:
}
};
-class CommandCSTop
+class CommandCSTop final
: public Command
{
public:
@@ -44,7 +44,7 @@ public:
void Execute(CommandSource &source, const std::vector<Anope::string> &params);
};
-class CommandCSTop10
+class CommandCSTop10 final
: public Command
{
public:
@@ -57,7 +57,7 @@ public:
void Execute(CommandSource &source, const std::vector<Anope::string> &params);
};
-class CommandCSGTop
+class CommandCSGTop final
: public Command
{
public:
@@ -69,7 +69,7 @@ public:
void Execute(CommandSource &source, const std::vector<Anope::string> &params);
};
-class CommandCSGTop10
+class CommandCSGTop10 final
: public Command
{
public:
@@ -84,7 +84,7 @@ public:
class CSTop;
static CSTop *me;
-class CSTop
+class CSTop final
: public Module
{
CommandCSTop commandcstop;
diff --git a/modules/stats/irc2sql/irc2sql.h b/modules/stats/irc2sql/irc2sql.h
index d6944525e..ea537a424 100644
--- a/modules/stats/irc2sql/irc2sql.h
+++ b/modules/stats/irc2sql/irc2sql.h
@@ -11,7 +11,7 @@
#include "module.h"
#include "modules/sql.h"
-class MySQLInterface
+class MySQLInterface final
: public SQL::Interface
{
public:
@@ -30,7 +30,7 @@ public:
}
};
-class IRC2SQL
+class IRC2SQL final
: public Module
{
ServiceReference<SQL::Provider> sql;
diff --git a/modules/stats/m_chanstats.cpp b/modules/stats/m_chanstats.cpp
index 408b1d0a6..db92689d7 100644
--- a/modules/stats/m_chanstats.cpp
+++ b/modules/stats/m_chanstats.cpp
@@ -9,7 +9,7 @@
#include "module.h"
#include "modules/sql.h"
-class CommandCSSetChanstats
+class CommandCSSetChanstats final
: public Command
{
public:
@@ -123,7 +123,7 @@ public:
}
};
-class CommandNSSASetChanstats
+class CommandNSSASetChanstats final
: public CommandNSSetChanstats
{
public:
@@ -147,7 +147,7 @@ public:
}
};
-class MySQLInterface
+class MySQLInterface final
: public SQL::Interface
{
public:
@@ -166,7 +166,7 @@ public:
}
};
-class MChanstats
+class MChanstats final
: public Module
{
SerializableExtensibleItem<bool> cs_stats, ns_stats;
diff --git a/modules/webcpanel/pages/chanserv/access.h b/modules/webcpanel/pages/chanserv/access.h
index bc2a99bd8..e7ecef034 100644
--- a/modules/webcpanel/pages/chanserv/access.h
+++ b/modules/webcpanel/pages/chanserv/access.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace ChanServ
{
-class Access
+class Access final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/chanserv/akick.h b/modules/webcpanel/pages/chanserv/akick.h
index fe09f8583..101110526 100644
--- a/modules/webcpanel/pages/chanserv/akick.h
+++ b/modules/webcpanel/pages/chanserv/akick.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace ChanServ
{
-class Akick
+class Akick final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/chanserv/drop.h b/modules/webcpanel/pages/chanserv/drop.h
index 7f9e7ecf8..2ea06a142 100644
--- a/modules/webcpanel/pages/chanserv/drop.h
+++ b/modules/webcpanel/pages/chanserv/drop.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace ChanServ
{
- class Drop
+ class Drop final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/chanserv/info.h b/modules/webcpanel/pages/chanserv/info.h
index e6e5579ef..05b0b3327 100644
--- a/modules/webcpanel/pages/chanserv/info.h
+++ b/modules/webcpanel/pages/chanserv/info.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace ChanServ
{
-class Info
+class Info final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/chanserv/modes.h b/modules/webcpanel/pages/chanserv/modes.h
index becb1b1d7..b2546b540 100644
--- a/modules/webcpanel/pages/chanserv/modes.h
+++ b/modules/webcpanel/pages/chanserv/modes.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace ChanServ
{
-class Modes
+class Modes final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/chanserv/set.h b/modules/webcpanel/pages/chanserv/set.h
index 0d0f08029..1306499b7 100644
--- a/modules/webcpanel/pages/chanserv/set.h
+++ b/modules/webcpanel/pages/chanserv/set.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace ChanServ
{
-class Set
+class Set final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/confirm.h b/modules/webcpanel/pages/confirm.h
index 875175571..558e54217 100644
--- a/modules/webcpanel/pages/confirm.h
+++ b/modules/webcpanel/pages/confirm.h
@@ -12,7 +12,7 @@
namespace WebCPanel
{
-class Confirm
+class Confirm final
: public WebPanelPage
{
public:
diff --git a/modules/webcpanel/pages/hostserv/request.h b/modules/webcpanel/pages/hostserv/request.h
index dc800a2c8..c76f0a448 100644
--- a/modules/webcpanel/pages/hostserv/request.h
+++ b/modules/webcpanel/pages/hostserv/request.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace HostServ
{
-class Request
+class Request final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/index.cpp b/modules/webcpanel/pages/index.cpp
index e7453d698..216c7cda4 100644
--- a/modules/webcpanel/pages/index.cpp
+++ b/modules/webcpanel/pages/index.cpp
@@ -7,7 +7,7 @@
#include "../webcpanel.h"
-class WebpanelRequest
+class WebpanelRequest final
: public IdentifyRequest
{
HTTPReply reply;
diff --git a/modules/webcpanel/pages/index.h b/modules/webcpanel/pages/index.h
index d25069f8e..1032b732f 100644
--- a/modules/webcpanel/pages/index.h
+++ b/modules/webcpanel/pages/index.h
@@ -12,7 +12,7 @@
namespace WebCPanel
{
-class Index
+class Index final
: public WebPanelPage
{
static const int FLUSH_TIME = 60;
diff --git a/modules/webcpanel/pages/logout.h b/modules/webcpanel/pages/logout.h
index 94fd60cb5..bfefe5ddd 100644
--- a/modules/webcpanel/pages/logout.h
+++ b/modules/webcpanel/pages/logout.h
@@ -10,7 +10,7 @@
namespace WebCPanel
{
-class Logout
+class Logout final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/memoserv/memos.h b/modules/webcpanel/pages/memoserv/memos.h
index bb5cec5fe..98539337a 100644
--- a/modules/webcpanel/pages/memoserv/memos.h
+++ b/modules/webcpanel/pages/memoserv/memos.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace MemoServ
{
-class Memos
+class Memos final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/nickserv/access.h b/modules/webcpanel/pages/nickserv/access.h
index f0d421bf7..56daf52aa 100644
--- a/modules/webcpanel/pages/nickserv/access.h
+++ b/modules/webcpanel/pages/nickserv/access.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace NickServ
{
-class Access
+class Access final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/nickserv/alist.h b/modules/webcpanel/pages/nickserv/alist.h
index 3dbccbc78..0880ea855 100644
--- a/modules/webcpanel/pages/nickserv/alist.h
+++ b/modules/webcpanel/pages/nickserv/alist.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace NickServ
{
-class Alist
+class Alist final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/nickserv/cert.h b/modules/webcpanel/pages/nickserv/cert.h
index 62f7f0e52..2f07f6ef8 100644
--- a/modules/webcpanel/pages/nickserv/cert.h
+++ b/modules/webcpanel/pages/nickserv/cert.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace NickServ
{
-class Cert
+class Cert final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/nickserv/confirm.h b/modules/webcpanel/pages/nickserv/confirm.h
index e71217b8c..82a64f5e2 100644
--- a/modules/webcpanel/pages/nickserv/confirm.h
+++ b/modules/webcpanel/pages/nickserv/confirm.h
@@ -11,7 +11,7 @@ namespace WebCPanel
namespace NickServ
{
-class Confirm
+class Confirm final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/nickserv/info.h b/modules/webcpanel/pages/nickserv/info.h
index a7b826990..0e53b60d7 100644
--- a/modules/webcpanel/pages/nickserv/info.h
+++ b/modules/webcpanel/pages/nickserv/info.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace NickServ
{
-class Info
+class Info final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/operserv/akill.h b/modules/webcpanel/pages/operserv/akill.h
index 11d95d3fa..cfa49c56a 100644
--- a/modules/webcpanel/pages/operserv/akill.h
+++ b/modules/webcpanel/pages/operserv/akill.h
@@ -13,7 +13,7 @@ namespace WebCPanel
namespace OperServ
{
-class Akill
+class Akill final
: public WebPanelProtectedPage
{
public:
diff --git a/modules/webcpanel/pages/register.h b/modules/webcpanel/pages/register.h
index e49ab05da..daf7fd735 100644
--- a/modules/webcpanel/pages/register.h
+++ b/modules/webcpanel/pages/register.h
@@ -12,7 +12,7 @@
namespace WebCPanel
{
-class Register
+class Register final
: public WebPanelPage
{
public:
diff --git a/modules/webcpanel/static_fileserver.h b/modules/webcpanel/static_fileserver.h
index 16e1fcd7b..ab9399171 100644
--- a/modules/webcpanel/static_fileserver.h
+++ b/modules/webcpanel/static_fileserver.h
@@ -10,7 +10,7 @@
#include "modules/httpd.h"
/* A basic file server. Used for serving static content on disk. */
-class StaticFileServer
+class StaticFileServer final
: public HTTPPage
{
Anope::string file_name;
diff --git a/modules/webcpanel/template_fileserver.cpp b/modules/webcpanel/template_fileserver.cpp
index 715feec04..92b7c8cc7 100644
--- a/modules/webcpanel/template_fileserver.cpp
+++ b/modules/webcpanel/template_fileserver.cpp
@@ -14,7 +14,7 @@
#include <sys/stat.h>
#include <fcntl.h>
-struct ForLoop
+struct ForLoop final
{
static std::vector<ForLoop> Stack;
diff --git a/modules/webcpanel/template_fileserver.h b/modules/webcpanel/template_fileserver.h
index 8c5437e30..4f3987f53 100644
--- a/modules/webcpanel/template_fileserver.h
+++ b/modules/webcpanel/template_fileserver.h
@@ -10,11 +10,11 @@
#include "modules/httpd.h"
/* A basic file server. Used for serving non-static non-binary content on disk. */
-class TemplateFileServer
+class TemplateFileServer final
{
Anope::string file_name;
public:
- struct Replacements
+ struct Replacements final
: std::multimap<Anope::string, Anope::string>
{
Anope::string& operator[](const Anope::string &key)
diff --git a/modules/webcpanel/webcpanel.cpp b/modules/webcpanel/webcpanel.cpp
index 910547a27..f0cb06771 100644
--- a/modules/webcpanel/webcpanel.cpp
+++ b/modules/webcpanel/webcpanel.cpp
@@ -10,7 +10,7 @@
Module *me;
Anope::string provider_name, template_name, template_base, page_title;
-class ModuleWebCPanel
+class ModuleWebCPanel final
: public Module
{
ServiceReference<HTTPProvider> provider;
@@ -261,7 +261,7 @@ namespace WebPanel
bi = BotListByNick->begin()->second; // Pick one...
}
- struct MyComandReply
+ struct MyComandReply final
: CommandReply
{
TemplateFileServer::Replacements &re;
@@ -302,7 +302,7 @@ namespace WebPanel
if (!info)
return;
- struct MyComandReply
+ struct MyComandReply final
: CommandReply
{
TemplateFileServer::Replacements &re;
diff --git a/modules/webcpanel/webcpanel.h b/modules/webcpanel/webcpanel.h
index 2501971a8..720f0d2a2 100644
--- a/modules/webcpanel/webcpanel.h
+++ b/modules/webcpanel/webcpanel.h
@@ -17,7 +17,7 @@ extern Module *me;
extern Anope::string provider_name, template_name, template_base, page_title;
-struct SubSection
+struct SubSection final
{
Anope::string name;
Anope::string url;
@@ -30,7 +30,7 @@ struct Section
};
/* An interface for this webpanel used by other modules */
-class Panel
+class Panel final
: public Section
, public Service
{
diff --git a/src/channels.cpp b/src/channels.cpp
index 6cb84020f..4b33eba8f 100644
--- a/src/channels.cpp
+++ b/src/channels.cpp
@@ -242,7 +242,7 @@ const Channel::ModeList &Channel::GetModes() const
}
template<typename F, typename S>
-struct second
+struct second final
{
S operator()(const std::pair<F, S> &p)
{
diff --git a/src/main.cpp b/src/main.cpp
index a9697395b..2f1f2ca91 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -41,7 +41,7 @@ time_t Anope::CurTime = time(NULL);
size_t Anope::CurrentUplink = -1;
-class UpdateTimer
+class UpdateTimer final
: public Timer
{
public:
@@ -53,7 +53,7 @@ public:
}
};
-class ExpireTimer
+class ExpireTimer final
: public Timer
{
public:
diff --git a/src/modes.cpp b/src/modes.cpp
index 0c64589d0..870081860 100644
--- a/src/modes.cpp
+++ b/src/modes.cpp
@@ -39,7 +39,7 @@ static std::vector<ChannelModeStatus *> ChannelModesByStatus;
/* Number of generic modes we support */
unsigned ModeManager::GenericChannelModes = 0, ModeManager::GenericUserModes = 0;
-struct StackerInfo
+struct StackerInfo final
{
/* Modes to be added */
std::list<std::pair<Mode *, Anope::string> > AddModes;
@@ -300,7 +300,7 @@ void StackerInfo::AddMode(Mode *mode, bool set, const Anope::string &param)
list->emplace_back(mode, param);
}
-static class ModePipe
+static class ModePipe final
: public Pipe
{
public:
@@ -580,7 +580,7 @@ const std::vector<ChannelModeStatus *> &ModeManager::GetStatusChannelModesByRank
return ChannelModesByStatus;
}
-static struct StatusSort
+static struct StatusSort final
{
bool operator()(ChannelModeStatus *cm1, ChannelModeStatus *cm2) const
{
diff --git a/src/uplink.cpp b/src/uplink.cpp
index cc5850ba1..087e5a476 100644
--- a/src/uplink.cpp
+++ b/src/uplink.cpp
@@ -17,7 +17,7 @@
UplinkSocket *UplinkSock = NULL;
-class ReconnectTimer
+class ReconnectTimer final
: public Timer
{
public:
diff --git a/src/win32/pthread/pthread.cpp b/src/win32/pthread/pthread.cpp
index 237f29dd4..971066d0e 100644
--- a/src/win32/pthread/pthread.cpp
+++ b/src/win32/pthread/pthread.cpp
@@ -8,7 +8,7 @@
#include "pthread.h"
-struct ThreadInfo
+struct ThreadInfo final
{
void *(*entry)(void *);
void *param;
diff --git a/src/win32/sigaction/sigaction.h b/src/win32/sigaction/sigaction.h
index 0492ca0e0..aee350d1c 100644
--- a/src/win32/sigaction/sigaction.h
+++ b/src/win32/sigaction/sigaction.h
@@ -18,7 +18,7 @@
# define SIGPIPE -1
#endif
-struct sigaction
+struct sigaction final
{
void (*sa_handler)(int);
int sa_flags;
diff --git a/src/win32/windows.cpp b/src/win32/windows.cpp
index 54ce44202..ddbc20b77 100644
--- a/src/win32/windows.cpp
+++ b/src/win32/windows.cpp
@@ -18,7 +18,7 @@
#include <sys/types.h>
#include <fcntl.h>
-static struct WindowsLanguage
+static struct WindowsLanguage final
{
Anope::string languageName;
USHORT windowsLanguageName;