// Parse the configuration file.
std::vector<ConfigLine> parse_config(const std::string &filename);
+enum ParameterType {
+ PARAMETER_OPTIONAL,
+ PARAMATER_MANDATORY,
+};
+
+std::string fetch_config_string(const std::vector<ConfigLine> &config, const std::string &keyword,
+ ParameterType parameter_type, const std::string &default_value = "");
+
// Note: Limits are inclusive.
-int fetch_config_int(const std::vector<ConfigLine> &config, const std::string &keyword, int min_limit, int max_limit);
+int fetch_config_int(const std::vector<ConfigLine> &config, const std::string &keyword,
+ int min_limit, int max_limit,
+ ParameterType parameter_type, int default_value = -1);
// Add the new data to an existing string, looking for \r\n\r\n
// (typical of HTTP requests and/or responses). Will return one