- bool ConfValueBool(const char* tag, const char* var, int index);
-
- /** Returns true if the value exists and has a true value, false otherwise
- */
- bool ConfValueBool(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(const std::string &tag, const std::string &var, int index);
-
- /** Returns true if the value exists and has a true value, false otherwise
- */
- bool ConfValueBool(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
- */
- int ConfValueEnum(const char* tag);
- /** Returns the number of occurences of tag in the config file
- */
- int ConfValueEnum(const std::string &tag);
-
- /** Returns the numbers of vars inside the index'th 'tag in the config file
- */
- int ConfVarEnum(const char* tag, int index);
- /** Returns the numbers of vars inside the index'th 'tag in the config file
- */
- int ConfVarEnum(const std::string &tag, int index);
-
- bool ApplyDisabledCommands(const char* data);
-
- /** Returns the fully qualified path to the inspircd directory
- * @return The full program directory
- */
- std::string GetFullProgDir();
-
- /** Clean a filename, stripping the directories (and drives) from string.
- * @param name Directory to tidy
- * @return The cleaned filename
- */
- static char* CleanFilename(char* name);
-
- /** Check if a file exists.
- * @param file The full path to a file
- * @return True if the file exists and is readable.
- */
- static bool FileExists(const char* file);
-
- /** If this value is true, invites will bypass more than just +i
- */
- bool InvBypassModes;
-
-};
-
-
-/** Types of data in the core config
- */
-enum ConfigDataType
-{
- DT_NOTHING = 0, /* No data */
- DT_INTEGER = 1, /* Integer */
- DT_CHARPTR = 2, /* Char pointer */
- DT_BOOLEAN = 3, /* Boolean */
- DT_HOSTNAME = 4, /* Hostname syntax */
- DT_NOSPACES = 5, /* No spaces */
- DT_IPADDRESS = 6, /* IP address (v4, v6) */
- DT_CHANNEL = 7, /* Channel name */
- DT_LIMIT = 8, /* size_t */
- DT_ALLOW_WILD = 64, /* Allow wildcards/CIDR in DT_IPADDRESS */
- DT_ALLOW_NEWLINE = 128 /* New line characters allowed in DT_CHARPTR */