X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=parse.h;h=3cfa09119458efbdd2d182bd09381e1111f8191c;hp=5d56bd14d38b33575a1d3f32f0751bd4cb1a6248;hb=019b96a9cc6fa2902690e98a2aa033517efef3ed;hpb=c2a05ee22b52922d9c80f92d29062c845ebc80c3 diff --git a/parse.h b/parse.h index 5d56bd1..3cfa091 100644 --- a/parse.h +++ b/parse.h @@ -22,8 +22,18 @@ std::vector split_lines(const std::string &str); // Parse the configuration file. std::vector parse_config(const std::string &filename); +enum ParameterType { + PARAMETER_OPTIONAL, + PARAMATER_MANDATORY, +}; + +std::string fetch_config_string(const std::vector &config, const std::string &keyword, + ParameterType parameter_type, const std::string &default_value = ""); + // Note: Limits are inclusive. -int fetch_config_int(const std::vector &config, const std::string &keyword, int min_limit, int max_limit); +int fetch_config_int(const std::vector &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