88 amxc_var_t* params = NULL;
89 int retval = amxd_status_unknown_error;
92 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
94 if((rel_path != NULL) && (*rel_path != 0)) {
95 amxc_var_add_key(cstring_t, &args,
"rel_path", rel_path);
98 amxc_var_add_key(uint32_t, &args,
"index", index);
99 amxc_var_add_key(cstring_t, &args,
"name", name);
100 params = amxc_var_add_key(amxc_htable_t, &args,
"parameters", NULL);
101 amxc_var_move(params, values);
102 amxc_var_add_key(uint32_t, &args,
"access",
bus_ctx->
access);
105 when_failed(retval, exit);
106 retval =
amxb_invoke(invoke_ctx, &args, ret, NULL, NULL, timeout);
107 when_failed(retval, exit);
110 amxc_var_clean(&args);
int amxb_new_invoke(amxb_invoke_t **invoke_ctx, amxb_bus_ctx_t *const ctx, const char *object, const char *interface, const char *method)
Prepares a remote function invocation.
void amxb_free_invoke(amxb_invoke_t **invoke_ctx)
Deletes a function invoke context, and frees allocated memory.
int amxb_invoke(amxb_invoke_t *invoke_ctx, amxc_var_t *args, amxc_var_t *ret, amxb_be_cb_fn_t fn, void *priv, int timeout)
Invokes a remote function, as defined by the function invoke context.
static amxb_bus_ctx_t * bus_ctx