57 #include <amxc/amxc.h>
58 #include <amxp/amxp_signal.h>
72 "parameter not found",
73 "function not implemented",
75 "invalid function argument",
88 "invalid recursion detected",
93 "not in instantiated data model",
94 "not a template object",
103 amxc_llist_for_each(it, cb_fns) {
105 if((cb->
reason == reason) &&
106 ((fn == NULL) || (cb->
fn == fn))) {
117 when_str_empty(name, exit);
118 when_true(isalpha(name[0]) == 0 && name[0] !=
'_', exit);
120 for(
int i = 0; name[i] != 0; i++) {
121 if(isalnum(name[i]) == 0) {
122 if((name[i] !=
'_') && (name[i] !=
'-')) {
143 amxc_var_t*
const retval,
144 const char* description,
147 amxc_var_t* var_description = NULL;
148 amxc_var_t* data = (amxc_var_t*) priv;
151 when_false(amxc_var_type_of(retval) == AMXC_VAR_ID_HTABLE, exit);
153 var_description = amxc_var_add_new_key(retval, description);
154 amxc_var_copy(var_description, data);
amxd_dm_cb_t * amxd_get_action(const amxc_llist_t *const cb_fns, const amxd_action_t reason, amxd_action_fn_t fn)
bool amxd_name_is_valid(const char *name)
amxd_status_t amxd_action_describe_action(amxd_action_t reason, amxc_var_t *const retval, const char *description, void *priv)
const char * amxd_status_string(const amxd_status_t status)
static const char * amxd_error_str[]
amxd_status_t(* amxd_action_fn_t)(amxd_object_t *const object, amxd_param_t *const param, amxd_action_t reason, const amxc_var_t *const args, amxc_var_t *const retval, void *priv)
enum _amxd_action amxd_action_t
enum _amxd_status amxd_status_t
@ amxd_status_function_not_implemented
static amxd_status_t status