aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Sadie Powell2021-10-01 04:37:03 +0100
committerGravatar Sadie Powell2021-10-01 05:15:50 +0100
commite0dec0572ae900417372f034fd27ec356e650fd0 (patch)
tree8529c0041585ef6b98eec980fbf8edbd3fbe6f4d /src
parentYeet regex_pcre into contrib. (diff)
Mark all module classes as final.
Diffstat (limited to 'src')
-rw-r--r--src/coremods/core_dns.cpp3
-rw-r--r--src/coremods/core_hostname_lookup.cpp3
-rw-r--r--src/coremods/core_info/core_info.cpp3
-rw-r--r--src/coremods/core_loadmodule.cpp3
-rw-r--r--src/coremods/core_lusers.cpp3
-rw-r--r--src/coremods/core_message.cpp3
-rw-r--r--src/coremods/core_oper/core_oper.cpp3
-rw-r--r--src/coremods/core_reloadmodule.cpp3
-rw-r--r--src/coremods/core_serialize_rfc.cpp3
-rw-r--r--src/coremods/core_stats.cpp3
-rw-r--r--src/coremods/core_stub.cpp3
-rw-r--r--src/coremods/core_user/core_user.cpp3
-rw-r--r--src/coremods/core_wallops.cpp3
-rw-r--r--src/coremods/core_whois.cpp3
-rw-r--r--src/coremods/core_whowas.cpp4
-rw-r--r--src/coremods/core_xline/core_xline.cpp3
-rw-r--r--src/modules/extra/m_geo_maxmind.cpp3
-rw-r--r--src/modules/extra/m_ldap.cpp3
-rw-r--r--src/modules/extra/m_mysql.cpp3
-rw-r--r--src/modules/extra/m_pgsql.cpp3
-rw-r--r--src/modules/extra/m_regex_posix.cpp3
-rw-r--r--src/modules/extra/m_ssl_gnutls.cpp3
-rw-r--r--src/modules/extra/m_ssl_mbedtls.cpp3
-rw-r--r--src/modules/extra/m_ssl_openssl.cpp3
-rw-r--r--src/modules/extra/m_sslrehashsignal.cpp3
-rw-r--r--src/modules/m_abbreviation.cpp3
-rw-r--r--src/modules/m_alias.cpp3
-rw-r--r--src/modules/m_allowinvite.cpp3
-rw-r--r--src/modules/m_alltime.cpp3
-rw-r--r--src/modules/m_anticaps.cpp3
-rw-r--r--src/modules/m_autoop.cpp3
-rw-r--r--src/modules/m_banredirect.cpp3
-rw-r--r--src/modules/m_bcrypt.cpp3
-rw-r--r--src/modules/m_blockamsg.cpp3
-rw-r--r--src/modules/m_blockcolor.cpp3
-rw-r--r--src/modules/m_cap.cpp3
-rw-r--r--src/modules/m_cban.cpp4
-rw-r--r--src/modules/m_chancreate.cpp3
-rw-r--r--src/modules/m_chanfilter.cpp3
-rw-r--r--src/modules/m_chanlog.cpp3
-rw-r--r--src/modules/m_channames.cpp3
-rw-r--r--src/modules/m_check.cpp3
-rw-r--r--src/modules/m_chghost.cpp3
-rw-r--r--src/modules/m_chgident.cpp3
-rw-r--r--src/modules/m_chgname.cpp3
-rw-r--r--src/modules/m_clearchan.cpp3
-rw-r--r--src/modules/m_cloaking.cpp3
-rw-r--r--src/modules/m_conn_join.cpp3
-rw-r--r--src/modules/m_conn_umodes.cpp3
-rw-r--r--src/modules/m_conn_waitpong.cpp3
-rw-r--r--src/modules/m_connflood.cpp3
-rw-r--r--src/modules/m_customprefix.cpp3
-rw-r--r--src/modules/m_customtitle.cpp4
-rw-r--r--src/modules/m_cycle.cpp3
-rw-r--r--src/modules/m_dccallow.cpp3
-rw-r--r--src/modules/m_delayjoin.cpp2
-rw-r--r--src/modules/m_denychans.cpp3
-rw-r--r--src/modules/m_disable.cpp3
-rw-r--r--src/modules/m_dnsbl.cpp4
-rw-r--r--src/modules/m_exemptchanops.cpp3
-rw-r--r--src/modules/m_globalload.cpp3
-rw-r--r--src/modules/m_globops.cpp3
-rw-r--r--src/modules/m_haproxy.cpp3
-rw-r--r--src/modules/m_hidechans.cpp4
-rw-r--r--src/modules/m_hidelist.cpp3
-rw-r--r--src/modules/m_hidemode.cpp3
-rw-r--r--src/modules/m_hostchange.cpp3
-rw-r--r--src/modules/m_hostcycle.cpp3
-rw-r--r--src/modules/m_httpd.cpp3
-rw-r--r--src/modules/m_httpd_acl.cpp4
-rw-r--r--src/modules/m_httpd_config.cpp4
-rw-r--r--src/modules/m_httpd_stats.cpp4
-rw-r--r--src/modules/m_ident.cpp3
-rw-r--r--src/modules/m_ircv3_accounttag.cpp3
-rw-r--r--src/modules/m_ircv3_batch.cpp3
-rw-r--r--src/modules/m_ircv3_capnotify.cpp5
-rw-r--r--src/modules/m_ircv3_chghost.cpp3
-rw-r--r--src/modules/m_ircv3_invitenotify.cpp3
-rw-r--r--src/modules/m_ircv3_labeledresponse.cpp3
-rw-r--r--src/modules/m_ircv3_servertime.cpp3
-rw-r--r--src/modules/m_ircv3_sts.cpp3
-rw-r--r--src/modules/m_kicknorejoin.cpp3
-rw-r--r--src/modules/m_knock.cpp3
-rw-r--r--src/modules/m_ldapauth.cpp3
-rw-r--r--src/modules/m_ldapoper.cpp3
-rw-r--r--src/modules/m_maphide.cpp3
-rw-r--r--src/modules/m_mlock.cpp3
-rw-r--r--src/modules/m_namedmodes.cpp3
-rw-r--r--src/modules/m_nationalchars.cpp3
-rw-r--r--src/modules/m_nickflood.cpp3
-rw-r--r--src/modules/m_nicklock.cpp3
-rw-r--r--src/modules/m_noctcp.cpp3
-rw-r--r--src/modules/m_nokicks.cpp3
-rw-r--r--src/modules/m_nonicks.cpp3
-rw-r--r--src/modules/m_nonotice.cpp3
-rw-r--r--src/modules/m_nopartmsg.cpp3
-rw-r--r--src/modules/m_ojoin.cpp3
-rw-r--r--src/modules/m_operjoin.cpp3
-rw-r--r--src/modules/m_operlevels.cpp3
-rw-r--r--src/modules/m_opermodes.cpp3
-rw-r--r--src/modules/m_opermotd.cpp3
-rw-r--r--src/modules/m_operprefix.cpp3
-rw-r--r--src/modules/m_passforward.cpp3
-rw-r--r--src/modules/m_password_hash.cpp3
-rw-r--r--src/modules/m_randquote.cpp3
-rw-r--r--src/modules/m_redirect.cpp3
-rw-r--r--src/modules/m_regex_glob.cpp3
-rw-r--r--src/modules/m_regex_stdlib.cpp3
-rw-r--r--src/modules/m_repeat.cpp3
-rw-r--r--src/modules/m_restrictchans.cpp3
-rw-r--r--src/modules/m_rmode.cpp3
-rw-r--r--src/modules/m_sajoin.cpp3
-rw-r--r--src/modules/m_sakick.cpp3
-rw-r--r--src/modules/m_samode.cpp3
-rw-r--r--src/modules/m_sanick.cpp3
-rw-r--r--src/modules/m_sapart.cpp3
-rw-r--r--src/modules/m_saquit.cpp3
-rw-r--r--src/modules/m_sasl.cpp3
-rw-r--r--src/modules/m_satopic.cpp3
-rw-r--r--src/modules/m_seenicks.cpp3
-rw-r--r--src/modules/m_sethost.cpp3
-rw-r--r--src/modules/m_setident.cpp3
-rw-r--r--src/modules/m_setidle.cpp3
-rw-r--r--src/modules/m_setname.cpp3
-rw-r--r--src/modules/m_showfile.cpp3
-rw-r--r--src/modules/m_showwhois.cpp4
-rw-r--r--src/modules/m_shun.cpp4
-rw-r--r--src/modules/m_sqlauth.cpp3
-rw-r--r--src/modules/m_sqloper.cpp3
-rw-r--r--src/modules/m_starttls.cpp3
-rw-r--r--src/modules/m_stripcolor.cpp3
-rw-r--r--src/modules/m_svshold.cpp4
-rw-r--r--src/modules/m_timedbans.cpp3
-rw-r--r--src/modules/m_tline.cpp3
-rw-r--r--src/modules/m_topiclock.cpp3
-rw-r--r--src/modules/m_uninvite.cpp3
-rw-r--r--src/modules/m_vhost.cpp3
-rw-r--r--src/modules/m_websocket.cpp3
138 files changed, 288 insertions, 138 deletions
diff --git a/src/coremods/core_dns.cpp b/src/coremods/core_dns.cpp
index e247cff59..2776444f0 100644
--- a/src/coremods/core_dns.cpp
+++ b/src/coremods/core_dns.cpp
@@ -804,7 +804,8 @@ class MyManager : public Manager, public Timer, public EventHandler
}
};
-class ModuleDNS : public Module
+class ModuleDNS final
+ : public Module
{
MyManager manager;
std::string DNSServer;
diff --git a/src/coremods/core_hostname_lookup.cpp b/src/coremods/core_hostname_lookup.cpp
index 617c294c1..61769a129 100644
--- a/src/coremods/core_hostname_lookup.cpp
+++ b/src/coremods/core_hostname_lookup.cpp
@@ -151,7 +151,8 @@ class UserResolver : public DNS::Request
}
};
-class ModuleHostnameLookup : public Module
+class ModuleHostnameLookup final
+ : public Module
{
private:
BoolExtItem dnsLookup;
diff --git a/src/coremods/core_info/core_info.cpp b/src/coremods/core_info/core_info.cpp
index 953231bd8..febdc4d3d 100644
--- a/src/coremods/core_info/core_info.cpp
+++ b/src/coremods/core_info/core_info.cpp
@@ -39,7 +39,8 @@ RouteDescriptor ServerTargetCommand::GetRouting(User* user, const Params& parame
return ROUTE_LOCALONLY;
}
-class CoreModInfo : public Module
+class CoreModInfo final
+ : public Module
{
CommandAdmin cmdadmin;
CommandCommands cmdcommands;
diff --git a/src/coremods/core_loadmodule.cpp b/src/coremods/core_loadmodule.cpp
index 7e83cdc31..12e5ff615 100644
--- a/src/coremods/core_loadmodule.cpp
+++ b/src/coremods/core_loadmodule.cpp
@@ -96,7 +96,8 @@ CmdResult CommandUnloadmodule::Handle(User* user, const Params& parameters)
return CmdResult::SUCCESS;
}
-class CoreModLoadModule : public Module
+class CoreModLoadModule final
+ : public Module
{
CommandLoadmodule cmdloadmod;
CommandUnloadmodule cmdunloadmod;
diff --git a/src/coremods/core_lusers.cpp b/src/coremods/core_lusers.cpp
index e5016ab24..9bb164868 100644
--- a/src/coremods/core_lusers.cpp
+++ b/src/coremods/core_lusers.cpp
@@ -131,7 +131,8 @@ public:
}
};
-class ModuleLusers : public Module
+class ModuleLusers final
+ : public Module
{
UserModeReference invisiblemode;
LusersCounters counters;
diff --git a/src/coremods/core_message.cpp b/src/coremods/core_message.cpp
index e421ecd23..c17cc25b9 100644
--- a/src/coremods/core_message.cpp
+++ b/src/coremods/core_message.cpp
@@ -384,7 +384,8 @@ class CommandSQuery final
}
};
-class ModuleCoreMessage : public Module
+class ModuleCoreMessage final
+ : public Module
{
private:
CommandMessage cmdprivmsg;
diff --git a/src/coremods/core_oper/core_oper.cpp b/src/coremods/core_oper/core_oper.cpp
index ddebff7d2..532382a6c 100644
--- a/src/coremods/core_oper/core_oper.cpp
+++ b/src/coremods/core_oper/core_oper.cpp
@@ -22,7 +22,8 @@
#include "inspircd.h"
#include "core_oper.h"
-class CoreModOper : public Module
+class CoreModOper final
+ : public Module
{
private:
CommandDie cmddie;
diff --git a/src/coremods/core_reloadmodule.cpp b/src/coremods/core_reloadmodule.cpp
index ef0bc23f0..579f85557 100644
--- a/src/coremods/core_reloadmodule.cpp
+++ b/src/coremods/core_reloadmodule.cpp
@@ -737,7 +737,8 @@ CmdResult CommandReloadmodule::Handle(User* user, const Params& parameters)
}
}
-class CoreModReloadmodule : public Module
+class CoreModReloadmodule final
+ : public Module
{
private:
CommandReloadmodule cmd;
diff --git a/src/coremods/core_serialize_rfc.cpp b/src/coremods/core_serialize_rfc.cpp
index 94acb9256..577c6c371 100644
--- a/src/coremods/core_serialize_rfc.cpp
+++ b/src/coremods/core_serialize_rfc.cpp
@@ -224,7 +224,8 @@ ClientProtocol::SerializedMessage RFCSerializer::Serialize(const ClientProtocol:
return line;
}
-class ModuleCoreRFCSerializer : public Module
+class ModuleCoreRFCSerializer final
+ : public Module
{
RFCSerializer rfcserializer;
diff --git a/src/coremods/core_stats.cpp b/src/coremods/core_stats.cpp
index bca4dbc24..52b456996 100644
--- a/src/coremods/core_stats.cpp
+++ b/src/coremods/core_stats.cpp
@@ -390,7 +390,8 @@ CmdResult CommandStats::Handle(User* user, const Params& parameters)
return CmdResult::SUCCESS;
}
-class CoreModStats : public Module
+class CoreModStats final
+ : public Module
{
private:
CommandStats cmd;
diff --git a/src/coremods/core_stub.cpp b/src/coremods/core_stub.cpp
index eb3f786e8..1138325a2 100644
--- a/src/coremods/core_stub.cpp
+++ b/src/coremods/core_stub.cpp
@@ -137,7 +137,8 @@ class CommandUsers
}
};
-class CoreModStub : public Module
+class CoreModStub final
+ : public Module
{
private:
CommandCapab cmdcapab;
diff --git a/src/coremods/core_user/core_user.cpp b/src/coremods/core_user/core_user.cpp
index 3c84fa95d..d0e3734ac 100644
--- a/src/coremods/core_user/core_user.cpp
+++ b/src/coremods/core_user/core_user.cpp
@@ -124,7 +124,8 @@ void MessageWrapper::ReadConfig(const char* prefixname, const char* suffixname,
}
}
-class CoreModUser : public Module
+class CoreModUser final
+ : public Module
{
CommandAway cmdaway;
CommandNick cmdnick;
diff --git a/src/coremods/core_wallops.cpp b/src/coremods/core_wallops.cpp
index a8581f352..a7de95c73 100644
--- a/src/coremods/core_wallops.cpp
+++ b/src/coremods/core_wallops.cpp
@@ -69,7 +69,8 @@ CmdResult CommandWallops::Handle(User* user, const Params& parameters)
return CmdResult::SUCCESS;
}
-class CoreModWallops : public Module
+class CoreModWallops final
+ : public Module
{
private:
CommandWallops cmd;
diff --git a/src/coremods/core_whois.cpp b/src/coremods/core_whois.cpp
index 7686fe9ac..55c2d14e9 100644
--- a/src/coremods/core_whois.cpp
+++ b/src/coremods/core_whois.cpp
@@ -320,7 +320,8 @@ CmdResult CommandWhois::HandleLocal(LocalUser* user, const Params& parameters)
return CmdResult::SUCCESS;
}
-class CoreModWhois : public Module
+class CoreModWhois final
+ : public Module
{
private:
CommandWhois cmd;
diff --git a/src/coremods/core_whowas.cpp b/src/coremods/core_whowas.cpp
index 0be365c0e..adb566a65 100644
--- a/src/coremods/core_whowas.cpp
+++ b/src/coremods/core_whowas.cpp
@@ -394,7 +394,9 @@ WhoWas::Nick::~Nick()
stdalgo::delete_all(entries);
}
-class ModuleWhoWas : public Module, public Stats::EventListener
+class ModuleWhoWas final
+ : public Module
+ , public Stats::EventListener
{
CommandWhowas cmd;
diff --git a/src/coremods/core_xline/core_xline.cpp b/src/coremods/core_xline/core_xline.cpp
index 5848ca83d..7877f0b63 100644
--- a/src/coremods/core_xline/core_xline.cpp
+++ b/src/coremods/core_xline/core_xline.cpp
@@ -54,7 +54,8 @@ bool InsaneBan::IPHostMatcher::Check(User* user, const std::string& mask) const
(InspIRCd::MatchCIDR(user->MakeHostIP(), mask, ascii_case_insensitive_map)));
}
-class CoreModXLine : public Module
+class CoreModXLine final
+ : public Module
{
CommandEline cmdeline;
CommandGline cmdgline;
diff --git a/src/modules/extra/m_geo_maxmind.cpp b/src/modules/extra/m_geo_maxmind.cpp
index da045868d..9ce9cc2eb 100644
--- a/src/modules/extra/m_geo_maxmind.cpp
+++ b/src/modules/extra/m_geo_maxmind.cpp
@@ -143,7 +143,8 @@ class GeolocationAPIImpl : public Geolocation::APIBase
}
};
-class ModuleGeoMaxMind : public Module
+class ModuleGeoMaxMind final
+ : public Module
{
private:
GeolocationAPIImpl geoapi;
diff --git a/src/modules/extra/m_ldap.cpp b/src/modules/extra/m_ldap.cpp
index 49e4fbf2b..fba15a416 100644
--- a/src/modules/extra/m_ldap.cpp
+++ b/src/modules/extra/m_ldap.cpp
@@ -535,7 +535,8 @@ class LDAPService : public LDAPProvider, public SocketThread
}
};
-class ModuleLDAP : public Module
+class ModuleLDAP final
+ : public Module
{
typedef insp::flat_map<std::string, LDAPService*> ServiceMap;
ServiceMap LDAPServices;
diff --git a/src/modules/extra/m_mysql.cpp b/src/modules/extra/m_mysql.cpp
index db086e55f..a67cae7f9 100644
--- a/src/modules/extra/m_mysql.cpp
+++ b/src/modules/extra/m_mysql.cpp
@@ -130,7 +130,8 @@ typedef std::deque<ResultQueueItem> ResultQueue;
/** MySQL module
* */
-class ModuleSQL : public Module
+class ModuleSQL final
+ : public Module
{
public:
DispatcherThread* Dispatcher = nullptr;
diff --git a/src/modules/extra/m_pgsql.cpp b/src/modules/extra/m_pgsql.cpp
index 7ed09197f..faf39d0b6 100644
--- a/src/modules/extra/m_pgsql.cpp
+++ b/src/modules/extra/m_pgsql.cpp
@@ -521,7 +521,8 @@ restart:
}
};
-class ModulePgSQL : public Module
+class ModulePgSQL final
+ : public Module
{
public:
ConnMap connections;
diff --git a/src/modules/extra/m_regex_posix.cpp b/src/modules/extra/m_regex_posix.cpp
index 8e6e1974a..eaa5b37ee 100644
--- a/src/modules/extra/m_regex_posix.cpp
+++ b/src/modules/extra/m_regex_posix.cpp
@@ -68,7 +68,8 @@ class POSIXPattern final
}
};
-class ModuleRegexPOSIX : public Module
+class ModuleRegexPOSIX final
+ : public Module
{
private:
Regex::SimpleEngine<POSIXPattern> regex;
diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp
index 79a9747d6..f364ff5d0 100644
--- a/src/modules/extra/m_ssl_gnutls.cpp
+++ b/src/modules/extra/m_ssl_gnutls.cpp
@@ -1089,7 +1089,8 @@ GnuTLS::Profile& GnuTLSIOHook::GetProfile()
return std::static_pointer_cast<GnuTLSIOHookProvider>(prov)->GetProfile();
}
-class ModuleSSLGnuTLS : public Module
+class ModuleSSLGnuTLS final
+ : public Module
{
typedef std::vector<std::shared_ptr<GnuTLSIOHookProvider>> ProfileList;
diff --git a/src/modules/extra/m_ssl_mbedtls.cpp b/src/modules/extra/m_ssl_mbedtls.cpp
index 9c025ad56..01874db6b 100644
--- a/src/modules/extra/m_ssl_mbedtls.cpp
+++ b/src/modules/extra/m_ssl_mbedtls.cpp
@@ -851,7 +851,8 @@ mbedTLS::Profile& mbedTLSIOHook::GetProfile()
return std::static_pointer_cast<mbedTLSIOHookProvider>(prov)->GetProfile();
}
-class ModuleSSLmbedTLS : public Module
+class ModuleSSLmbedTLS final
+ : public Module
{
private:
typedef std::vector<std::shared_ptr<mbedTLSIOHookProvider>> ProfileList;
diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp
index 480a45ce1..f0146bad3 100644
--- a/src/modules/extra/m_ssl_openssl.cpp
+++ b/src/modules/extra/m_ssl_openssl.cpp
@@ -914,7 +914,8 @@ OpenSSL::Profile& OpenSSLIOHook::GetProfile()
return std::static_pointer_cast<OpenSSLIOHookProvider>(prov)->GetProfile();
}
-class ModuleSSLOpenSSL : public Module
+class ModuleSSLOpenSSL final
+ : public Module
{
typedef std::vector<std::shared_ptr<OpenSSLIOHookProvider>> ProfileList;
diff --git a/src/modules/extra/m_sslrehashsignal.cpp b/src/modules/extra/m_sslrehashsignal.cpp
index 4a0957f70..25ceec023 100644
--- a/src/modules/extra/m_sslrehashsignal.cpp
+++ b/src/modules/extra/m_sslrehashsignal.cpp
@@ -22,7 +22,8 @@
static volatile sig_atomic_t signaled;
-class ModuleSSLRehashSignal : public Module
+class ModuleSSLRehashSignal final
+ : public Module
{
private:
static void SignalHandler(int)
diff --git a/src/modules/m_abbreviation.cpp b/src/modules/m_abbreviation.cpp
index 4580ec645..910f551ac 100644
--- a/src/modules/m_abbreviation.cpp
+++ b/src/modules/m_abbreviation.cpp
@@ -29,7 +29,8 @@ enum
ERR_AMBIGUOUSCOMMAND = 420
};
-class ModuleAbbreviation : public Module
+class ModuleAbbreviation final
+ : public Module
{
public:
ModuleAbbreviation()
diff --git a/src/modules/m_alias.cpp b/src/modules/m_alias.cpp
index cae043299..8e09bcd50 100644
--- a/src/modules/m_alias.cpp
+++ b/src/modules/m_alias.cpp
@@ -60,7 +60,8 @@ class Alias
bool StripColor;
};
-class ModuleAlias : public Module
+class ModuleAlias final
+ : public Module
{
std::string fprefix;
diff --git a/src/modules/m_allowinvite.cpp b/src/modules/m_allowinvite.cpp
index e79eb56f7..b43a54d11 100644
--- a/src/modules/m_allowinvite.cpp
+++ b/src/modules/m_allowinvite.cpp
@@ -26,7 +26,8 @@
#include "inspircd.h"
#include "modules/extban.h"
-class ModuleAllowInvite : public Module
+class ModuleAllowInvite final
+ : public Module
{
private:
ExtBan::Acting extban;
diff --git a/src/modules/m_alltime.cpp b/src/modules/m_alltime.cpp
index 398fceb7d..4bb413181 100644
--- a/src/modules/m_alltime.cpp
+++ b/src/modules/m_alltime.cpp
@@ -52,7 +52,8 @@ class CommandAlltime : public Command
}
};
-class Modulealltime : public Module
+class Modulealltime final
+ : public Module
{
private:
CommandAlltime mycommand;
diff --git a/src/modules/m_anticaps.cpp b/src/modules/m_anticaps.cpp
index 31fd29408..7ce6e9743 100644
--- a/src/modules/m_anticaps.cpp
+++ b/src/modules/m_anticaps.cpp
@@ -150,7 +150,8 @@ class AntiCapsMode : public ParamMode<AntiCapsMode, SimpleExtItem<AntiCapsSettin
}
};
-class ModuleAntiCaps : public Module
+class ModuleAntiCaps final
+ : public Module
{
private:
CheckExemption::EventProvider exemptionprov;
diff --git a/src/modules/m_autoop.cpp b/src/modules/m_autoop.cpp
index fddbd52b9..12ca4f3d6 100644
--- a/src/modules/m_autoop.cpp
+++ b/src/modules/m_autoop.cpp
@@ -83,7 +83,8 @@ class AutoOpList : public ListModeBase
}
};
-class ModuleAutoOp : public Module
+class ModuleAutoOp final
+ : public Module
{
AutoOpList mh;
diff --git a/src/modules/m_banredirect.cpp b/src/modules/m_banredirect.cpp
index 248b98aef..bd6397c73 100644
--- a/src/modules/m_banredirect.cpp
+++ b/src/modules/m_banredirect.cpp
@@ -245,7 +245,8 @@ class BanRedirect : public ModeWatcher
}
};
-class ModuleBanRedirect : public Module
+class ModuleBanRedirect final
+ : public Module
{
private:
BanRedirect re;
diff --git a/src/modules/m_bcrypt.cpp b/src/modules/m_bcrypt.cpp
index 34bc6e71d..a985d2381 100644
--- a/src/modules/m_bcrypt.cpp
+++ b/src/modules/m_bcrypt.cpp
@@ -72,7 +72,8 @@ class BCryptProvider : public HashProvider
}
};
-class ModuleBCrypt : public Module
+class ModuleBCrypt final
+ : public Module
{
private:
BCryptProvider bcrypt;
diff --git a/src/modules/m_blockamsg.cpp b/src/modules/m_blockamsg.cpp
index e71c5c80d..c8a587455 100644
--- a/src/modules/m_blockamsg.cpp
+++ b/src/modules/m_blockamsg.cpp
@@ -48,7 +48,8 @@ class BlockedMessage
}
};
-class ModuleBlockAmsg : public Module
+class ModuleBlockAmsg final
+ : public Module
{
unsigned long ForgetDelay;
BlockAction action;
diff --git a/src/modules/m_blockcolor.cpp b/src/modules/m_blockcolor.cpp
index a38b8a004..b05c050a2 100644
--- a/src/modules/m_blockcolor.cpp
+++ b/src/modules/m_blockcolor.cpp
@@ -31,7 +31,8 @@
#include "modules/exemption.h"
#include "modules/extban.h"
-class ModuleBlockColor : public Module
+class ModuleBlockColor final
+ : public Module
{
private:
ExtBan::Acting extban;
diff --git a/src/modules/m_cap.cpp b/src/modules/m_cap.cpp
index 8ffc98890..741806414 100644
--- a/src/modules/m_cap.cpp
+++ b/src/modules/m_cap.cpp
@@ -469,7 +469,8 @@ class PoisonCap : public Cap::Capability
}
};
-class ModuleCap : public Module
+class ModuleCap final
+ : public Module
{
private:
CommandCap cmd;
diff --git a/src/modules/m_cban.cpp b/src/modules/m_cban.cpp
index 0afe73309..9a8779e26 100644
--- a/src/modules/m_cban.cpp
+++ b/src/modules/m_cban.cpp
@@ -150,7 +150,9 @@ class CommandCBan : public Command
}
};
-class ModuleCBan : public Module, public Stats::EventListener
+class ModuleCBan final
+ : public Module
+ , public Stats::EventListener
{
CommandCBan mycommand;
CBanFactory f;
diff --git a/src/modules/m_chancreate.cpp b/src/modules/m_chancreate.cpp
index 4dd5d5ef8..d28c7fa69 100644
--- a/src/modules/m_chancreate.cpp
+++ b/src/modules/m_chancreate.cpp
@@ -25,7 +25,8 @@
#include "inspircd.h"
-class ModuleChanCreate : public Module
+class ModuleChanCreate final
+ : public Module
{
public:
ModuleChanCreate()
diff --git a/src/modules/m_chanfilter.cpp b/src/modules/m_chanfilter.cpp
index 6310a4eaf..42fc015fc 100644
--- a/src/modules/m_chanfilter.cpp
+++ b/src/modules/m_chanfilter.cpp
@@ -58,7 +58,8 @@ class ChanFilter : public ListModeBase
}
};
-class ModuleChanFilter : public Module
+class ModuleChanFilter final
+ : public Module
{
CheckExemption::EventProvider exemptionprov;
ChanFilter cf;
diff --git a/src/modules/m_chanlog.cpp b/src/modules/m_chanlog.cpp
index 8096ec133..84cea2d0d 100644
--- a/src/modules/m_chanlog.cpp
+++ b/src/modules/m_chanlog.cpp
@@ -27,7 +27,8 @@
#include "inspircd.h"
-class ModuleChanLog : public Module
+class ModuleChanLog final
+ : public Module
{
/*
* Multimap so people can redirect a snomask to multiple channels.
diff --git a/src/modules/m_channames.cpp b/src/modules/m_channames.cpp
index eb1acc53e..aa729440f 100644
--- a/src/modules/m_channames.cpp
+++ b/src/modules/m_channames.cpp
@@ -46,7 +46,8 @@ bool NewIsChannelHandler::Call(const std::string& channame)
return true;
}
-class ModuleChannelNames : public Module
+class ModuleChannelNames final
+ : public Module
{
std::function<bool(const std::string&)> rememberer;
bool badchan = false;
diff --git a/src/modules/m_check.cpp b/src/modules/m_check.cpp
index e833f0bd9..6ba1e3138 100644
--- a/src/modules/m_check.cpp
+++ b/src/modules/m_check.cpp
@@ -325,7 +325,8 @@ class CommandCheck : public Command
}
};
-class ModuleCheck : public Module
+class ModuleCheck final
+ : public Module
{
private:
CommandCheck cmd;
diff --git a/src/modules/m_chghost.cpp b/src/modules/m_chghost.cpp
index c8f5546e0..49f203d2b 100644
--- a/src/modules/m_chghost.cpp
+++ b/src/modules/m_chghost.cpp
@@ -82,7 +82,8 @@ class CommandChghost : public Command
}
};
-class ModuleChgHost : public Module
+class ModuleChgHost final
+ : public Module
{
private:
CommandChghost cmd;
diff --git a/src/modules/m_chgident.cpp b/src/modules/m_chgident.cpp
index a312c7ae3..51d8fe543 100644
--- a/src/modules/m_chgident.cpp
+++ b/src/modules/m_chgident.cpp
@@ -78,7 +78,8 @@ class CommandChgident : public Command
}
};
-class ModuleChgIdent : public Module
+class ModuleChgIdent final
+ : public Module
{
private:
CommandChgident cmd;
diff --git a/src/modules/m_chgname.cpp b/src/modules/m_chgname.cpp
index b780b2847..3930565c5 100644
--- a/src/modules/m_chgname.cpp
+++ b/src/modules/m_chgname.cpp
@@ -74,7 +74,8 @@ class CommandChgname : public Command
}
};
-class ModuleChgName : public Module
+class ModuleChgName final
+ : public Module
{
private:
CommandChgname cmd;
diff --git a/src/modules/m_clearchan.cpp b/src/modules/m_clearchan.cpp
index b8710a56a..b02ec9f76 100644
--- a/src/modules/m_clearchan.cpp
+++ b/src/modules/m_clearchan.cpp
@@ -142,7 +142,8 @@ class CommandClearChan : public Command
}
};
-class ModuleClearChan : public Module
+class ModuleClearChan final
+ : public Module
{
private:
CommandClearChan cmd;
diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp
index cfea84813..3731e2f89 100644
--- a/src/modules/m_cloaking.cpp
+++ b/src/modules/m_cloaking.cpp
@@ -203,7 +203,8 @@ class CommandCloak : public Command
CmdResult Handle(User* user, const Params& parameters) override;
};
-class ModuleCloaking : public Module
+class ModuleCloaking final
+ : public Module
{
public:
CloakUser cu;
diff --git a/src/modules/m_conn_join.cpp b/src/modules/m_conn_join.cpp
index 7370cc568..d6fb83d30 100644
--- a/src/modules/m_conn_join.cpp
+++ b/src/modules/m_conn_join.cpp
@@ -64,7 +64,8 @@ class JoinTimer : public Timer
}
};
-class ModuleConnJoin : public Module
+class ModuleConnJoin final
+ : public Module
{
private:
SimpleExtItem<JoinTimer> ext;
diff --git a/src/modules/m_conn_umodes.cpp b/src/modules/m_conn_umodes.cpp
index bdb65c142..a0df0ae8a 100644
--- a/src/modules/m_conn_umodes.cpp
+++ b/src/modules/m_conn_umodes.cpp
@@ -23,7 +23,8 @@
#include "inspircd.h"
-class ModuleModesOnConnect : public Module
+class ModuleModesOnConnect final
+ : public Module
{
public:
ModuleModesOnConnect()
diff --git a/src/modules/m_conn_waitpong.cpp b/src/modules/m_conn_waitpong.cpp
index 62a42e0e1..1a92a7d89 100644
--- a/src/modules/m_conn_waitpong.cpp
+++ b/src/modules/m_conn_waitpong.cpp
@@ -26,7 +26,8 @@
#include "inspircd.h"
-class ModuleWaitPong : public Module
+class ModuleWaitPong final
+ : public Module
{
bool sendsnotice;
bool killonbadreply;
diff --git a/src/modules/m_connflood.cpp b/src/modules/m_connflood.cpp
index 0cb944e04..b040880e9 100644
--- a/src/modules/m_connflood.cpp
+++ b/src/modules/m_connflood.cpp
@@ -25,7 +25,8 @@
#include "inspircd.h"
-class ModuleConnFlood : public Module
+class ModuleConnFlood final
+ : public Module
{
private:
unsigned long seconds;
diff --git a/src/modules/m_customprefix.cpp b/src/modules/m_customprefix.cpp
index f9b88ad9a..c325b8f71 100644
--- a/src/modules/m_customprefix.cpp
+++ b/src/modules/m_customprefix.cpp
@@ -42,7 +42,8 @@ class CustomPrefixMode : public PrefixMode
}
};
-class ModuleCustomPrefix : public Module
+class ModuleCustomPrefix final
+ : public Module
{
private:
std::vector<CustomPrefixMode*> modes;
diff --git a/src/modules/m_customtitle.cpp b/src/modules/m_customtitle.cpp
index f964317e3..9f0d09c56 100644
--- a/src/modules/m_customtitle.cpp
+++ b/src/modules/m_customtitle.cpp
@@ -95,7 +95,9 @@ class CommandTitle : public Command
};
-class ModuleCustomTitle : public Module, public Whois::LineEventListener
+class ModuleCustomTitle final
+ : public Module
+ , public Whois::LineEventListener
{
private:
CommandTitle cmd;
diff --git a/src/modules/m_cycle.cpp b/src/modules/m_cycle.cpp
index e54034732..0c4e99892 100644
--- a/src/modules/m_cycle.cpp
+++ b/src/modules/m_cycle.cpp
@@ -78,7 +78,8 @@ class CommandCycle : public SplitCommand
}
};
-class ModuleCycle : public Module
+class ModuleCycle final
+ : public Module
{
private:
CommandCycle cmd;
diff --git a/src/modules/m_dccallow.cpp b/src/modules/m_dccallow.cpp
index 3b7119cca..18aa34c10 100644
--- a/src/modules/m_dccallow.cpp
+++ b/src/modules/m_dccallow.cpp
@@ -370,7 +370,8 @@ class CommandDccallow : public Command
};
-class ModuleDCCAllow : public Module
+class ModuleDCCAllow final
+ : public Module
{
private:
DCCAllowExt ext;
diff --git a/src/modules/m_delayjoin.cpp b/src/modules/m_delayjoin.cpp
index 58c12aeb0..378935d68 100644
--- a/src/modules/m_delayjoin.cpp
+++ b/src/modules/m_delayjoin.cpp
@@ -97,7 +97,7 @@ class JoinHook : public ClientProtocol::EventHook
}
-class ModuleDelayJoin
+class ModuleDelayJoin final
: public Module
, public CTCTags::EventListener
, public Names::EventListener
diff --git a/src/modules/m_denychans.cpp b/src/modules/m_denychans.cpp
index 9e7454c0e..8787f2cae 100644
--- a/src/modules/m_denychans.cpp
+++ b/src/modules/m_denychans.cpp
@@ -52,7 +52,8 @@ struct BadChannel
typedef std::vector<BadChannel> BadChannels;
typedef std::vector<std::string> GoodChannels;
-class ModuleDenyChannels : public Module
+class ModuleDenyChannels final
+ : public Module
{
private:
BadChannels badchannels;
diff --git a/src/modules/m_disable.cpp b/src/modules/m_disable.cpp
index 8f355e84b..fc9ae90e9 100644
--- a/src/modules/m_disable.cpp
+++ b/src/modules/m_disable.cpp
@@ -32,7 +32,8 @@ typedef std::vector<std::string> CommandList;
// Holds whether modes are disabled or not.
typedef std::bitset<64> ModeStatus;
-class ModuleDisable : public Module
+class ModuleDisable final
+ : public Module
{
private:
CommandList commands;
diff --git a/src/modules/m_dnsbl.cpp b/src/modules/m_dnsbl.cpp
index f61998981..9c52132b2 100644
--- a/src/modules/m_dnsbl.cpp
+++ b/src/modules/m_dnsbl.cpp
@@ -372,7 +372,9 @@ class DNSBLResolver : public DNS::Request
typedef std::vector<std::shared_ptr<DNSBLEntry>> DNSBLConfList;
-class ModuleDNSBL : public Module, public Stats::EventListener
+class ModuleDNSBL final
+ : public Module
+ , public Stats::EventListener
{
DNSBLConfList DNSBLConfEntries;
dynamic_reference<DNS::Manager> DNS;
diff --git a/src/modules/m_exemptchanops.cpp b/src/modules/m_exemptchanops.cpp
index 84776bbf5..bc0424cc4 100644
--- a/src/modules/m_exemptchanops.cpp
+++ b/src/modules/m_exemptchanops.cpp
@@ -152,7 +152,8 @@ class ExemptHandler : public CheckExemption::EventListener
}
};
-class ModuleExemptChanOps : public Module
+class ModuleExemptChanOps final
+ : public Module
{
private:
ExemptHandler eh;
diff --git a/src/modules/m_globalload.cpp b/src/modules/m_globalload.cpp
index 730c1d8c8..04b3ecd84 100644
--- a/src/modules/m_globalload.cpp
+++ b/src/modules/m_globalload.cpp
@@ -157,7 +157,8 @@ class CommandGReloadModule : public Command
}
};
-class ModuleGlobalLoad : public Module
+class ModuleGlobalLoad final
+ : public Module
{
private:
CommandGLoadModule cmdgloadmodule;
diff --git a/src/modules/m_globops.cpp b/src/modules/m_globops.cpp
index 6354ff785..68a90f610 100644
--- a/src/modules/m_globops.cpp
+++ b/src/modules/m_globops.cpp
@@ -50,7 +50,8 @@ class CommandGlobops : public Command
}
};
-class ModuleGlobops : public Module
+class ModuleGlobops final
+ : public Module
{
private:
CommandGlobops cmd;
diff --git a/src/modules/m_haproxy.cpp b/src/modules/m_haproxy.cpp
index 68c99eee1..02b80ac50 100644
--- a/src/modules/m_haproxy.cpp
+++ b/src/modules/m_haproxy.cpp
@@ -425,7 +425,8 @@ void HAProxyHookProvider::OnAccept(StreamSocket* sock, irc::sockets::sockaddrs*
new HAProxyHook(shared_from_this(), sock, sslapi);
}
-class ModuleHAProxy : public Module
+class ModuleHAProxy final
+ : public Module
{
private:
std::shared_ptr<HAProxyHookProvider> hookprov;
diff --git a/src/modules/m_hidechans.cpp b/src/modules/m_hidechans.cpp
index ec5df079a..28b41e180 100644
--- a/src/modules/m_hidechans.cpp
+++ b/src/modules/m_hidechans.cpp
@@ -38,7 +38,9 @@ class HideChans final
}
};
-class ModuleHideChans : public Module, public Whois::LineEventListener
+class ModuleHideChans final
+ : public Module
+ , public Whois::LineEventListener
{
private:
bool AffectsOpers;
diff --git a/src/modules/m_hidelist.cpp b/src/modules/m_hidelist.cpp
index aa70787be..035a74d14 100644
--- a/src/modules/m_hidelist.cpp
+++ b/src/modules/m_hidelist.cpp
@@ -53,7 +53,8 @@ class ListWatcher : public ModeWatcher
}
};
-class ModuleHideList : public Module
+class ModuleHideList final
+ : public Module
{
std::vector<ListWatcher*> watchers;
diff --git a/src/modules/m_hidemode.cpp b/src/modules/m_hidemode.cpp
index ef53d99c8..1de708049 100644
--- a/src/modules/m_hidemode.cpp
+++ b/src/modules/m_hidemode.cpp
@@ -181,7 +181,8 @@ class ModeHook : public ClientProtocol::EventHook
};
}
-class ModuleHideMode : public Module
+class ModuleHideMode final
+ : public Module
{
private:
ModeHook modehook;
diff --git a/src/modules/m_hostchange.cpp b/src/modules/m_hostchange.cpp
index 53570a769..250b76a90 100644
--- a/src/modules/m_hostchange.cpp
+++ b/src/modules/m_hostchange.cpp
@@ -122,7 +122,8 @@ class HostRule
typedef std::vector<HostRule> HostRules;
-class ModuleHostChange : public Module
+class ModuleHostChange final
+ : public Module
{
private:
std::bitset<UCHAR_MAX + 1> hostmap;
diff --git a/src/modules/m_hostcycle.cpp b/src/modules/m_hostcycle.cpp
index d17f39702..f30b51993 100644
--- a/src/modules/m_hostcycle.cpp
+++ b/src/modules/m_hostcycle.cpp
@@ -21,7 +21,8 @@
#include "inspircd.h"
#include "modules/cap.h"
-class ModuleHostCycle : public Module
+class ModuleHostCycle final
+ : public Module
{
Cap::Reference chghostcap;
const std::string quitmsghost;
diff --git a/src/modules/m_httpd.cpp b/src/modules/m_httpd.cpp
index c6afbd247..3ead3cd28 100644
--- a/src/modules/m_httpd.cpp
+++ b/src/modules/m_httpd.cpp
@@ -402,7 +402,8 @@ class HTTPdAPIImpl : public HTTPdAPIBase
}
};
-class ModuleHttpServer : public Module
+class ModuleHttpServer final
+ : public Module
{
private:
HTTPdAPIImpl APIImpl;
diff --git a/src/modules/m_httpd_acl.cpp b/src/modules/m_httpd_acl.cpp
index 7af591322..e2b0958f0 100644
--- a/src/modules/m_httpd_acl.cpp
+++ b/src/modules/m_httpd_acl.cpp
@@ -41,7 +41,9 @@ class HTTPACL
blacklist(set_blacklist) { }
};
-class ModuleHTTPAccessList : public Module, public HTTPACLEventListener
+class ModuleHTTPAccessList final
+ : public Module
+ , public HTTPACLEventListener
{
private:
std::vector<HTTPACL> acl_list;
diff --git a/src/modules/m_httpd_config.cpp b/src/modules/m_httpd_config.cpp
index 61abbadfa..f605d481e 100644
--- a/src/modules/m_httpd_config.cpp
+++ b/src/modules/m_httpd_config.cpp
@@ -25,7 +25,9 @@
#include "inspircd.h"
#include "modules/httpd.h"
-class ModuleHttpConfig : public Module, public HTTPRequestEventListener
+class ModuleHttpConfig final
+ : public Module
+ , public HTTPRequestEventListener
{
private:
HTTPdAPI API;
diff --git a/src/modules/m_httpd_stats.cpp b/src/modules/m_httpd_stats.cpp
index 6165c75ae..4e787ff7e 100644
--- a/src/modules/m_httpd_stats.cpp
+++ b/src/modules/m_httpd_stats.cpp
@@ -384,7 +384,9 @@ namespace Stats
}
}
-class ModuleHttpStats : public Module, public HTTPRequestEventListener
+class ModuleHttpStats final
+ : public Module
+ , public HTTPRequestEventListener
{
private:
HTTPdAPI API;
diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp
index 489051b36..3ceeb88c9 100644
--- a/src/modules/m_ident.cpp
+++ b/src/modules/m_ident.cpp
@@ -271,7 +271,8 @@ class IdentRequestSocket : public EventHandler
}
};
-class ModuleIdent : public Module
+class ModuleIdent final
+ : public Module
{
private:
unsigned long timeout;
diff --git a/src/modules/m_ircv3_accounttag.cpp b/src/modules/m_ircv3_accounttag.cpp
index 5e47b64b0..d5c179e74 100644
--- a/src/modules/m_ircv3_accounttag.cpp
+++ b/src/modules/m_ircv3_accounttag.cpp
@@ -44,7 +44,8 @@ class AccountTag : public IRCv3::CapTag<AccountTag>
}
};
-class ModuleIRCv3AccountTag : public Module
+class ModuleIRCv3AccountTag final
+ : public Module
{
private:
AccountTag tag;
diff --git a/src/modules/m_ircv3_batch.cpp b/src/modules/m_ircv3_batch.cpp
index 7d9cb24ba..b8ee2c902 100644
--- a/src/modules/m_ircv3_batch.cpp
+++ b/src/modules/m_ircv3_batch.cpp
@@ -178,7 +178,8 @@ class IRCv3::Batch::ManagerImpl : public Manager
}
};
-class ModuleIRCv3Batch : public Module
+class ModuleIRCv3Batch final
+ : public Module
{
private:
IRCv3::Batch::ManagerImpl manager;
diff --git a/src/modules/m_ircv3_capnotify.cpp b/src/modules/m_ircv3_capnotify.cpp
index ba7bca74e..f0994ec46 100644
--- a/src/modules/m_ircv3_capnotify.cpp
+++ b/src/modules/m_ircv3_capnotify.cpp
@@ -80,7 +80,10 @@ class CapNotifyValueMessage : public Cap::MessageBase
}
};
-class ModuleIRCv3CapNotify : public Module, public Cap::EventListener, public ReloadModule::EventListener
+class ModuleIRCv3CapNotify final
+ : public Module
+ , public Cap::EventListener
+ , public ReloadModule::EventListener
{
CapNotify capnotify;
std::string reloadedmod;
diff --git a/src/modules/m_ircv3_chghost.cpp b/src/modules/m_ircv3_chghost.cpp
index 3cc166cc7..ae849855e 100644
--- a/src/modules/m_ircv3_chghost.cpp
+++ b/src/modules/m_ircv3_chghost.cpp
@@ -22,7 +22,8 @@
#include "modules/cap.h"
#include "modules/ircv3.h"
-class ModuleIRCv3ChgHost : public Module
+class ModuleIRCv3ChgHost final
+ : public Module
{
Cap::Capability cap;
ClientProtocol::EventProvider protoevprov;
diff --git a/src/modules/m_ircv3_invitenotify.cpp b/src/modules/m_ircv3_invitenotify.cpp
index fbe298778..9076599fa 100644
--- a/src/modules/m_ircv3_invitenotify.cpp
+++ b/src/modules/m_ircv3_invitenotify.cpp
@@ -21,7 +21,8 @@
#include "inspircd.h"
#include "modules/cap.h"
-class ModuleIRCv3InviteNotify : public Module
+class ModuleIRCv3InviteNotify final
+ : public Module
{
Cap::Capability cap;
diff --git a/src/modules/m_ircv3_labeledresponse.cpp b/src/modules/m_ircv3_labeledresponse.cpp
index 16719c8b8..514705731 100644
--- a/src/modules/m_ircv3_labeledresponse.cpp
+++ b/src/modules/m_ircv3_labeledresponse.cpp
@@ -64,7 +64,8 @@ class LabeledResponseTag : public ClientProtocol::MessageTagProvider
}
};
-class ModuleIRCv3LabeledResponse : public Module
+class ModuleIRCv3LabeledResponse final
+ : public Module
{
private:
Cap::Capability cap;
diff --git a/src/modules/m_ircv3_servertime.cpp b/src/modules/m_ircv3_servertime.cpp
index 568842cff..46e404ee0 100644
--- a/src/modules/m_ircv3_servertime.cpp
+++ b/src/modules/m_ircv3_servertime.cpp
@@ -71,7 +71,8 @@ class ServerTimeTag
};
-class ModuleIRCv3ServerTime : public Module
+class ModuleIRCv3ServerTime final
+ : public Module
{
private:
ServerTimeTag tag;
diff --git a/src/modules/m_ircv3_sts.cpp b/src/modules/m_ircv3_sts.cpp
index 8f2c6be5e..b46bc1168 100644
--- a/src/modules/m_ircv3_sts.cpp
+++ b/src/modules/m_ircv3_sts.cpp
@@ -124,7 +124,8 @@ class STSCap : public Cap::Capability
}
};
-class ModuleIRCv3STS : public Module
+class ModuleIRCv3STS final
+ : public Module
{
private:
STSCap cap;
diff --git a/src/modules/m_kicknorejoin.cpp b/src/modules/m_kicknorejoin.cpp
index 25b11396a..32a189b40 100644
--- a/src/modules/m_kicknorejoin.cpp
+++ b/src/modules/m_kicknorejoin.cpp
@@ -124,7 +124,8 @@ class KickRejoin : public ParamMode<KickRejoin, SimpleExtItem<KickRejoinData> >
}
};
-class ModuleKickNoRejoin : public Module
+class ModuleKickNoRejoin final
+ : public Module
{
KickRejoin kr;
Invite::API invapi;
diff --git a/src/modules/m_knock.cpp b/src/modules/m_knock.cpp
index a4e8eacd3..80bb474db 100644
--- a/src/modules/m_knock.cpp
+++ b/src/modules/m_knock.cpp
@@ -124,7 +124,8 @@ class CommandKnock : public Command
}
};
-class ModuleKnock : public Module
+class ModuleKnock final
+ : public Module
{
SimpleChannelMode kn;
CommandKnock cmd;
diff --git a/src/modules/m_ldapauth.cpp b/src/modules/m_ldapauth.cpp
index 9b722db64..28165cb20 100644
--- a/src/modules/m_ldapauth.cpp
+++ b/src/modules/m_ldapauth.cpp
@@ -296,7 +296,8 @@ class AdminBindInterface : public LDAPInterface
}
};
-class ModuleLDAPAuth : public Module
+class ModuleLDAPAuth final
+ : public Module
{
dynamic_reference<LDAPProvider> LDAP;
BoolExtItem ldapAuthed;
diff --git a/src/modules/m_ldapoper.cpp b/src/modules/m_ldapoper.cpp
index 68577155f..b3cf3f084 100644
--- a/src/modules/m_ldapoper.cpp
+++ b/src/modules/m_ldapoper.cpp
@@ -184,7 +184,8 @@ class AdminBindInterface : public LDAPInterface
}
};
-class ModuleLDAPOper : public Module
+class ModuleLDAPOper final
+ : public Module
{
dynamic_reference<LDAPProvider> LDAP;
std::string base;
diff --git a/src/modules/m_maphide.cpp b/src/modules/m_maphide.cpp
index 90d9b9647..a45dffa81 100644
--- a/src/modules/m_maphide.cpp
+++ b/src/modules/m_maphide.cpp
@@ -24,7 +24,8 @@
#include "inspircd.h"
-class ModuleMapHide : public Module
+class ModuleMapHide final
+ : public Module
{
private:
std::string url;
diff --git a/src/modules/m_mlock.cpp b/src/modules/m_mlock.cpp
index 490ba79f1..713c6479e 100644
--- a/src/modules/m_mlock.cpp
+++ b/src/modules/m_mlock.cpp
@@ -28,7 +28,8 @@ enum
ERR_MLOCKRESTRICTED = 742
};
-class ModuleMLock : public Module
+class ModuleMLock final
+ : public Module
{
StringExtItem mlock;
diff --git a/src/modules/m_namedmodes.cpp b/src/modules/m_namedmodes.cpp
index a650e8e71..daa6aa468 100644
--- a/src/modules/m_namedmodes.cpp
+++ b/src/modules/m_namedmodes.cpp
@@ -123,7 +123,8 @@ class DummyZ : public ModeHandler
}
};
-class ModuleNamedModes : public Module
+class ModuleNamedModes final
+ : public Module
{
private:
CommandProp cmd;
diff --git a/src/modules/m_nationalchars.cpp b/src/modules/m_nationalchars.cpp
index c941c8e89..2cb2ede4e 100644
--- a/src/modules/m_nationalchars.cpp
+++ b/src/modules/m_nationalchars.cpp
@@ -218,7 +218,8 @@ bool lwbNickHandler::Call(const std::string& nick)
return (p < ServerInstance->Config->Limits.MaxNick);
}
-class ModuleNationalChars : public Module
+class ModuleNationalChars final
+ : public Module
{
std::string charset;
unsigned char m_additional[256], m_additionalUp[256], m_lower[256], m_upper[256];
diff --git a/src/modules/m_nickflood.cpp b/src/modules/m_nickflood.cpp
index 83ff988dc..94b4a254b 100644
--- a/src/modules/m_nickflood.cpp
+++ b/src/modules/m_nickflood.cpp
@@ -122,7 +122,8 @@ class NickFlood : public ParamMode<NickFlood, SimpleExtItem<nickfloodsettings> >
}
};
-class ModuleNickFlood : public Module
+class ModuleNickFlood final
+ : public Module
{
private:
CheckExemption::EventProvider exemptionprov;
diff --git a/src/modules/m_nicklock.cpp b/src/modules/m_nicklock.cpp
index 48600a987..ab05d5c40 100644
--- a/src/modules/m_nicklock.cpp
+++ b/src/modules/m_nicklock.cpp
@@ -138,7 +138,8 @@ class CommandNickunlock : public Command
}
};
-class ModuleNickLock : public Module
+class ModuleNickLock final
+ : public Module
{
private:
BoolExtItem locked;
diff --git a/src/modules/m_noctcp.cpp b/src/modules/m_noctcp.cpp
index ccdad27de..4909f6c65 100644
--- a/src/modules/m_noctcp.cpp
+++ b/src/modules/m_noctcp.cpp
@@ -30,7 +30,8 @@
#include "modules/exemption.h"
#include "modules/extban.h"
-class ModuleNoCTCP : public Module
+class ModuleNoCTCP final
+ : public Module
{
private:
CheckExemption::EventProvider exemptionprov;
diff --git a/src/modules/m_nokicks.cpp b/src/modules/m_nokicks.cpp
index 36da2e166..11c3245b0 100644
--- a/src/modules/m_nokicks.cpp
+++ b/src/modules/m_nokicks.cpp
@@ -28,7 +28,8 @@
#include "inspircd.h"
#include "modules/extban.h"
-class ModuleNoKicks : public Module
+class ModuleNoKicks final
+ : public Module
{
private:
ExtBan::Acting extban;
diff --git a/src/modules/m_nonicks.cpp b/src/modules/m_nonicks.cpp
index bf16b7f14..a82fd8365 100644
--- a/src/modules/m_nonicks.cpp
+++ b/src/modules/m_nonicks.cpp
@@ -29,7 +29,8 @@
#include "modules/exemption.h"
#include "modules/extban.h"
-class ModuleNoNickChange : public Module
+class ModuleNoNickChange final
+ : public Module
{
private:
CheckExemption::EventProvider exemptionprov;
diff --git a/src/modules/m_nonotice.cpp b/src/modules/m_nonotice.cpp
index b7364abfa..53fbc86c4 100644
--- a/src/modules/m_nonotice.cpp
+++ b/src/modules/m_nonotice.cpp
@@ -29,7 +29,8 @@
#include "modules/exemption.h"
#include "modules/extban.h"
-class ModuleNoNotice : public Module
+class ModuleNoNotice final
+ : public Module
{
private:
ExtBan::Acting extban;
diff --git a/src/modules/m_nopartmsg.cpp b/src/modules/m_nopartmsg.cpp
index e1afc5739..e756d6b80 100644
--- a/src/modules/m_nopartmsg.cpp
+++ b/src/modules/m_nopartmsg.cpp
@@ -26,7 +26,8 @@
#include "inspircd.h"
#include "modules/extban.h"
-class ModulePartMsgBan : public Module
+class ModulePartMsgBan final
+ : public Module
{
private:
ExtBan::Acting extban;
diff --git a/src/modules/m_ojoin.cpp b/src/modules/m_ojoin.cpp
index 3238db3eb..9de5b5645 100644
--- a/src/modules/m_ojoin.cpp
+++ b/src/modules/m_ojoin.cpp
@@ -103,7 +103,8 @@ class NetworkPrefix : public PrefixMode
}
};
-class ModuleOjoin : public Module
+class ModuleOjoin final
+ : public Module
{
private:
NetworkPrefix np;
diff --git a/src/modules/m_operjoin.cpp b/src/modules/m_operjoin.cpp
index 0f5cf16ac..fc7c87901 100644
--- a/src/modules/m_operjoin.cpp
+++ b/src/modules/m_operjoin.cpp
@@ -27,7 +27,8 @@
#include "inspircd.h"
-class ModuleOperjoin : public Module
+class ModuleOperjoin final
+ : public Module
{
private:
std::vector<std::string> operChans;
diff --git a/src/modules/m_operlevels.cpp b/src/modules/m_operlevels.cpp
index 090341b74..2ea8e150e 100644
--- a/src/modules/m_operlevels.cpp
+++ b/src/modules/m_operlevels.cpp
@@ -27,7 +27,8 @@
#include "inspircd.h"
-class ModuleOperLevels : public Module
+class ModuleOperLevels final
+ : public Module
{
public:
ModuleOperLevels()
diff --git a/src/modules/m_opermodes.cpp b/src/modules/m_opermodes.cpp
index 102f21ad0..52fe8a207 100644
--- a/src/modules/m_opermodes.cpp
+++ b/src/modules/m_opermodes.cpp
@@ -26,7 +26,8 @@
#include "inspircd.h"
-class ModuleModesOnOper : public Module
+class ModuleModesOnOper final
+ : public Module
{
public:
ModuleModesOnOper()
diff --git a/src/modules/m_opermotd.cpp b/src/modules/m_opermotd.cpp
index 36472abb4..5a0065c7f 100644
--- a/src/modules/m_opermotd.cpp
+++ b/src/modules/m_opermotd.cpp
@@ -78,7 +78,8 @@ class CommandOpermotd : public Command
}
};
-class ModuleOpermotd : public Module
+class ModuleOpermotd final
+ : public Module
{
private:
CommandOpermotd cmd;
diff --git a/src/modules/m_operprefix.cpp b/src/modules/m_operprefix.cpp
index e32eb52b7..acf943c86 100644
--- a/src/modules/m_operprefix.cpp
+++ b/src/modules/m_operprefix.cpp
@@ -52,7 +52,8 @@ class HideOperWatcher : public ModeWatcher
void AfterMode(User* source, User* dest, Channel* channel, const Modes::Change& change) override;
};
-class ModuleOperPrefixMode : public Module
+class ModuleOperPrefixMode final
+ : public Module
{
private:
OperPrefixMode opm;
diff --git a/src/modules/m_passforward.cpp b/src/modules/m_passforward.cpp
index f6af38201..5e150e40b 100644
--- a/src/modules/m_passforward.cpp
+++ b/src/modules/m_passforward.cpp
@@ -26,7 +26,8 @@
#include "inspircd.h"
#include "modules/account.h"
-class ModulePassForward : public Module
+class ModulePassForward final
+ : public Module
{
std::string nickrequired, forwardmsg, forwardcmd;
diff --git a/src/modules/m_password_hash.cpp b/src/modules/m_password_hash.cpp
index dc6cb21ae..7388f00f3 100644
--- a/src/modules/m_password_hash.cpp
+++ b/src/modules/m_password_hash.cpp
@@ -83,7 +83,8 @@ class CommandMkpasswd : public Command
}
};
-class ModulePasswordHash : public Module
+class ModulePasswordHash final
+ : public Module
{
private:
CommandMkpasswd cmd;
diff --git a/src/modules/m_randquote.cpp b/src/modules/m_randquote.cpp
index cdd597168..80a76b6ea 100644
--- a/src/modules/m_randquote.cpp
+++ b/src/modules/m_randquote.cpp
@@ -24,7 +24,8 @@
#include "inspircd.h"
-class ModuleRandQuote : public Module
+class ModuleRandQuote final
+ : public Module
{
private:
std::string prefix;
diff --git a/src/modules/m_redirect.cpp b/src/modules/m_redirect.cpp
index 485cff5e1..72ad5c3c5 100644
--- a/src/modules/m_redirect.cpp
+++ b/src/modules/m_redirect.cpp
@@ -79,7 +79,8 @@ class Redirect : public ParamMode<Redirect, StringExtItem>
}
};
-class ModuleRedirect : public Module
+class ModuleRedirect final
+ : public Module
{
private:
Redirect re;
diff --git a/src/modules/m_regex_glob.cpp b/src/modules/m_regex_glob.cpp
index 7e4b5bbb3..a0b25e193 100644
--- a/src/modules/m_regex_glob.cpp
+++ b/src/modules/m_regex_glob.cpp
@@ -41,7 +41,8 @@ class GlobPattern final
}
};
-class ModuleRegexGlob : public Module
+class ModuleRegexGlob final
+ : public Module
{
private:
Regex::SimpleEngine<GlobPattern> regex;
diff --git a/src/modules/m_regex_stdlib.cpp b/src/modules/m_regex_stdlib.cpp
index 2f758c018..c1c181dc6 100644
--- a/src/modules/m_regex_stdlib.cpp
+++ b/src/modules/m_regex_stdlib.cpp
@@ -73,7 +73,8 @@ class StdLibEngine final
}
};
-class ModuleRegexStdLib : public Module
+class ModuleRegexStdLib final
+ : public Module
{
private:
StdLibEngine regex;
diff --git a/src/modules/m_repeat.cpp b/src/modules/m_repeat.cpp
index 2b1a82eec..10c5c1206 100644
--- a/src/modules/m_repeat.cpp
+++ b/src/modules/m_repeat.cpp
@@ -352,7 +352,8 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> >
}
};
-class RepeatModule : public Module
+class RepeatModule final
+ : public Module
{
CheckExemption::EventProvider exemptionprov;
RepeatMode rm;
diff --git a/src/modules/m_restrictchans.cpp b/src/modules/m_restrictchans.cpp
index b6e78ba40..ed47dc31b 100644
--- a/src/modules/m_restrictchans.cpp
+++ b/src/modules/m_restrictchans.cpp
@@ -28,7 +28,8 @@
typedef insp::flat_set<std::string, irc::insensitive_swo> AllowChans;
-class ModuleRestrictChans : public Module
+class ModuleRestrictChans final
+ : public Module
{
private:
AllowChans allowchans;
diff --git a/src/modules/m_rmode.cpp b/src/modules/m_rmode.cpp
index bfc20d207..35d2eca77 100644
--- a/src/modules/m_rmode.cpp
+++ b/src/modules/m_rmode.cpp
@@ -94,7 +94,8 @@ class CommandRMode : public Command
}
};
-class ModuleRMode : public Module
+class ModuleRMode final
+ : public Module
{
private:
CommandRMode cmd;
diff --git a/src/modules/m_sajoin.cpp b/src/modules/m_sajoin.cpp
index ccd2a5113..0d55e1fdd 100644
--- a/src/modules/m_sajoin.cpp
+++ b/src/modules/m_sajoin.cpp
@@ -112,7 +112,8 @@ class CommandSajoin : public Command
}
};
-class ModuleSajoin : public Module
+class ModuleSajoin final
+ : public Module
{
private:
CommandSajoin cmd;
diff --git a/src/modules/m_sakick.cpp b/src/modules/m_sakick.cpp
index 26263421b..00d14aa09 100644
--- a/src/modules/m_sakick.cpp
+++ b/src/modules/m_sakick.cpp
@@ -82,7 +82,8 @@ class CommandSakick : public Command
}
};
-class ModuleSakick : public Module
+class ModuleSakick final
+ : public Module
{
private:
CommandSakick cmd;
diff --git a/src/modules/m_samode.cpp b/src/modules/m_samode.cpp
index 9214b4ab5..8159e6bf7 100644
--- a/src/modules/m_samode.cpp
+++ b/src/modules/m_samode.cpp
@@ -88,7 +88,8 @@ class CommandSamode : public Command
}
};
-class ModuleSaMode : public Module
+class ModuleSaMode final
+ : public Module
{
private:
CommandSamode cmd;
diff --git a/src/modules/m_sanick.cpp b/src/modules/m_sanick.cpp
index abbc3dfaa..432b0865a 100644
--- a/src/modules/m_sanick.cpp
+++ b/src/modules/m_sanick.cpp
@@ -86,7 +86,8 @@ class CommandSanick : public Command
}
};
-class ModuleSanick : public Module
+class ModuleSanick final
+ : public Module
{
private:
CommandSanick cmd;
diff --git a/src/modules/m_sapart.cpp b/src/modules/m_sapart.cpp
index 1b3ad252c..540ad2c1a 100644
--- a/src/modules/m_sapart.cpp
+++ b/src/modules/m_sapart.cpp
@@ -87,7 +87,8 @@ class CommandSapart : public Command
}
};
-class ModuleSapart : public Module
+class ModuleSapart final
+ : public Module
{
private:
CommandSapart cmd;
diff --git a/src/modules/m_saquit.cpp b/src/modules/m_saquit.cpp
index 8b17aee0d..fe5eb44c5 100644
--- a/src/modules/m_saquit.cpp
+++ b/src/modules/m_saquit.cpp
@@ -70,7 +70,8 @@ class CommandSaquit : public Command
}
};
-class ModuleSaquit : public Module
+class ModuleSaquit final
+ : public Module
{
private:
CommandSaquit cmd;
diff --git a/src/modules/m_sasl.cpp b/src/modules/m_sasl.cpp
index 0761ca863..793cb446b 100644
--- a/src/modules/m_sasl.cpp
+++ b/src/modules/m_sasl.cpp
@@ -391,7 +391,8 @@ class CommandSASL : public Command
}
};
-class ModuleSASL : public Module
+class ModuleSASL final
+ : public Module
{
private:
SimpleExtItem<SaslAuthenticator> authExt;
diff --git a/src/modules/m_satopic.cpp b/src/modules/m_satopic.cpp
index e25442edd..d62dfde6b 100644
--- a/src/modules/m_satopic.cpp
+++ b/src/modules/m_satopic.cpp
@@ -64,7 +64,8 @@ class CommandSATopic : public Command
}
};
-class ModuleSATopic : public Module
+class ModuleSATopic final
+ : public Module
{
private:
CommandSATopic cmd;
diff --git a/src/modules/m_seenicks.cpp b/src/modules/m_seenicks.cpp
index 0fe7a1fb2..ac83f2213 100644
--- a/src/modules/m_seenicks.cpp
+++ b/src/modules/m_seenicks.cpp
@@ -23,7 +23,8 @@
#include "inspircd.h"
-class ModuleSeeNicks : public Module
+class ModuleSeeNicks final
+ : public Module
{
public:
ModuleSeeNicks()
diff --git a/src/modules/m_sethost.cpp b/src/modules/m_sethost.cpp
index 3f9b8d768..9f385bee7 100644
--- a/src/modules/m_sethost.cpp
+++ b/src/modules/m_sethost.cpp
@@ -65,7 +65,8 @@ class CommandSethost : public Command
}
};
-class ModuleSetHost : public Module
+class ModuleSetHost final
+ : public Module
{
private:
CommandSethost cmd;
diff --git a/src/modules/m_setident.cpp b/src/modules/m_setident.cpp
index 7352f0a4b..79358c162 100644
--- a/src/modules/m_setident.cpp
+++ b/src/modules/m_setident.cpp
@@ -58,7 +58,8 @@ class CommandSetident : public Command
}
};
-class ModuleSetIdent : public Module
+class ModuleSetIdent final
+ : public Module
{
private:
CommandSetident cmd;
diff --git a/src/modules/m_setidle.cpp b/src/modules/m_setidle.cpp
index 2591dc9bd..01d320629 100644
--- a/src/modules/m_setidle.cpp
+++ b/src/modules/m_setidle.cpp
@@ -62,7 +62,8 @@ class CommandSetidle : public SplitCommand
}
};
-class ModuleSetIdle : public Module
+class ModuleSetIdle final
+ : public Module
{
private:
CommandSetidle cmd;
diff --git a/src/modules/m_setname.cpp b/src/modules/m_setname.cpp
index 37f17be8c..d1b6af937 100644
--- a/src/modules/m_setname.cpp
+++ b/src/modules/m_setname.cpp
@@ -66,7 +66,8 @@ private:
}
};
-class ModuleSetName : public Module
+class ModuleSetName final
+ : public Module
{
private:
CommandSetName cmd;
diff --git a/src/modules/m_showfile.cpp b/src/modules/m_showfile.cpp
index 92bb67470..0d4ac8d14 100644
--- a/src/modules/m_showfile.cpp
+++ b/src/modules/m_showfile.cpp
@@ -97,7 +97,8 @@ class CommandShowFile : public Command
}
};
-class ModuleShowFile : public Module
+class ModuleShowFile final
+ : public Module
{
private:
std::vector<CommandShowFile*> cmds;
diff --git a/src/modules/m_showwhois.cpp b/src/modules/m_showwhois.cpp
index ba68b9fa6..91df13e32 100644
--- a/src/modules/m_showwhois.cpp
+++ b/src/modules/m_showwhois.cpp
@@ -73,7 +73,9 @@ class WhoisNoticeCmd : public Command
}
};
-class ModuleShowwhois : public Module, public Whois::EventListener
+class ModuleShowwhois final
+ : public Module
+ , public Whois::EventListener
{
private:
bool ShowWhoisFromOpers;
diff --git a/src/modules/m_shun.cpp b/src/modules/m_shun.cpp
index d3034ce3c..b11aa8d18 100644
--- a/src/modules/m_shun.cpp
+++ b/src/modules/m_shun.cpp
@@ -136,7 +136,9 @@ class CommandShun : public Command
}
};
-class ModuleShun : public Module, public Stats::EventListener
+class ModuleShun final
+ : public Module
+ , public Stats::EventListener
{
private:
CommandShun cmd;
diff --git a/src/modules/m_sqlauth.cpp b/src/modules/m_sqlauth.cpp
index 820e96103..ba90b5cbe 100644
--- a/src/modules/m_sqlauth.cpp
+++ b/src/modules/m_sqlauth.cpp
@@ -119,7 +119,8 @@ class AuthQuery : public SQL::Query
}
};
-class ModuleSQLAuth : public Module
+class ModuleSQLAuth final
+ : public Module
{
IntExtItem pendingExt;
dynamic_reference<SQL::Provider> SQL;
diff --git a/src/modules/m_sqloper.cpp b/src/modules/m_sqloper.cpp
index 26bf78b95..92f17480a 100644
--- a/src/modules/m_sqloper.cpp
+++ b/src/modules/m_sqloper.cpp
@@ -158,7 +158,8 @@ class OperQuery : public SQL::Query
}
};
-class ModuleSQLOper : public Module
+class ModuleSQLOper final
+ : public Module
{
private:
// Whether OperQuery is running
diff --git a/src/modules/m_starttls.cpp b/src/modules/m_starttls.cpp
index 02ad332f6..7d10b9a73 100644
--- a/src/modules/m_starttls.cpp
+++ b/src/modules/m_starttls.cpp
@@ -81,7 +81,8 @@ class CommandStartTLS : public SplitCommand
}
};
-class ModuleStartTLS : public Module
+class ModuleStartTLS final
+ : public Module
{
private:
CommandStartTLS starttls;
diff --git a/src/modules/m_stripcolor.cpp b/src/modules/m_stripcolor.cpp
index fe4c1b512..8b609d136 100644
--- a/src/modules/m_stripcolor.cpp
+++ b/src/modules/m_stripcolor.cpp
@@ -30,7 +30,8 @@
#include "modules/exemption.h"
#include "modules/extban.h"
-class ModuleStripColor : public Module
+class ModuleStripColor final
+ : public Module
{
private:
CheckExemption::EventProvider exemptionprov;
diff --git a/src/modules/m_svshold.cpp b/src/modules/m_svshold.cpp
index c0940e1a7..0598127d6 100644
--- a/src/modules/m_svshold.cpp
+++ b/src/modules/m_svshold.cpp
@@ -172,7 +172,9 @@ class CommandSvshold : public Command
}
};
-class ModuleSVSHold : public Module, public Stats::EventListener
+class ModuleSVSHold final
+ : public Module
+ , public Stats::EventListener
{
private:
CommandSvshold cmd;
diff --git a/src/modules/m_timedbans.cpp b/src/modules/m_timedbans.cpp
index 6769887cc..f499642b9 100644
--- a/src/modules/m_timedbans.cpp
+++ b/src/modules/m_timedbans.cpp
@@ -209,7 +209,8 @@ class ChannelMatcher
}
};
-class ModuleTimedBans : public Module
+class ModuleTimedBans final
+ : public Module
{
private:
CommandTban cmd;
diff --git a/src/modules/m_tline.cpp b/src/modules/m_tline.cpp
index f9e98b08e..9b6c248ba 100644
--- a/src/modules/m_tline.cpp
+++ b/src/modules/m_tline.cpp
@@ -70,7 +70,8 @@ class CommandTline : public Command
}
};
-class ModuleTLine : public Module
+class ModuleTLine final
+ : public Module
{
private:
CommandTline cmd;
diff --git a/src/modules/m_topiclock.cpp b/src/modules/m_topiclock.cpp
index 45b6a8195..84d34b9d1 100644
--- a/src/modules/m_topiclock.cpp
+++ b/src/modules/m_topiclock.cpp
@@ -74,7 +74,8 @@ class CommandSVSTOPIC : public Command
}
};
-class ModuleTopicLock : public Module
+class ModuleTopicLock final
+ : public Module
{
private:
CommandSVSTOPIC cmd;
diff --git a/src/modules/m_uninvite.cpp b/src/modules/m_uninvite.cpp
index a3e6196bc..cfa764197 100644
--- a/src/modules/m_uninvite.cpp
+++ b/src/modules/m_uninvite.cpp
@@ -116,7 +116,8 @@ class CommandUninvite : public Command
}
};
-class ModuleUninvite : public Module
+class ModuleUninvite final
+ : public Module
{
private:
CommandUninvite cmd;
diff --git a/src/modules/m_vhost.cpp b/src/modules/m_vhost.cpp
index c7ad2f348..8a3fe9bdf 100644
--- a/src/modules/m_vhost.cpp
+++ b/src/modules/m_vhost.cpp
@@ -77,7 +77,8 @@ class CommandVhost : public Command
}
};
-class ModuleVHost : public Module
+class ModuleVHost final
+ : public Module
{
private:
CommandVhost cmd;
diff --git a/src/modules/m_websocket.cpp b/src/modules/m_websocket.cpp
index 242ecc372..8bd82933d 100644
--- a/src/modules/m_websocket.cpp
+++ b/src/modules/m_websocket.cpp
@@ -562,7 +562,8 @@ void WebSocketHookProvider::OnAccept(StreamSocket* sock, irc::sockets::sockaddrs
new WebSocketHook(shared_from_this(), sock, config);
}
-class ModuleWebSocket : public Module
+class ModuleWebSocket final
+ : public Module
{
private:
dynamic_reference_nocheck<HashProvider> hash;