219 amxc_var_t* var_rel_path = GET_ARG(args,
"rel_path");
220 const char* rel_path = GET_CHAR(var_rel_path, NULL);
221 amxc_var_t* params = GET_ARG(args,
"parameters");
223 const char* object_path = NULL;
224 const char* parameter = NULL;
227 amxc_llist_init(&paths);
231 when_failed(retval, exit);
235 if((parameter != NULL) && (parameter[0] != 0)) {
237 params = amxc_var_add_key(amxc_llist_t, args,
"parameters", NULL);
239 amxc_var_add(cstring_t, params, parameter);
242 amxc_var_set_type(ret, AMXC_VAR_ID_HTABLE);
244 when_failed(retval, exit);
245 amxc_var_take_it(var_rel_path);
249 const amxc_htable_t* hresult = amxc_var_constcast(amxc_htable_t, ret);
250 if(amxc_htable_is_empty(hresult)) {
264 const amxc_htable_t* hresult = amxc_var_constcast(amxc_htable_t, ret);
265 if((hresult != NULL) && !amxc_htable_is_empty(hresult)) {
275 amxc_var_delete(&var_rel_path);
277 amxc_llist_clean(&paths, amxc_string_list_it_free);
static amxd_status_t amxd_get_fill_response(amxd_dm_t *dm, bool key_path, bool template_only, amxc_llist_t *paths, amxc_var_t *args, amxc_var_t *ret)
void PRIVATE amxd_def_funcs_remove_args(amxc_var_t *args)
enum _amxd_status amxd_status_t
@ amxd_status_unknown_error
amxd_object_t * amxd_object_findf(amxd_object_t *object, const char *rel_path,...) __attribute__((format(printf
Find an object in the data model tree, starting from an object.
amxd_dm_t * amxd_object_get_dm(const amxd_object_t *const object)
Get the data model.
amxd_object_t amxd_status_t amxd_object_resolve_pathf(amxd_object_t *object, amxc_llist_t *paths, const char *rel_path,...) __attribute__((format(printf
Resolves a search path into a list of matching object paths.
bool amxd_object_is_supported(amxd_object_t *object, const char *rel_path)
Checks if a path is in the supported data model.
amxd_status_t amxd_path_init(amxd_path_t *path, const char *object_path)
Initializes an amxd_path_t structure.
const char * amxd_path_get_param(amxd_path_t *path)
Gets the parameter name.
static bool amxd_path_is_search_path(amxd_path_t *path)
Checks if the path is a search path.
const char * amxd_path_get(amxd_path_t *path, int flags)
Returns the path stored in the amxd_path_t structure.
void amxd_path_clean(amxd_path_t *path)
Cleans an amxd_path_t structure.