From 6d5555accd88b30e6edb1b55fff0f10e0d536846 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Mon, 3 Apr 2017 15:17:29 -0700 Subject: [PATCH] rgw: expose conf_get(), conf_get_int(), conf_get_bool() Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_common.h | 4 ++++ src/rgw/rgw_env.cc | 33 ++++++++++++++++++++++++--------- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index 608b9fa6444e2..0a7cc342c0981 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -357,6 +357,10 @@ class RGWHTTPArgs } }; +const char *rgw_conf_get(const map& conf_map, const char *name, const char *def_val); +int rgw_conf_get_int(const map& conf_map, const char *name, int def_val); +bool rgw_conf_get_bool(const map& conf_map, const char *name, bool def_val); + class RGWEnv; class RGWConf { diff --git a/src/rgw/rgw_env.cc b/src/rgw/rgw_env.cc index 737cda4cc975a..d1f876dcbee1a 100644 --- a/src/rgw/rgw_env.cc +++ b/src/rgw/rgw_env.cc @@ -41,35 +41,50 @@ void RGWEnv::init(CephContext *cct, char **envp) init(cct); } -const char *RGWEnv::get(const char *name, const char *def_val) +const char *rgw_conf_get(const map& conf_map, const char *name, const char *def_val) { - map::iterator iter = env_map.find(name); - if (iter == env_map.end()) + auto iter = conf_map.find(name); + if (iter == conf_map.end()) return def_val; return iter->second.c_str(); } -int RGWEnv::get_int(const char *name, int def_val) +const char *RGWEnv::get(const char *name, const char *def_val) { - map::iterator iter = env_map.find(name); - if (iter == env_map.end()) + return rgw_conf_get(env_map, name, def_val); +} + +int rgw_conf_get_int(const map& conf_map, const char *name, int def_val) +{ + auto iter = conf_map.find(name); + if (iter == conf_map.end()) return def_val; const char *s = iter->second.c_str(); return atoi(s); } -bool RGWEnv::get_bool(const char *name, bool def_val) +int RGWEnv::get_int(const char *name, int def_val) { - map::iterator iter = env_map.find(name); - if (iter == env_map.end()) + return rgw_conf_get_int(env_map, name, def_val); +} + +bool rgw_conf_get_bool(const map& conf_map, const char *name, bool def_val) +{ + auto iter = conf_map.find(name); + if (iter == conf_map.end()) return def_val; const char *s = iter->second.c_str(); return rgw_str_to_bool(s, def_val); } +bool RGWEnv::get_bool(const char *name, bool def_val) +{ + return rgw_conf_get_bool(env_map, name, def_val); +} + size_t RGWEnv::get_size(const char *name, size_t def_val) { map::iterator iter = env_map.find(name); -- 2.39.5