struct MultiConfig
{
const char* tag;
- char* items[12];
- int datatype[12];
+ char* items[13];
+ char* items_default[13];
+ int datatype[13];
MultiNotify init_function;
MultiValidator validation_function;
MultiNotify finish_function;
*/
char PrefixQuit[MAXBUF];
+ /** The quit suffix in use, or an empty string
+ */
+ char SuffixQuit[MAXBUF];
+
+ /** The fixed quit message in use, or an empty string
+ */
+ char FixedQuit[MAXBUF];
+
/** The last string found within a <die> tag, or
* an empty string.
*/
*/
bool HideBans;
+ /** Announce invites to the channel with a server notice
+ */
+ bool AnnounceInvites;
+
/** If this is enabled then operators will
* see invisible (+i) channels in /whois.
*/
/** List of u-lined servers
*/
- std::vector<irc::string> ulines;
+ std::map<irc::string, bool> ulines;
/** Max banlist sizes for channels (the std::string is a glob)
*/
*/
bool UndernetMsgPrefix;
+ /** If set to true, the full nick!user@host will be shown in the TOPIC command
+ * for who set the topic last. If false, only the nick is shown.
+ */
+ bool FullHostInTopic;
+
/** All oper type definitions from the config file
*/
opertype_t opertypes;
*/
int argc;
+ /** Max channels per user
+ */
+ unsigned int MaxChans;
+
+ /** Oper max channels per user
+ */
+ unsigned int OperMaxChans;
+
/** Construct a new ServerConfig
*/
ServerConfig(InspIRCd* Instance);
/** Tries to convert the value to an integer and write it to 'result'
*/
bool ConfValueInteger(ConfigDataHash &target, const char* tag, const char* var, int index, int &result);
+ bool ConfValueInteger(ConfigDataHash &target, const char* tag, const char* var, const char* default_value, int index, int &result);
/** Tries to convert the value to an integer and write it to 'result'
*/
bool ConfValueInteger(ConfigDataHash &target, const std::string &tag, const std::string &var, int index, int &result);
+ bool ConfValueInteger(ConfigDataHash &target, const std::string &tag, const std::string &var, const std::string &default_value, int index, int &result);
/** Returns true if the value exists and has a true value, false otherwise
*/
bool ConfValueBool(ConfigDataHash &target, const char* tag, const char* var, int index);
+ bool ConfValueBool(ConfigDataHash &target, const char* tag, const char* var, const char* default_value, int index);
/** Returns true if the value exists and has a true value, false otherwise
*/
bool ConfValueBool(ConfigDataHash &target, const std::string &tag, const std::string &var, int index);
+ bool ConfValueBool(ConfigDataHash &target, const std::string &tag, const std::string &var, const std::string &default_value, int index);
/** Returns the number of occurences of tag in the config file
*/