557 char* index_path = NULL;
558 amxc_var_t signal_data;
565 amxc_var_init(&signal_data);
567 amxc_var_set_type(&signal_data, AMXC_VAR_ID_HTABLE);
568 amxc_var_add_key(cstring_t, &signal_data,
"object", path);
569 amxc_var_add_key(cstring_t, &signal_data,
"path", index_path);
570 amxc_var_add_key(cstring_t, &signal_data,
"eobject", epath);
571 if(amxc_var_type_of(data) == AMXC_VAR_ID_HTABLE) {
572 const amxc_htable_t* table_data = amxc_var_constcast(amxc_htable_t, data);
573 amxc_htable_it_t* hit = amxc_htable_get_first(table_data);
575 amxc_var_t* part = amxc_var_from_htable_it(hit);
576 const char* key = amxc_htable_it_get_key(hit);
577 if(GET_ARG(&signal_data, key) == NULL) {
578 amxc_var_set_key(&signal_data, key, part, AMXC_VAR_FLAG_DEFAULT);
580 amxc_var_delete(&part);
582 hit = amxc_htable_get_first(table_data);
585 amxc_var_set_key(&signal_data,
"data", data, AMXC_VAR_FLAG_COPY);
588 amxp_sigmngr_trigger_signal(&
dm->
sigmngr, signal, &signal_data);
590 amxp_sigmngr_emit_signal(&
dm->
sigmngr, signal, &signal_data);
593 amxc_var_clean(&signal_data);
#define AMXD_OBJECT_INDEXED
Name and path format flag - use index for instance objects.
#define AMXD_OBJECT_NAMED
Name and path format flag - default behavior, use name for instance objects.
#define AMXD_OBJECT_EXTENDED
Path format flag - set name or index of instrance objects between '[' and ']'.
#define AMXD_OBJECT_TERMINATE
Path format flag - when set the object path is terminated with a dot.
amxd_object_t amxd_status_t amxd_status_t char * amxd_object_get_path(const amxd_object_t *object, const uint32_t flags)
Get the full path of the object.
amxd_dm_t * amxd_object_get_dm(const amxd_object_t *const object)
Get the data model.
amxp_signal_mngr_t sigmngr