/** Get the value of an option, using def if it does not exist */
std::string getString(const std::string& key, const std::string& def = "", size_t minlen = 0, size_t maxlen = UINT32_MAX);
/** Get the value of an option, using def if it does not exist */
- long getInt(const std::string& key, long def = 0, long min = LONG_MIN, long max = LONG_MAX);
+ long getInt(const std::string& key, long def, long min = LONG_MIN, long max = LONG_MAX);
/** Get the value of an option, using def if it does not exist */
- double getFloat(const std::string& key, double def = 0);
+ double getFloat(const std::string& key, double def);
/** Get the value of an option, using def if it does not exist */
bool getBool(const std::string& key, bool def = false);
* @param max Maximum acceptable value (optional)
* @return The duration in seconds
*/
- long getDuration(const std::string& key, long def = 0, long min = LONG_MIN, long max = LONG_MAX);
+ long getDuration(const std::string& key, long def, long min = LONG_MIN, long max = LONG_MAX);
/** Get the value of an option
* @param key The option to get
/** Bind to IPv6 by default */
bool WildcardIPv6;
- /** Used to indicate who we announce invites to on a channel */
- enum InviteAnnounceState { INVITE_ANNOUNCE_NONE, INVITE_ANNOUNCE_ALL, INVITE_ANNOUNCE_OPS, INVITE_ANNOUNCE_DYNAMIC };
- enum OperSpyWhoisState { SPYWHOIS_NONE, SPYWHOIS_SINGLEMSG, SPYWHOIS_SPLITMSG };
-
- /** This holds all the information in the config file,
+ /** This holds all the information in the config file,
* it's indexed by tag name to a vector of key/values.
*/
ConfigDataHash config_data;
/** Clones CIDR range for ipv4 (0-32)
* Defaults to 32 (checks clones on all IPs seperately)
*/
- int c_ipv4_range;
+ unsigned char c_ipv4_range;
/** Clones CIDR range for ipv6 (0-128)
* Defaults to 128 (checks on all IPs seperately)
*/
- int c_ipv6_range;
+ unsigned char c_ipv6_range;
/** Holds the server name of the local server
* as defined by the administrator.
*/
bool HideBans;
- /** Announce invites to the channel with a server notice
- */
- InviteAnnounceState AnnounceInvites;
-
- /** If this is enabled then operators will
- * see invisible (+i) channels in /whois.
- */
- OperSpyWhoisState OperSpyWhois;
-
/** True if raw I/O is being logged */
bool RawLog;
- /** Set to a non-empty string to obfuscate the server name of users in WHOIS
- */
- std::string HideWhoisServer;
+ /** Set to a non-empty string to obfuscate server names. */
+ std::string HideServer;
/** Set to a non empty string to obfuscate nicknames prepended to a KILL.
*/
delete Config;
}
- void Run();
+ void Run() CXX11_OVERRIDE;
/** Run in the main thread to apply the configuration */
void Finish();
bool IsDone() { return done; }