55 #if !defined(__AMXD_TRANSACTION_H__)
56 #define __AMXD_TRANSACTION_H__
144 #define amxd_trans_set_value(type, trans, name, value) \
145 amxd_trans_set_ ## type(trans, name, value)
279 const amxc_var_t* data);
307 ...) __attribute__ ((format(printf, 2, 3)));
346 const
char* param_name,
347 amxc_var_t* const value);
372 const uint32_t index,
405 const uint32_t index,
409 const
char* mib_name);
460 amxc_var_t new_value;
462 amxc_var_init(&new_value);
463 amxc_var_set(cstring_t, &new_value, value);
466 amxc_var_clean(&new_value);
475 amxc_var_t new_value;
477 amxc_var_init(&new_value);
478 amxc_var_set(csv_string_t, &new_value, value);
481 amxc_var_clean(&new_value);
490 amxc_var_t new_value;
492 amxc_var_init(&new_value);
493 amxc_var_set(ssv_string_t, &new_value, value);
496 amxc_var_clean(&new_value);
505 amxc_var_t new_value;
507 amxc_var_init(&new_value);
508 amxc_var_set(
bool, &new_value, value);
511 amxc_var_clean(&new_value);
520 amxc_var_t new_value;
522 amxc_var_init(&new_value);
523 amxc_var_set(int8_t, &new_value, value);
526 amxc_var_clean(&new_value);
535 amxc_var_t new_value;
537 amxc_var_init(&new_value);
538 amxc_var_set(uint8_t, &new_value, value);
541 amxc_var_clean(&new_value);
550 amxc_var_t new_value;
552 amxc_var_init(&new_value);
553 amxc_var_set(int16_t, &new_value, value);
556 amxc_var_clean(&new_value);
565 amxc_var_t new_value;
567 amxc_var_init(&new_value);
568 amxc_var_set(uint16_t, &new_value, value);
571 amxc_var_clean(&new_value);
580 amxc_var_t new_value;
582 amxc_var_init(&new_value);
583 amxc_var_set(int32_t, &new_value, value);
586 amxc_var_clean(&new_value);
595 amxc_var_t new_value;
597 amxc_var_init(&new_value);
598 amxc_var_set(uint32_t, &new_value, value);
601 amxc_var_clean(&new_value);
610 amxc_var_t new_value;
612 amxc_var_init(&new_value);
613 amxc_var_set(int64_t, &new_value, value);
616 amxc_var_clean(&new_value);
625 amxc_var_t new_value;
627 amxc_var_init(&new_value);
628 amxc_var_set(uint64_t, &new_value, value);
631 amxc_var_clean(&new_value);
640 amxc_var_t new_value;
642 amxc_var_init(&new_value);
643 amxc_var_set(
double, &new_value, value);
646 amxc_var_clean(&new_value);
655 amxc_var_t new_value;
657 amxc_var_init(&new_value);
658 amxc_var_set(amxc_ts_t, &new_value, value);
661 amxc_var_clean(&new_value);
struct _amxd_transaction amxd_trans_t
static amxd_status_t amxd_trans_set_int16_t(amxd_trans_t *const trans, const char *name, int16_t value)
static amxd_status_t amxd_trans_set_double(amxd_trans_t *const trans, const char *name, double value)
struct _amxd_trans_action amxd_trans_action_t
static amxd_status_t amxd_trans_set_uint32_t(amxd_trans_t *const trans, const char *name, uint32_t value)
static amxd_status_t amxd_trans_set_uint64_t(amxd_trans_t *const trans, const char *name, uint64_t value)
struct _amxd_trans_attr amxd_trans_attr_t
static amxd_status_t amxd_trans_set_int32_t(amxd_trans_t *const trans, const char *name, int32_t value)
static amxd_status_t amxd_trans_set_cstring_t(amxd_trans_t *const trans, const char *name, const char *value)
static amxd_status_t amxd_trans_set_amxc_ts_t(amxd_trans_t *const trans, const char *name, amxc_ts_t *value)
static amxd_status_t amxd_trans_set_uint8_t(amxd_trans_t *const trans, const char *name, uint8_t value)
amxd_status_t amxd_trans_add_mib(amxd_trans_t *const trans, const char *mib_name)
static amxd_status_t amxd_trans_set_bool(amxd_trans_t *const trans, const char *name, bool value)
static amxd_status_t amxd_trans_set_int8_t(amxd_trans_t *const trans, const char *name, int8_t value)
static amxd_status_t amxd_trans_set_int64_t(amxd_trans_t *const trans, const char *name, int64_t value)
static amxd_status_t amxd_trans_set_csv_string_t(amxd_trans_t *const trans, const char *name, const char *value)
static amxd_status_t amxd_trans_set_uint16_t(amxd_trans_t *const trans, const char *name, uint16_t value)
static amxd_status_t amxd_trans_set_ssv_string_t(amxd_trans_t *const trans, const char *name, const char *value)
enum _amxd_action amxd_action_t
enum _amxd_status amxd_status_t
@ amxd_status_unknown_error
enum _amxd_dm_access amxd_dm_access_t
Access level.
amxd_status_t amxd_trans_new(amxd_trans_t **trans)
Allocates a transaction object on the heap and initializes it.
amxd_status_t amxd_trans_add_action(amxd_trans_t *const trans, const amxd_action_t reason, const amxc_var_t *data)
Adds an action to a transaction.
void amxd_trans_dump(const amxd_trans_t *const trans, const int fd, const bool reverse)
Dumps the transaction to a file descriptor.
amxd_status_t amxd_trans_set_attr(amxd_trans_t *trans, amxd_tattr_id_t attr, bool enable)
Set the transaction attributes.
_amxd_tattr_id
Transaction attributes.
void amxd_trans_clean(amxd_trans_t *const trans)
Cleans the transaction object.
amxd_status_t amxd_trans_apply(amxd_trans_t *const trans, amxd_dm_t *const dm)
Applies all previously added actions.
amxd_status_t amxd_trans_add_inst(amxd_trans_t *const trans, const uint32_t index, const char *name)
Adds an instance add action to a transaction.
void amxd_trans_delete(amxd_trans_t **trans)
Frees the memory previously allocated for a transaction object.
amxd_status_t amxd_trans_del_inst(amxd_trans_t *const trans, const uint32_t index, const char *name)
Adds an instance delete action to a transaction.
amxd_status_t amxd_trans_select_pathf(amxd_trans_t *const trans, const char *path,...) __attribute__((format(printf
Selects an object using a absolute or relative path.
amxd_status_t amxd_status_t amxd_trans_select_object(amxd_trans_t *trans, const amxd_object_t *const object)
Selects an object using an object pointer.
amxd_status_t amxd_trans_set_param(amxd_trans_t *const trans, const char *param_name, amxc_var_t *const value)
Adds a set value action to a transaction.
enum _amxd_tattr_id amxd_tattr_id_t
Transaction attributes.
amxd_status_t amxd_trans_init(amxd_trans_t *const trans)
Initializes a transaction object.
static amxd_status_t status