MXS-2304 Use configuration class methods instead of separate implementations

Replaces parameter add/set/remove/free.
This commit is contained in:
Esa Korhonen
2019-02-05 18:06:30 +02:00
parent ed80680da9
commit 35ab911d5c
12 changed files with 44 additions and 204 deletions

View File

@ -231,7 +231,7 @@ bool Monitor::configure_base(const MXS_CONFIG_PARAMETER* params)
Monitor::~Monitor()
{
config_parameter_free(parameters);
MXS_CONFIG_PARAMETER::free_all(&parameters);
monitor_server_free_all(m_servers);
MXS_FREE((const_cast<char*>(m_name)));
}
@ -741,34 +741,6 @@ bool Monitor::test_permissions(const string& query)
return rval;
}
/**
* Add parameters to the monitor
* @param monitor Monitor
* @param params Config parameters
*/
void monitor_add_parameters(Monitor* monitor, const MXS_CONFIG_PARAMETER* params)
{
Guard guard(monitor->m_lock);
while (params)
{
MXS_CONFIG_PARAMETER* old = config_get_param(monitor->parameters, params->name);
if (old)
{
MXS_FREE(old->value);
old->value = MXS_STRDUP_A(params->value);
}
else
{
MXS_CONFIG_PARAMETER* clone = config_clone_param(params);
clone->next = monitor->parameters;
monitor->parameters = clone;
}
params = params->next;
}
}
void monitor_stash_current_status(MXS_MONITORED_SERVER* ptr)
{
ptr->mon_prev_status = ptr->server->status;