diff options
| author | Naram Qashat <cyberbotx@cyberbotx.com> | 2010-06-20 18:42:58 -0400 |
|---|---|---|
| committer | Naram Qashat <cyberbotx@cyberbotx.com> | 2010-06-20 18:42:58 -0400 |
| commit | 381c9c8870fad4c544f29deec22ba4be3549a731 (patch) | |
| tree | f5f26e2dd380910b0ddd26e3d885d6bf56d40181 /include | |
| parent | 2528dc80bd1b3e6b2c09db23eb51659e30128110 (diff) | |
The first of a few "CBX OCDing over code style" commits, focusing on include/* and src/* but not src/core/* or src/modules/*.
Diffstat (limited to 'include')
| -rw-r--r-- | include/account.h | 44 | ||||
| -rw-r--r-- | include/bots.h | 24 | ||||
| -rw-r--r-- | include/channels.h | 28 | ||||
| -rw-r--r-- | include/commands.h | 18 | ||||
| -rw-r--r-- | include/config.h | 1465 | ||||
| -rw-r--r-- | include/extensible.h | 27 | ||||
| -rw-r--r-- | include/extern.h | 137 | ||||
| -rw-r--r-- | include/hashcomp.h | 86 | ||||
| -rw-r--r-- | include/mail.h | 6 | ||||
| -rw-r--r-- | include/modes.h | 123 | ||||
| -rw-r--r-- | include/module.h | 3 | ||||
| -rw-r--r-- | include/modules.h | 120 | ||||
| -rw-r--r-- | include/operserv.h | 19 | ||||
| -rw-r--r-- | include/opertype.h | 60 | ||||
| -rw-r--r-- | include/regchannel.h | 37 | ||||
| -rw-r--r-- | include/servers.h | 18 | ||||
| -rw-r--r-- | include/services.h | 570 | ||||
| -rw-r--r-- | include/sockets.h | 19 | ||||
| -rw-r--r-- | include/threadengine.h | 12 | ||||
| -rw-r--r-- | include/timers.h | 168 | ||||
| -rw-r--r-- | include/users.h | 38 | ||||
| -rw-r--r-- | include/version.sh.c | 70 |
22 files changed, 1595 insertions, 1497 deletions
diff --git a/include/account.h b/include/account.h index e44880c29..0b7c95b44 100644 --- a/include/account.h +++ b/include/account.h @@ -1,3 +1,6 @@ +#ifndef ACCOUNT_H +#define ACCOUNT_H + class NickAlias; class NickCore; class NickRequest; @@ -92,7 +95,7 @@ class CoreExport NickRequest : public Extensible std::string password; char *email; time_t requested; - time_t lastmail; /* Unsaved */ + time_t lastmail; /* Unsaved */ }; class NickCore; @@ -111,12 +114,12 @@ class CoreExport NickAlias : public Extensible, public Flags<NickNameFlag> ~NickAlias(); char *nick; /* Nickname */ - char *last_quit; /* Last quit message */ - char *last_realname; /* Last realname */ - char *last_usermask; /* Last usermask */ - time_t time_registered; /* When the nick was registered */ - time_t last_seen; /* When it was seen online for the last time */ - NickCore *nc; /* I'm an alias of this */ + char *last_quit; /* Last quit message */ + char *last_realname; /* Last realname */ + char *last_usermask; /* Last usermask */ + time_t time_registered; /* When the nick was registered */ + time_t last_seen; /* When it was seen online for the last time */ + NickCore *nc; /* I'm an alias of this */ HostInfo hostinfo; /** Release a nick @@ -146,28 +149,28 @@ class CoreExport NickCore : public Extensible, public Flags<NickCoreFlag> std::list<User *> Users; - char *display; /* How the nick is displayed */ - std::string pass; /* Password of the nicks */ - char *email; /* E-mail associated to the nick */ - char *greet; /* Greet associated to the nick */ - uint32 icq; /* ICQ # associated to the nick */ - char *url; /* URL associated to the nick */ - uint16 language; /* Language selected by nickname owner (LANG_*) */ - std::vector<std::string> access; /* Access list, vector of strings */ + char *display; /* How the nick is displayed */ + std::string pass; /* Password of the nicks */ + char *email; /* E-mail associated to the nick */ + char *greet; /* Greet associated to the nick */ + uint32 icq; /* ICQ # associated to the nick */ + char *url; /* URL associated to the nick */ + uint16 language; /* Language selected by nickname owner (LANG_*) */ + std::vector<std::string> access; /* Access list, vector of strings */ MemoInfo memos; - uint16 channelcount; /* Number of channels currently registered */ + uint16 channelcount; /* Number of channels currently registered */ OperType *ot; /* Unsaved data */ - time_t lastmail; /* Last time this nick record got a mail */ - std::list<NickAlias *> aliases; /* List of aliases */ + time_t lastmail; /* Last time this nick record got a mail */ + std::list<NickAlias *> aliases; /* List of aliases */ /** Check whether this opertype has access to run the given command string. * @param cmdstr The string to check, e.g. botserv/set/private. * @return True if this opertype may run the specified command, false otherwise. */ - virtual bool HasCommand(const std::string &cmdstr) const; + virtual bool HasCommand(const ci::string &cmdstr) const; /** Checks whether this account is a services oper or not. * @return True if this account is a services oper, false otherwise. @@ -178,7 +181,7 @@ class CoreExport NickCore : public Extensible, public Flags<NickCoreFlag> * @param privstr The priv to check for, e.g. users/auspex. * @return True if this opertype has the specified priv, false otherwise. */ - virtual bool HasPriv(const std::string &privstr) const; + virtual bool HasPriv(const ci::string &privstr) const; /** Add an entry to the nick's access list * @@ -221,3 +224,4 @@ class CoreExport NickCore : public Extensible, public Flags<NickCoreFlag> void ClearAccess(); }; +#endif // ACCOUNT_H diff --git a/include/bots.h b/include/bots.h index 8952005e7..9227f5c68 100644 --- a/include/bots.h +++ b/include/bots.h @@ -3,11 +3,11 @@ * Copyright (C) 2008-2010 Anope Team <team@anope.org> * * Please read COPYING and README for further details. - * - * - * */ +#ifndef BOTS_H +#define BOTS_H + #include "commands.h" class BotInfo; @@ -32,15 +32,15 @@ enum BotFlag class CoreExport BotInfo : public Extensible, public Flags<BotFlag> { public: - std::string uid; /* required for UID supporting servers, as opposed to the shitty struct Uid. */ - std::string nick; /* Nickname of the bot */ - std::string user; /* Its user name */ - std::string host; /* Its hostname */ - std::string real; /* Its real name */ - time_t created; /* Birth date ;) */ - int16 chancount; /* Number of channels that use the bot. */ + std::string uid; /* required for UID supporting servers, as opposed to the shitty struct Uid. */ + std::string nick; /* Nickname of the bot */ + std::string user; /* Its user name */ + std::string host; /* Its hostname */ + std::string real; /* Its real name */ + time_t created; /* Birth date ;) */ + int16 chancount; /* Number of channels that use the bot. */ /* Dynamic data */ - time_t lastmsg; /* Last time we said something */ + time_t lastmsg; /* Last time we said something */ CommandMap Commands; /** Create a new bot. @@ -77,3 +77,5 @@ class CoreExport BotInfo : public Extensible, public Flags<BotFlag> */ void UnAssign(User *u, ChannelInfo *ci); }; + +#endif // BOTS_H diff --git a/include/channels.h b/include/channels.h index 7814a377a..75f5dad3d 100644 --- a/include/channels.h +++ b/include/channels.h @@ -4,10 +4,11 @@ * Contact us at team@anope.org * * Please read COPYING and README for further details. - * - * */ +#ifndef CHANNELS_H +#define CHANNELS_H + typedef unordered_map_namespace::unordered_map<ci::string, Channel *, hash_compare_ci_string> channel_map; extern CoreExport channel_map ChannelList; @@ -75,12 +76,12 @@ class CoreExport Channel : public Extensible, public Flags<ChannelFlags> */ ~Channel(); - std::string name; /* Channel name */ - ChannelInfo *ci; /* Corresponding ChannelInfo */ - time_t creation_time; /* When channel was created */ + std::string name; /* Channel name */ + ChannelInfo *ci; /* Corresponding ChannelInfo */ + time_t creation_time; /* When channel was created */ char *topic; std::string topic_setter; - time_t topic_time; /* When topic was set */ + time_t topic_time; /* When topic was set */ EList *bans; EList *excepts; @@ -90,13 +91,13 @@ class CoreExport Channel : public Extensible, public Flags<ChannelFlags> CUserList users; BanData *bd; - - time_t server_modetime; /* Time of last server MODE */ - time_t chanserv_modetime; /* Time of last check_modes() */ - int16 server_modecount; /* Number of server MODEs this second */ - int16 chanserv_modecount; /* Number of check_mode()'s this sec */ - int16 bouncy_modes; /* Did we fail to set modes here? */ - int16 topic_sync; /* Is the topic in sync? */ + + time_t server_modetime; /* Time of last server MODE */ + time_t chanserv_modetime; /* Time of last check_modes() */ + int16 server_modecount; /* Number of server MODEs this second */ + int16 chanserv_modecount; /* Number of check_mode()'s this sec */ + int16 bouncy_modes; /* Did we fail to set modes here? */ + int16 topic_sync; /* Is the topic in sync? */ /** Restore the channel topic, set mlock (key), set stickied bans, etc */ @@ -263,3 +264,4 @@ class CoreExport Channel : public Extensible, public Flags<ChannelFlags> bool Kick(BotInfo *bi, User *u, const char *reason = NULL, ...); }; +#endif // CHANNELS_H diff --git a/include/commands.h b/include/commands.h index 327d65736..cfe2eddab 100644 --- a/include/commands.h +++ b/include/commands.h @@ -7,12 +7,10 @@ * * Based on the original code of Epona by Lara. * Based on the original code of Services by Andy Church. - * - * */ -#ifndef COMMAND_H_ -#define COMMAND_H_ +#ifndef COMMAND_H +#define COMMAND_H #include "services.h" @@ -57,7 +55,7 @@ class CoreExport Command : public Flags<CommandFlag> /* Command name */ ci::string name; /* Permission needed to use this comand */ - std::string permission; + ci::string permission; /* Module which owns us */ Module *module; @@ -70,7 +68,7 @@ class CoreExport Command : public Flags<CommandFlag> * @param max_params The maximum number of parameters the parser will create, after max_params, all will be combined into the last argument. * NOTE: If max_params is not set (default), there is no limit to the max number of params. */ - Command(const ci::string &sname, size_t min_params, size_t max_params = 0, const std::string &spermission = ""); + Command(const ci::string &sname, size_t min_params, size_t max_params = 0, const ci::string &spermission = ""); virtual ~Command(); @@ -86,8 +84,7 @@ class CoreExport Command : public Flags<CommandFlag> /** Requested when the user is requesting help on this command. Help on this command should be sent to the user. * @param u The user requesting help - * @param subcommand The subcommand the user is requesting help on, or an empty string. (e.g. /ns help set foo bar lol gives a subcommand of -"FOO BAR LOL") + * @param subcommand The subcommand the user is requesting help on, or an empty string. (e.g. /ns help set foo bar lol gives a subcommand of "FOO BAR LOL") * @return true if help was provided to the user, false otherwise. */ virtual bool OnHelp(User *u, const ci::string &subcommand); @@ -101,7 +98,7 @@ class CoreExport Command : public Flags<CommandFlag> /** Set which command permission (e.g. chanserv/forbid) is required for this command. * @param reststr The permission required to successfully execute this command */ - void SetPermission(const std::string &reststr); + void SetPermission(const ci::string &reststr); /** Add a subcommand to this command * @param c The command @@ -114,5 +111,4 @@ class CoreExport Command : public Flags<CommandFlag> virtual bool DelSubcommand(const ci::string &cname); }; -#endif - +#endif // COMMANDS_H diff --git a/include/config.h b/include/config.h index dacf3db06..dc1dde3f8 100644 --- a/include/config.h +++ b/include/config.h @@ -1,5 +1,5 @@ -#ifndef _CONFIGREADER_H_ -#define _CONFIGREADER_H_ +#ifndef CONFIG_H +#define CONFIG_H #include <string> #include <fstream> @@ -10,7 +10,7 @@ /** A configuration key and value pair */ -typedef std::pair<std::string, std::string> KeyVal; +typedef std::pair<ci::string, ci::string> KeyVal; /** A list of related configuration keys and values */ @@ -18,20 +18,22 @@ typedef std::vector<KeyVal> KeyValList; /** An entire config file, built up of KeyValLists */ -typedef std::multimap<std::string, KeyValList> ConfigDataHash; +typedef std::multimap<ci::string, KeyValList> ConfigDataHash; // Required forward definitions class ServerConfig; /** Types of data in the core config */ -enum ConfigDataType { +enum ConfigDataType +{ DT_NOTHING, // No data DT_INTEGER, // Integer DT_UINTEGER, // Unsigned Integer DT_LUINTEGER, // Long Unsigned Integer DT_CHARPTR, // Char pointer DT_STRING, // std::string + DT_CISTRING, // ci::string DT_BOOLEAN, // Boolean DT_HOSTNAME, // Hostname syntax DT_NOSPACES, // No spaces @@ -50,35 +52,42 @@ enum ConfigDataType { */ class ValueItem { - /** Actual data */ - std::string v; - public: - /** Initialize with an int */ - ValueItem(int); - /** Initialize with a bool */ - ValueItem(bool); - /** Initialize with a char pointer */ - ValueItem(const char *); - /** Initialize with an std::string */ - ValueItem(const std::string &); - /** Initialize with a long */ - ValueItem(long); - /** Change value to a char pointer */ - //void Set(char *); - /** Change value to a const char pointer */ - void Set(const char *); - /** Change value to an std::string */ - void Set(const std::string &); - /** Change value to an int */ - void Set(int); - /** Get value as an int */ - int GetInteger(); - /** Get value as a string */ - const char *GetString() const; - /** Get value as a string */ - inline const std::string &GetValue() const { return v; } - /** Get value as a bool */ - bool GetBool(); + private: + /** Actual data */ + std::string v; + public: + /** Initialize with an int */ + ValueItem(int); + /** Initialize with a bool */ + ValueItem(bool); + /** Initialize with a char pointer */ + ValueItem(const char *); + /** Initialize with an std::string */ + ValueItem(const std::string &); + /** Initialize with an std::string */ + ValueItem(const ci::string &); + /** Initialize with a long */ + ValueItem(long); + /** Change value to a char pointer */ + //void Set(char *); + /** Change value to a const char pointer */ + void Set(const char *); + /** Change value to an std::string */ + void Set(const std::string &); + /** Change value to a ci::string */ + void Set(const ci::string &); + /** Change value to an int */ + void Set(int); + /** Get value as an int */ + int GetInteger(); + /** Get value as a string */ + const char *GetString() const; + /** Get value as a string */ + inline const std::string &GetValue() const { return v; } + /** Get value as a ci::string */ + inline const ci::string GetCIValue() const { return v.c_str(); } + /** Get value as a bool */ + bool GetBool(); }; /** The base class of the container 'ValueContainer' @@ -86,11 +95,11 @@ class ValueItem */ class ValueContainerBase { - public: - /** Constructor */ - ValueContainerBase() { } - /** Destructor */ - virtual ~ValueContainerBase() { } + public: + /** Constructor */ + ValueContainerBase() { } + /** Destructor */ + virtual ~ValueContainerBase() { } }; /** ValueContainer is used to contain pointers to different @@ -103,86 +112,132 @@ class ValueContainerBase */ template<typename T> class ValueContainer : public ValueContainerBase { - /** Contained item */ - T val; - public: - /** Initialize with nothing */ - ValueContainer() : ValueContainerBase(), val(NULL) { } - /** Initialize with a value of type T */ - ValueContainer(T Val) : ValueContainerBase(), val(Val) { } - /** Initialize with a copy */ - ValueContainer(const ValueContainer &Val) : ValueContainerBase(), val(Val.val) { } - ValueContainer &operator=(const ValueContainer &Val) - { - val = Val.val; - return *this; - } - /** Change value to type T of size s */ - void Set(const T newval, size_t s) - { - memcpy(val, newval, s); - } + private: + /** Contained item */ + T val; + public: + /** Initialize with nothing */ + ValueContainer() : ValueContainerBase(), val(NULL) { } + /** Initialize with a value of type T */ + ValueContainer(T Val) : ValueContainerBase(), val(Val) { } + /** Initialize with a copy */ + ValueContainer(const ValueContainer &Val) : ValueContainerBase(), val(Val.val) { } + ValueContainer &operator=(const ValueContainer &Val) + { + val = Val.val; + return *this; + } + /** Change value to type T of size s */ + void Set(const T newval, size_t s) + { + memcpy(val, newval, s); + } }; /** This a specific version of ValueContainer to handle character arrays specially */ template<> class ValueContainer<char **> : public ValueContainerBase { - /** Contained item */ - char **val; - public: - /** Initialize with nothing */ - ValueContainer() : ValueContainerBase(), val(NULL) { } - /** Initialize with a value of type T */ - ValueContainer(char **Val) : ValueContainerBase(), val(Val) { } - /** Initialize with a copy */ - ValueContainer(const ValueContainer &Val) : ValueContainerBase(), val(Val.val) { } - ValueContainer &operator=(const ValueContainer &Val) + private: + /** Contained item */ + char **val; + public: + /** Initialize with nothing */ + ValueContainer() : ValueContainerBase(), val(NULL) { } + /** Initialize with a value of type T */ + ValueContainer(char **Val) : ValueContainerBase(), val(Val) { } + /** Initialize with a copy */ + ValueContainer(const ValueContainer &Val) : ValueContainerBase(), val(Val.val) { } + ValueContainer &operator=(const ValueContainer &Val) + { + val = Val.val; + return *this; + } + /** Change value to type T of size s */ + void Set(const char *newval, size_t s) + { + if (*val) + delete [] *val; + if (!*newval) { - val = Val.val; - return *this; - } - /** Change value to type T of size s */ - void Set(const char *newval, size_t s) - { - if (*val) delete [] *val; - if (!*newval) { - *val = NULL; - return; - } - *val = new char[s]; - strlcpy(*val, newval, s); + *val = NULL; + return; } + *val = new char[s]; + strlcpy(*val, newval, s); + } }; /** This a specific version of ValueContainer to handle std::string specially */ template<> class ValueContainer<std::string *> : public ValueContainerBase { - /** Contained item */ - std::string *val; - public: - /** Initialize with nothing */ - ValueContainer() : ValueContainerBase(), val(NULL) { } - /** Initialize with an std::string */ - ValueContainer(std::string *Val) : ValueContainerBase(), val(Val) { } - /** Initialize with a copy */ - ValueContainer(const ValueContainer &Val) : ValueContainerBase(), val(Val.val) { } - ValueContainer &operator=(const ValueContainer &Val) - { - val = Val.val; - return *this; - } - /** Change value to given std::string */ - void Set(const std::string &newval) - { - *val = newval; - } - /** Change value to given char pointer */ - void Set(const char *newval) - { - *val = newval; - } + private: + /** Contained item */ + std::string *val; + public: + /** Initialize with nothing */ + ValueContainer() : ValueContainerBase(), val(NULL) { } + /** Initialize with an std::string */ + ValueContainer(std::string *Val) : ValueContainerBase(), val(Val) { } + /** Initialize with a copy */ + ValueContainer(const ValueContainer &Val) : ValueContainerBase(), val(Val.val) { } + ValueContainer &operator=(const ValueContainer &Val) + { + val = Val.val; + return *this; + } + /** Change value to given std::string */ + void Set(const std::string &newval) + { + *val = newval; + } + /** Change value to given ci::string */ + void Set(const ci::string &newval) + { + *val = newval.c_str(); + } + /** Change value to given char pointer */ + void Set(const char *newval) + { + *val = newval; + } +}; + +/** This a specific version of ValueContainer to handle ci::string specially + */ +template<> class ValueContainer<ci::string *> : public ValueContainerBase +{ + private: + /** Contained item */ + ci::string *val; + public: + /** Initialize with nothing */ + ValueContainer() : ValueContainerBase(), val(NULL) { } + /** Initialize with an std::string */ + ValueContainer(ci::string *Val) : ValueContainerBase(), val(Val) { } + /** Initialize with a copy */ + ValueContainer(const ValueContainer &Val) : ValueContainerBase(), val(Val.val) { } + ValueContainer &operator=(const ValueContainer &Val) + { + val = Val.val; + return *this; + } + /** Change value to given std::string */ + void Set(const std::string &newval) + { + *val = newval.c_str(); + } + /** Change value to given ci::string */ + void Set(const ci::string &newval) + { + *val = newval; + } + /** Change value to given char pointer */ + void Set(const char *newval) + { + *val = newval; + } }; /** A specialization of ValueContainer to hold a pointer to a bool @@ -219,6 +274,11 @@ typedef ValueContainer<time_t *> ValueContainerTime; */ typedef ValueContainer<std::string *> ValueContainerString; +/** A specialization of ValueContainer to hold a pointer to + * an ci::string + */ +typedef ValueContainer<ci::string *> ValueContainerCIString; + /** A set of ValueItems used by multi-value validator functions */ typedef std::deque<ValueItem> ValueList; @@ -279,482 +339,487 @@ struct MultiConfig */ class ServerConfig { - private: - /** This variable holds the names of all - * files included from the main one. This - * is used to make sure that no files are - * recursively included. - */ - std::vector<std::string> include_stack; - /** Check that there is only one of each configuration item - */ - bool CheckOnce(const char *); - public: - std::ostringstream errstr; - ConfigDataHash newconfig; - /** This holds all the information in the config file, - * it's indexed by tag name to a vector of key/values. - */ - ConfigDataHash config_data; - /** Construct a new ServerConfig - */ - ServerConfig(); - /** Clears the include stack in preperation for a Read() call. - */ - void ClearStack(); - /** Read the entire configuration into memory - * and initialize this class. All other methods - * should be used only by the core. - */ - int Read(bool); - /** Report a configuration error given in errormessage. - * @param bail If this is set to true, the error is sent to the console, and the program exits - * @param connection If this is set to a non-null value, and bail is false, the errors are spooled to - * this connection as SNOTICEs. - * If the parameter is NULL, the messages are spooled to all connections via WriteOpers as SNOTICEs. - */ - void ReportConfigError(const std::string &, bool); - /** Load 'filename' into 'target', with the new config parser everything is parsed into - * tag/key/value at load-time rather than at read-value time. - */ - bool LoadConf(ConfigDataHash &, const char *, std::ostringstream &); - /** Load 'filename' into 'target', with the new config parser everything is parsed into - * tag/key/value at load-time rather than at read-value time. - */ - bool LoadConf(ConfigDataHash &, const std::string &, std::ostringstream &); - // Both these return true if the value existed or false otherwise - /** Writes 'length' chars into 'result' as a string - */ - bool ConfValue(ConfigDataHash &, const char *, const char *, int, char *, int, bool = false); - /** Writes 'length' chars into 'result' as a string - */ - bool ConfValue(ConfigDataHash &, const char *, const char *, const char *, int, char *, int, bool = false); - /** Writes 'length' chars into 'result' as a string - */ - bool ConfValue(ConfigDataHash &, const std::string &, const std::string &, int, std::string &, bool = false); - /** Writes 'length' chars into 'result' as a string - */ - bool ConfValue(ConfigDataHash &, const std::string &, const std::string &, const std::string &, int, std::string &, bool = false); - /** Tries to convert the value to an integer and write it to 'result' - */ - bool ConfValueInteger(ConfigDataHash &, const char *, const char *, int, int &); - /** Tries to convert the value to an integer and write it to 'result' - */ - bool ConfValueInteger(ConfigDataHash &, const char *, const char *, const char *, int, int &); - /** Tries to convert the value to an integer and write it to 'result' - */ - bool ConfValueInteger(ConfigDataHash &, const std::string &, const std::string &, int, int &); - /** Tries to convert the value to an integer and write it to 'result' - */ - bool ConfValueInteger(ConfigDataHash &, const std::string &, const std::string &, const std::string &, int, int &); - /** Returns true if the value exists and has a true value, false otherwise - */ - bool ConfValueBool(ConfigDataHash &, const char *, const char *, int); - /** Returns true if the value exists and has a true value, false otherwise - */ - bool ConfValueBool(ConfigDataHash &, const char *, const char *, const char *, int); - /** Returns true if the value exists and has a true value, false otherwise - */ - bool ConfValueBool(ConfigDataHash &, const std::string &, const std::string &, int); - /** Returns true if the value exists and has a true value, false otherwise - */ - bool ConfValueBool(ConfigDataHash &, const std::string &, const std::string &, const std::string &, int); - /** Returns the number of occurences of tag in the config file - */ - int ConfValueEnum(ConfigDataHash &, const char *); - /** Returns the number of occurences of tag in the config file - */ - int ConfValueEnum(ConfigDataHash &, const std::string &); - /** Returns the numbers of vars inside the index'th 'tag in the config file - */ - int ConfVarEnum(ConfigDataHash &, const char *, int); - /** Returns the numbers of vars inside the index'th 'tag in the config file - */ - int ConfVarEnum(ConfigDataHash &, const std::string &, int); - void ValidateHostname(const char *, const std::string &, const std::string &); - void ValidateIP(const char *p, const std::string &, const std::string &, bool); - void ValidateNoSpaces(const char *, const std::string &, const std::string &); - - - - /** Below here is a list of variables which contain the config files values - */ - /* IRCd module in use */ - char *IRCDModule; - - /* Host to connect to **/ - char *LocalHost; - /* List of uplink servers to try and connect to */ - std::list<Uplink *> Uplinks; - - /* Our server name */ - char *ServerName; - /* Our servers description */ - char *ServerDesc; - /* The username/ident of services clients */ - char *ServiceUser; - /* The hostname if services clients */ - char *ServiceHost; - - /* Help channel, ops here get usermode +h **/ - char *HelpChannel; - /* Log channel */ - char *LogChannel; - /* Name of the network were on */ - char *NetworkName; - /* The max legnth of nicks */ - unsigned NickLen; - /* Max length of idents */ - unsigned UserLen; - /* Max lenght of hostnames */ - unsigned HostLen; - - /* Max length of passwords */ - unsigned PassLen; - - /* NickServ Name */ - char *s_NickServ; - /* ChanServ Name */ - char *s_ChanServ; - /* MemoServ Name */ - char *s_MemoServ; - /* BotServ Name */ - char *s_BotServ; - /* OperServ name */ - char *s_OperServ; - /* Global name */ - char *s_GlobalNoticer; - /* NickServs realname */ - char *desc_NickServ; - /* ChanServ realname */ - char *desc_ChanServ; - /* MemoServ relname */ - char *desc_MemoServ; - /* BotServ realname */ - char *desc_BotServ; - /* OperServ realname */ - char *desc_OperServ; - /* Global realname */ - char *desc_GlobalNoticer; - - /* HostServ Name */ - char *s_HostServ; - /* HostServ realname */ - char *desc_HostServ; - - /* Filename for the PID file */ - char *PIDFilename; - /* MOTD filename */ - char *MOTDFilename; - - /* True if its ok to not be able to save backs */ - bool NoBackupOkay; - /* Do password checking when new people register */ - bool StrictPasswords; - /* How many times you're allowed to give a bad password before being killed */ - unsigned BadPassLimit; - /* How long before bad passwords are forgotten */ - time_t BadPassTimeout; - /* Delay between automatic database updates */ - time_t UpdateTimeout; - /* Delay between checks for expired nicks and channels */ - time_t ExpireTimeout; - /* How long to wait for something from the uplink, this is passed to select() */ - time_t ReadTimeout; - /* How often to send program errors */ - time_t WarningTimeout; - /* How long to process things such as timers to see if there is anything to calll */ - time_t TimeoutCheck; - /* Num of days logfiles are kept */ - int KeepLogs; - /* Number of days backups are kept */ - int KeepBackups; - /* Forbidding requires a reason */ - bool ForceForbidReason; - /* Services should use privmsgs instead of notices */ - bool UsePrivmsg; - /* Services only respond to full PRIVMSG client@services.server.name messages */ - bool UseStrictPrivMsg; - /* Dump a core file if we crash */ - bool DumpCore; - /* Log users connecting/existing/changing nicks */ - bool LogUsers; - /* Number of seconds between consecutive uses of the REGISTER command - * Not to be confused with NSRegDelay */ - unsigned NickRegDelay; - /* Max number if news items allowed in the list */ - unsigned NewsCount; - /* Default mlock modes */ - std::string MLock; - /* Default botmodes on channels, defaults to ao */ - std::string BotModes; - /* How many times to try and reconnect to the uplink before giving up */ - unsigned MaxRetries; - /* How long to wait between connection attempts */ - int RetryWait; - - /* Services can use email */ - bool UseMail; - /* Path to the sendmail executable */ - char *SendMailPath; - /* Address to send from */ - char *SendFrom; - /* Only opers can have services send mail */ - bool RestrictMail; - /* Delay between sending mail */ - time_t MailDelay; - /* Don't quote the To: address */ - bool DontQuoteAddresses; - - /* Prefix of guest nicks when a user gets forced off of a nick */ - char *NSGuestNickPrefix; - /* Allow users to set kill immed on */ - bool NSAllowKillImmed; - /* Don't allow nicks to use /ns group to regroup nicks */ - bool NSNoGroupChange; - /* Default flags for newly registered nicks */ - Flags<NickCoreFlag> NSDefFlags; - /* Default language used by services */ - unsigned NSDefLanguage; - /* Users must be connected this long before they can register - * Not to be confused with NickRegDelay */ - time_t NSRegDelay; - /* Time before the registering mail will be resent */ - time_t NSResendDelay; - /* How long before nicks expir */ - time_t NSExpire; - /* Time before NickRequests expire */ - time_t NSRExpire; - /* Force email when registering */ - bool NSForceEmail; - /* Max number of nicks in a group */ - int NSMaxAliases; - /* Max number of allowed strings on the access list */ - unsigned NSAccessMax; - /* Enforcer client user name */ - char *NSEnforcerUser; - /* Enforcer client hostname */ - char *NSEnforcerHost; - /* How long before recovered nicks are released */ - time_t NSReleaseTimeout; - /* /nickserv list is oper only */ - bool NSListOpersOnly; - /* Max number of entries that can be returned from the list command */ - unsigned NSListMax; - /* Only allow usermode +a etc on real services admins */ - bool NSSecureAdmins; - /* Services o |
