#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
#include <string.h>
#include <amxc/amxc.h>
#include <amxp/amxp.h>
#include <amxd/amxd_common.h>
#include <amxd/amxd_dm.h>
#include <amxd/amxd_path.h>
#include <amxd/amxd_object.h>
#include <amxb/amxb_be_intf.h>
#include <amxb/amxb.h>
#include "amxb_priv.h"
Go to the source code of this file.
|
static void | amxb_filter_params (amxc_var_t *current, amxc_var_t *parameters, amxc_var_t *oparameters) |
|
static void | amxb_add_rollback (amxc_var_t *current, amxc_var_t *rollback) |
|
static void | amxb_set_result (const char *req_path, amxc_var_t *ret, amxc_var_t *sub_ret, int rv) |
|
static void | amxb_set_rollback (amxb_bus_ctx_t *const bus_ctx, amxc_var_t *rollback) |
|
int | amxb_set_multiple (amxb_bus_ctx_t *const bus_ctx, uint32_t flags, amxc_var_t *req_paths, amxc_var_t *ret, int timeout) |
| Sets parameter values for multiple objects (request paths) More...
|
|
◆ _GNU_SOURCE
◆ amxb_add_rollback()
static void amxb_add_rollback |
( |
amxc_var_t * |
current, |
|
|
amxc_var_t * |
rollback |
|
) |
| |
|
static |
Definition at line 96 of file amxb_ba_op_set_multiple.c.
99 amxc_var_for_each(
object, current) {
100 const char* path = amxc_var_key(
object);
101 amxc_var_t* data = amxc_var_get_pathf(rollback, AMXC_VAR_FLAG_DEFAULT,
"'%s'", path);
103 amxc_var_delete(&
object);
106 amxc_var_take_it(
object);
107 amxc_var_set_key(rollback, path,
object, AMXC_VAR_FLAG_DEFAULT);
◆ amxb_filter_params()
static void amxb_filter_params |
( |
amxc_var_t * |
current, |
|
|
amxc_var_t * |
parameters, |
|
|
amxc_var_t * |
oparameters |
|
) |
| |
|
static |
Definition at line 78 of file amxb_ba_op_set_multiple.c.
81 const amxc_htable_t* htparams = amxc_var_constcast(amxc_htable_t, parameters);
82 const amxc_htable_t* htoparams = amxc_var_constcast(amxc_htable_t, oparameters);
84 amxc_var_for_each(
object, current) {
85 amxc_var_for_each(param,
object) {
86 const char* pname = amxc_var_key(param);
87 if(amxc_htable_contains(htparams, pname) ||
88 amxc_htable_contains(htoparams, pname)) {
91 amxc_var_delete(¶m);
◆ amxb_set_result()
static void amxb_set_result |
( |
const char * |
req_path, |
|
|
amxc_var_t * |
ret, |
|
|
amxc_var_t * |
sub_ret, |
|
|
int |
rv |
|
) |
| |
|
static |
Definition at line 111 of file amxb_ba_op_set_multiple.c.
115 amxc_var_for_each(result, sub_ret) {
116 amxc_var_t* rp = amxc_var_add(amxc_htable_t, ret, NULL);
117 amxc_var_add_key(cstring_t, rp,
"path", req_path);
118 amxc_var_add_key(uint32_t, rp,
"status", rv);
119 if(!amxc_htable_is_empty(amxc_var_constcast(amxc_htable_t, result))) {
120 amxc_var_take_it(result);
121 amxc_var_set_key(rp,
"result", result, AMXC_VAR_FLAG_DEFAULT);
◆ amxb_set_rollback()
static void amxb_set_rollback |
( |
amxb_bus_ctx_t *const |
bus_ctx, |
|
|
amxc_var_t * |
rollback |
|
) |
| |
|
static |
Definition at line 126 of file amxb_ba_op_set_multiple.c.
131 amxc_var_for_each(params, rollback) {
132 const char* path = amxc_var_key(params);
133 amxc_var_clean(&ret);
135 amxc_var_delete(¶ms);
138 amxc_var_clean(&ret);
int amxb_set(amxb_bus_ctx_t *const bus_ctx, const char *object, amxc_var_t *values, amxc_var_t *ret, int timeout)
Sets parameter values of one single object or of multiple instance objects.
static amxb_bus_ctx_t * bus_ctx