]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/modules.h
Add counter system for umodes to get rid of some O(n)
[user/henk/code/inspircd.git] / include / modules.h
index 3c9899dede1375ee92891ccab2c985056aeac864..9928ad32618c1098c9f9239d0ff2927e40925e7c 100644 (file)
@@ -1394,17 +1394,33 @@ class ConfigReader : public classbase
         * This method destroys the ConfigReader class.
         */
        ~ConfigReader();
+
        /** Retrieves a value from the config file.
         * This method retrieves a value from the config file. Where multiple copies of the tag
         * exist in the config file, index indicates which of the values to retrieve.
         */
        std::string ReadValue(const std::string &tag, const std::string &name, int index, bool allow_linefeeds = false);
+       /** Retrieves a value from the config file.
+        * This method retrieves a value from the config file. Where multiple copies of the tag
+        * exist in the config file, index indicates which of the values to retrieve. If the
+        * tag is not found the default value is returned instead.
+        */
+       std::string ReadValue(const std::string &tag, const std::string &name, const std::string &default_value, int index, bool allow_linefeeds = false);
+
        /** Retrieves a boolean value from the config file.
         * This method retrieves a boolean value from the config file. Where multiple copies of the tag
         * exist in the config file, index indicates which of the values to retrieve. The values "1", "yes"
         * and "true" in the config file count as true to ReadFlag, and any other value counts as false.
         */
        bool ReadFlag(const std::string &tag, const std::string &name, int index);
+       /** Retrieves a boolean value from the config file.
+        * This method retrieves a boolean value from the config file. Where multiple copies of the tag
+        * exist in the config file, index indicates which of the values to retrieve. The values "1", "yes"
+        * and "true" in the config file count as true to ReadFlag, and any other value counts as false.
+        * If the tag is not found, the default value is used instead.
+        */
+       bool ReadFlag(const std::string &tag, const std::string &name, const std::string &default_value, int index);
+
        /** Retrieves an integer value from the config file.
         * This method retrieves an integer value from the config file. Where multiple copies of the tag
         * exist in the config file, index indicates which of the values to retrieve. Any invalid integer
@@ -1414,6 +1430,16 @@ class ConfigReader : public classbase
         * will return CONF_NOT_UNSIGNED
         */
        long ReadInteger(const std::string &tag, const std::string &name, int index, bool needs_unsigned);
+       /** Retrieves an integer value from the config file.
+        * This method retrieves an integer value from the config file. Where multiple copies of the tag
+        * exist in the config file, index indicates which of the values to retrieve. Any invalid integer
+        * values in the tag will cause the objects error value to be set, and any call to GetError() will
+        * return CONF_INVALID_NUMBER to be returned. needs_unsigned is set if the number must be unsigned.
+        * If a signed number is placed into a tag which is specified unsigned, 0 will be returned and GetError()
+        * will return CONF_NOT_UNSIGNED. If the tag is not found, the default value is used instead.
+        */
+       long ReadInteger(const std::string &tag, const std::string &name, const std::string &default_value, int index, bool needs_unsigned);
+
        /** Returns the last error to occur.
         * Valid errors can be found by looking in modules.h. Any nonzero value indicates an error condition.
         * A call to GetError() resets the error flag back to 0.