55 #if !defined(__AMXD_OBJECT_H__)
56 #define __AMXD_OBJECT_H__
113 #define amxd_object_for_each(type, it, object) \
114 for(amxc_llist_it_t* it = amxd_object_first_ ## type(object), \
115 * _next = amxc_llist_it_get_next(it); \
118 _next = amxc_llist_it_get_next(it))
149 #define amxd_object_iterate(type, it, object) \
150 for(amxc_llist_it_t* it = amxd_object_first_ ## type(object); \
152 it = amxc_llist_it_get_next(it))
164 #define AMXD_OBJECT_NAMED 0x00
176 #define AMXD_OBJECT_INDEXED 0x01
188 #define AMXD_OBJECT_EXTENDED 0x02
202 #define AMXD_OBJECT_REGEXP 0x04
214 #define AMXD_OBJECT_TERMINATE 0x08
226 #define AMXD_OBJECT_SUPPORTED 0x10
228 #define AMXD_OBJECT_AUTO_PATH 0x20
244 #define AMXD_OBJECT_PARAM 0x01
260 #define AMXD_OBJECT_FUNC 0x02
273 #define AMXD_OBJECT_CHILD 0x04
287 #define AMXD_OBJECT_INSTANCE 0x08
301 #define AMXD_OBJECT_NO_BASE 0x10
314 #define AMXD_TEMPLATE_INFO 0x20
316 #define AMXD_OBJECT_KEY_PARAM 0x40
318 #define AMXD_OBJECT_EVENT 0x80
328 #define AMXD_OBJECT_ALL \
329 AMXD_OBJECT_PARAM | \
331 AMXD_OBJECT_CHILD | \
549 const uint32_t flags);
655 const uint32_t bitmask,
748 const char* mib_name);
784 const char* mib_name);
811 const char* mib_name);
823 amxc_var_t*
const list,
828 amxc_var_t*
const value,
836 return object == NULL ? NULL : amxc_llist_get_first(&object->
functions);
841 return object == NULL ? NULL : amxc_llist_get_first(&object->
parameters);
amxd_status_t amxd_object_list(amxd_object_t *const object, amxc_var_t *const list, uint32_t flags, amxd_dm_access_t access)
amxd_object_t * amxd_object_get_base(const amxd_object_t *const object)
amxd_status_t amxd_object_describe(amxd_object_t *const object, amxc_var_t *const value, uint32_t flags, amxd_dm_access_t access)
amxd_status_t amxd_object_set_counter(amxd_object_t *const object, const char *name)
amxd_status_t amxd_object_set_max_instances(amxd_object_t *object, uint32_t max)
static amxc_llist_it_t * amxd_object_first_function(const amxd_object_t *const object)
static amxc_llist_it_t * amxd_object_first_parameter(const amxd_object_t *const object)
amxd_status_t amxd_object_validate(amxd_object_t *const object, int32_t depth)
Ambiorix Data Model API header file.
enum _amxd_status amxd_status_t
enum _amxd_object_type amxd_object_type_t
The different object types.
enum _amxd_dm_access amxd_dm_access_t
Access level.
enum _amxd_oattr_id amxd_oattr_id_t
The object attributes.
bool amxd_object_has_mib(amxd_object_t *object, const char *mib_name)
Checks if a mib has been added to a data model object.
char * amxd_object_get_mibs(amxd_object_t *object)
Get the names of all mibs attached to this object.
amxd_status_t amxd_object_add_mib(amxd_object_t *const object, const char *mib_name)
Adds a mib to an object.
amxd_status_t amxd_object_remove_mib(amxd_object_t *const object, const char *mib_name)
Removes a mib from an object.
uint32_t amxd_object_get_index(const amxd_object_t *const object)
Get the index of an instance object.
amxd_status_t amxd_object_set_attr(amxd_object_t *const object, const amxd_oattr_id_t attr, const bool enable)
Sets or unsets an object attribute.
amxd_status_t amxd_object_new_instance(amxd_object_t **object, amxd_object_t *templ, const char *name, uint32_t index, amxc_var_t *values)
Data model object constructor function.
amxd_status_t amxd_object_new(amxd_object_t **object, const amxd_object_type_t type, const char *name)
Data model object constructor function.
amxd_status_t amxd_object_add_instance(amxd_object_t **object, amxd_object_t *templ, const char *name, uint32_t index, amxc_var_t *values)
Data model object constructor function.
void amxd_object_delete(amxd_object_t **object)
Invokes the destroy handler(s) of the object.
static amxd_object_type_t amxd_object_get_type(const amxd_object_t *const object)
Returns the object type.
void amxd_object_free(amxd_object_t **object)
Data model object destructor function.
bool amxd_object_is_attr_set(const amxd_object_t *const object, const amxd_oattr_id_t attr)
Checks if an attribute is set.
const char * amxd_object_get_name(const amxd_object_t *const object, const uint32_t flags)
Get the name of the object (or index as a string for instance objects)
amxd_status_t amxd_object_set_attrs(amxd_object_t *const object, const uint32_t bitmask, bool enable)
Sets or unsets object attributes using a bitmap.
uint32_t amxd_object_get_attrs(const amxd_object_t *const object)
Gets the set attributes of an object.