1
0
mirror of https://github.com/anope/anope.git synced 2026-07-06 18:23:12 +02:00

Mark types that have no inheritors as final.

This commit is contained in:
Sadie Powell
2024-01-23 13:54:16 +00:00
parent a6a0f6c447
commit 72acef4e15
227 changed files with 771 additions and 771 deletions
+3 -3
View File
@@ -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 */
+2 -2
View File
@@ -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
{
+7 -7
View File
@@ -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:
+1 -1
View File
@@ -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
{
+2 -2
View File
@@ -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
{
+3 -3
View File
@@ -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;
+4 -4
View File
@@ -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:
+1 -1
View File
@@ -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) { }
+3 -3
View File
@@ -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
+2 -2
View File
@@ -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;
+3 -3
View File
@@ -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;
+1 -1
View File
@@ -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:
+2 -2
View File
@@ -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;
+3 -3
View File
@@ -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;
+4 -4
View File
@@ -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.
+2 -2
View File
@@ -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;
+3 -3
View File
@@ -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;
+3 -3
View File
@@ -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;
+1 -1
View File
@@ -15,7 +15,7 @@ enum NewsType
NEWS_OPER
};
struct NewsMessages
struct NewsMessages final
{
NewsType type;
Anope::string name;
+2 -2
View File
@@ -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 */
+1 -1
View File
@@ -10,7 +10,7 @@
namespace Redis
{
struct Reply
struct Reply final
{
enum Type
{
+1 -1
View File
@@ -10,7 +10,7 @@
namespace SASL
{
struct Message
struct Message final
{
Anope::string source;
Anope::string target;
+3 -3
View File
@@ -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;
+1 -1
View File
@@ -10,7 +10,7 @@
#include "httpd.h"
class XMLRPCRequest
class XMLRPCRequest final
{
std::map<Anope::string, Anope::string> replies;
+1 -1
View File
@@ -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".
+2 -2
View File
@@ -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. */
+2 -2
View File
@@ -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
{
+1 -1
View File
@@ -15,7 +15,7 @@
#include "anope.h"
#include "service.h"
class CoreExport RegexException
class CoreExport RegexException final
: public CoreException
{
public:
+2 -2
View File
@@ -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:
+1 -1
View File
@@ -37,7 +37,7 @@ namespace Servers
/** Class representing a server
*/
class CoreExport Server
class CoreExport Server final
: public Extensible
{
private:
+1 -1
View File
@@ -160,7 +160,7 @@ public:
}
};
class ServiceAlias
class ServiceAlias final
{
Anope::string t, f;
public:
+1 -1
View File
@@ -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:
+4 -4
View File
@@ -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;
+1 -1
View File
@@ -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
*/
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -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();