Source
xxxxxxxxxx
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
const char *zbx_mock_get_parameter_string(const char *path)
{
zbx_mock_error_t err;
zbx_mock_handle_t handle;
const char *parameter;
if (ZBX_MOCK_SUCCESS != (err = zbx_mock_parameter(path, &handle)) ||
ZBX_MOCK_SUCCESS != (err = zbx_mock_string(handle, ¶meter)))
{
fail_msg("Cannot read parameter at \"%s\": %s", path, zbx_mock_error_string(err));
return NULL;
}
return parameter;
}
const char *zbx_mock_get_object_member_string(zbx_mock_handle_t object, const char *name)
{
zbx_mock_error_t err;
zbx_mock_handle_t handle;
const char *member;
if (ZBX_MOCK_SUCCESS != (err = zbx_mock_object_member(object, name, &handle)) ||
ZBX_MOCK_SUCCESS != (err = zbx_mock_string(handle, &member)))
{
fail_msg("Cannot read object member \"%s\": %s", name, zbx_mock_error_string(err));
return NULL;
}
return member;
}
zbx_mock_handle_t zbx_mock_get_parameter_handle(const char *path)
{
zbx_mock_error_t err;
zbx_mock_handle_t parameter;
if (ZBX_MOCK_SUCCESS != (err = zbx_mock_parameter(path, ¶meter)))
fail_msg("Cannot read parameter at \"%s\": %s", path, zbx_mock_error_string(err));
return parameter;
}
zbx_mock_handle_t zbx_mock_get_object_member_handle(zbx_mock_handle_t object, const char *name)
{
zbx_mock_error_t err;
zbx_mock_handle_t member;
if (ZBX_MOCK_SUCCESS != (err = zbx_mock_object_member(object, name, &member)))
fail_msg("Cannot read object member \"%s\": %s", name, zbx_mock_error_string(err));
return member;
}
/******************************************************************************
* *
* Purpose: converts token type from text format *
* *
******************************************************************************/
void zbx_mock_str_to_token_type(const char *str, int *out)
{
if (0 == strcmp(str, "ZBX_TOKEN_OBJECTID"))
*out = ZBX_TOKEN_OBJECTID;
else if (0 == strcmp(str, "ZBX_TOKEN_MACRO"))
*out = ZBX_TOKEN_MACRO;