MXS-2304 Use get_enum() instead of config_get_enum()

This commit is contained in:
Esa Korhonen
2019-01-31 11:03:08 +02:00
parent c8a84cebd0
commit f2d2202ea3
21 changed files with 52 additions and 75 deletions

View File

@ -1742,11 +1742,11 @@ const char* config_get_string(const MXS_CONFIG_PARAMETER* params, const char* ke
return config_get_value_string(params, key);
}
int config_get_enum(const MXS_CONFIG_PARAMETER* params, const char* key, const MXS_ENUM_VALUE* enum_values)
int64_t MXS_CONFIG_PARAMETER::get_enum(const std::string& key, const MXS_ENUM_VALUE* enum_mapping) const
{
const char* value = config_get_value_string(params, key);
char tmp_val[strlen(value) + 1];
strcpy(tmp_val, value);
string param_value = get_string(key);
char tmp_val[param_value.length() + 1];
strcpy(tmp_val, param_value.c_str());
int rv = 0;
bool found = false;
@ -1756,12 +1756,12 @@ int config_get_enum(const MXS_CONFIG_PARAMETER* params, const char* key, const M
while (tok)
{
for (int i = 0; enum_values[i].name; i++)
for (int i = 0; enum_mapping[i].name; i++)
{
if (strcmp(enum_values[i].name, tok) == 0)
if (strcmp(enum_mapping[i].name, tok) == 0)
{
found = true;
rv |= enum_values[i].enum_value;
rv |= enum_mapping[i].enum_value;
}
}
tok = strtok_r(NULL, delim, &endptr);
@ -1910,11 +1910,6 @@ int64_t MXS_CONFIG_PARAMETER::get_integer(const std::string& key) const
return value.empty() ? 0 : strtoll(value.c_str(), NULL, 10);
}
int64_t MXS_CONFIG_PARAMETER::get_enum(const std::string& key, const MXS_ENUM_VALUE* enum_mapping) const
{
return config_get_enum(this, key.c_str(), enum_mapping);
}
MXS_CONFIG_PARAMETER* config_clone_param(const MXS_CONFIG_PARAMETER* param)
{
MXS_CONFIG_PARAMETER* p2 = (MXS_CONFIG_PARAMETER*)MXS_MALLOC(sizeof(MXS_CONFIG_PARAMETER));
@ -2697,7 +2692,7 @@ bool config_create_ssl(const char* name,
SSL_LISTENER* ssl = NULL;
// The enum values convert to bool
int value = config_get_enum(params, CN_SSL, ssl_values);
int value = params->get_enum(CN_SSL, ssl_values);
mxb_assert(value != -1);
if (value)
@ -2745,7 +2740,7 @@ bool config_create_ssl(const char* name,
ssl = (SSL_LISTENER*)MXS_CALLOC(1, sizeof(SSL_LISTENER));
MXS_ABORT_IF_NULL(ssl);
int ssl_version = config_get_enum(params, CN_SSL_VERSION, ssl_version_values);
int ssl_version = params->get_enum(CN_SSL_VERSION, ssl_version_values);
ssl->ssl_method_type = (ssl_method_type_t)ssl_version;
ssl->ssl_init_done = false;

View File

@ -195,7 +195,7 @@ bool Monitor::configure_base(const MXS_CONFIG_PARAMETER* params)
m_settings.journal_max_age = params->get_integer(CN_JOURNAL_MAX_AGE);
m_settings.script_timeout = params->get_integer(CN_SCRIPT_TIMEOUT);
m_settings.script = config_get_string(params, CN_SCRIPT);
m_settings.events = config_get_enum(params, CN_EVENTS, mxs_monitor_event_enum_values);
m_settings.events = params->get_enum(CN_EVENTS, mxs_monitor_event_enum_values);
m_settings.disk_space_check_interval = params->get_integer(CN_DISK_SPACE_CHECK_INTERVAL);
m_settings.conn_settings.username = config_get_string(params, CN_USER);
m_settings.conn_settings.password = config_get_string(params, CN_PASSWORD);

View File

@ -159,7 +159,7 @@ int test_add_parameter()
TEST(ctx.parameters->get_integer("p2") == 123);
TEST(config_get_bool(ctx.parameters, "p3") == true);
TEST(strcmp(config_get_string(ctx.parameters, "p4"), "default") == 0);
TEST(config_get_enum(ctx.parameters, "p5", enum_values) == 1);
TEST(ctx.parameters->get_enum("p5", enum_values) == 1);
TEST(strcmp(config_get_string(ctx.parameters, "p6"), "/tmp") == 0);
TEST(strcmp(config_get_string(ctx.parameters, "p7"), "my-service") == 0);
@ -181,7 +181,7 @@ int test_add_parameter()
TEST(ctx.parameters->get_integer("p2") == 321);
TEST(config_get_param(ctx.parameters, "p3") && config_get_bool(ctx.parameters, "p3") == false);
TEST(strcmp(config_get_string(ctx.parameters, "p4"), "strange") == 0);
int val = config_get_enum(ctx.parameters, "p5", enum_values);
int val = ctx.parameters->get_enum("p5", enum_values);
TEST(val == 5);
TEST(strcmp(config_get_string(ctx.parameters, "p6"), "/dev/null") == 0);
TEST(strcmp(config_get_string(ctx.parameters, "p7"), "some-service") == 0);