#include "zbxmockassert.h"
static zbx_uint64_t flags_get(zbx_mock_handle_t htag)
zbx_mock_handle_t hflags, hflag;
zbx_uint64_t flags = ZBX_FLAG_DB_TAG_UNSET;
err = zbx_mock_object_member(htag, "flags", &hflags);
if (ZBX_MOCK_NO_SUCH_MEMBER == err)
if (ZBX_MOCK_SUCCESS != err)
fail_msg("Cannot read flags '%s'", zbx_mock_error_string(err));
while (ZBX_MOCK_END_OF_VECTOR != (err = (zbx_mock_vector_element(hflags, &hflag))))
if (ZBX_MOCK_SUCCESS != err || ZBX_MOCK_SUCCESS != (err = zbx_mock_string(hflag, &flag)))
fail_msg("Cannot read flag #%d: %s", flags_num, zbx_mock_error_string(err));
else if (0 == strcmp(flag, "ZBX_FLAG_DB_TAG_UNSET"))
flags |= ZBX_FLAG_DB_TAG_UNSET;
else if (0 == strcmp(flag, "ZBX_FLAG_DB_TAG_UPDATE_AUTOMATIC"))
flags |= ZBX_FLAG_DB_TAG_UPDATE_AUTOMATIC;
else if (0 == strcmp(flag, "ZBX_FLAG_DB_TAG_UPDATE_VALUE"))
flags |= ZBX_FLAG_DB_TAG_UPDATE_VALUE;
else if (0 == strcmp(flag, "ZBX_FLAG_DB_TAG_UPDATE_TAG"))
flags |= ZBX_FLAG_DB_TAG_UPDATE_TAG;
else if (0 == strcmp(flag, "ZBX_FLAG_DB_TAG_REMOVE"))
flags |= ZBX_FLAG_DB_TAG_REMOVE;
else if (0 == strcmp(flag, "ZBX_FLAG_DB_TAG_UPDATE"))
flags |= ZBX_FLAG_DB_TAG_UPDATE;
fail_msg("Unknown flag #%d: %s", flags_num, zbx_mock_error_string(err));