libamxd  6.4.1
Data Model Manager
amxd_function.h File Reference

Ambiorix Data Model RPC methods API header file. More...

#include <stdint.h>
#include <amxd/amxd_types.h>

Go to the source code of this file.

Typedefs

typedef void(* amxd_deferred_cancel_t) (uint64_t call_id, void *const priv)
 

Functions

amxd_status_t amxd_function_new (amxd_function_t **func, const char *name, const uint32_t ret_type, amxd_object_fn_t impl)
 Data model RPC method constructor function. More...
 
void amxd_function_delete (amxd_function_t **func)
 Data model RPC method destructor function. More...
 
amxd_status_t amxd_function_copy (amxd_function_t **dest, const amxd_function_t *const source)
 Data model RPC method copy constructor function. More...
 
amxd_object_tamxd_function_get_owner (const amxd_function_t *const func)
 Get the object pointer of the object containing the function definition. More...
 
amxd_function_tamxd_function_get_base (const amxd_function_t *const func)
 Get the base function definition of an overridden function. More...
 
amxd_status_t amxd_function_call_base (const amxd_function_t *const func, amxd_object_t *const object, amxc_var_t *const args, amxc_var_t *const ret)
 Call the base function of an overridden function. More...
 
const char * amxd_function_get_name (const amxd_function_t *const func)
 Get the name of a method. More...
 
static uint32_t amxd_function_get_type (const amxd_function_t *const func)
 Gets the return type of a method. More...
 
amxd_status_t amxd_function_set_attr (amxd_function_t *func, const amxd_fattr_id_t attr, const bool enable)
 Sets or unsets a method attribute. More...
 
amxd_status_t amxd_function_set_attrs (amxd_function_t *func, const uint32_t bitmask, bool enable)
 Sets or unsets method attributes using a bitmap. More...
 
uint32_t amxd_function_get_attrs (const amxd_function_t *const func)
 Gets the set attributes of a RPC method. More...
 
bool amxd_function_is_attr_set (const amxd_function_t *const func, const amxd_fattr_id_t attr)
 Checks if a method attribute is set. More...
 
void amxd_function_set_flag (amxd_function_t *func, const char *flag)
 Sets a flag on a function. More...
 
void amxd_function_unset_flag (amxd_function_t *func, const char *flag)
 Removes a flag from a function. More...
 
bool amxd_function_has_flag (const amxd_function_t *const func, const char *flag)
 Checks if a flag is set. More...
 
amxd_status_t amxd_function_set_impl (amxd_function_t *const func, amxd_object_fn_t impl)
 Set an implementation for a RPC method. More...
 
amxd_status_t amxd_function_describe (amxd_function_t *const func, amxc_var_t *const value)
 Fetches the full RPC method definition in a variant. More...
 
amxd_status_t amxd_function_defer (const amxd_function_t *const func, uint64_t *call_id, amxc_var_t *const ret, amxd_deferred_cancel_t cancel_fn, void *priv)
 Creates a deferred RPC context. More...
 
void amxd_function_deferred_remove (uint64_t call_id)
 Removes a deferred RPC context. More...
 
void * amxd_function_deferred_get_priv (uint64_t call_id)
 Gets the callee private data of an deferred function. More...
 
amxd_status_t amxd_function_set_deferred_cb (uint64_t call_id, amxp_deferred_fn_t cb, void *priv)
 Sets a callback function to get the result of the deferred call. More...
 
amxd_status_t amxd_function_deferred_done (uint64_t call_id, amxd_status_t status, amxc_var_t *out_args, amxc_var_t *ret)
 Finishes a deferred method and removes the deferred function context. More...
 
amxd_status_t amxd_function_deferred_call_done (uint64_t call_id, amxd_status_t status, amxc_var_t *out_args, amxc_var_t *ret)
 Finishes a deferred method and removes the deferred function context. More...
 
amxd_status_t amxd_function_new_arg (amxd_function_t *func, const char *name, const uint32_t type, amxc_var_t *default_value)
 Adds an argument definition to a RPC method definition. More...
 
void amxd_function_del_arg (amxd_function_t *func, const char *name)
 Removes an argument definition from a RPC method definition. More...
 
amxd_func_arg_tamxd_function_get_arg (const amxd_function_t *const func, const char *name)
 Gets the argument definition of a RPC method. More...
 
amxd_status_t amxd_function_arg_set_attr (amxd_function_t *const func, const char *name, const amxd_aattr_id_t attr, const bool enable)
 Sets or unsets a method argument attribute. More...
 
amxd_status_t amxd_function_arg_set_attrs (amxd_function_t *func, const char *name, const uint32_t bitmask, bool enable)
 Sets or unsets method argument attributes using a bitmap. More...
 
bool amxd_function_arg_is_attr_set (const amxd_function_t *const func, const char *name, const amxd_aattr_id_t attr)
 Checks if a method argument attribute is set. More...
 
amxd_status_t amxd_function_arg_describe (amxd_func_arg_t *const arg, amxc_var_t *const value)
 Fetches the argument definition in a variant. More...
 
bool amxd_function_are_args_valid (amxd_function_t *func, amxc_var_t *args)
 Validates that the input arguments are valid. More...
 

Detailed Description

Ambiorix Data Model RPC methods API header file.

Definition in file amxd_function.h.

Typedef Documentation

◆ amxd_deferred_cancel_t

typedef void(* amxd_deferred_cancel_t) (uint64_t call_id, void *const priv)

Definition at line 77 of file amxd_function.h.