316 amxc_var_t req_paths;
318 amxc_var_t* req_path = NULL;
319 amxc_var_t* params = NULL;
320 amxc_var_t* results = NULL;
322 amxc_var_init(&req_paths);
324 amxc_var_set_type(&req_paths, AMXC_VAR_ID_LIST);
325 req_path = amxc_var_add(amxc_htable_t, &req_paths, NULL);
326 amxc_var_add_key(cstring_t, req_path,
"path",
"Device.Ethernet.Interface.2.");
327 params = amxc_var_add_key(amxc_htable_t, req_path,
"parameters", NULL);
328 amxc_var_add_key(cstring_t, params,
"Status",
"dummy-invalid");
330 req_path = amxc_var_add(amxc_htable_t, &req_paths, NULL);
331 amxc_var_add_key(cstring_t, req_path,
"path",
"Device.Ethernet.Interface.[Status == 'Dormant'].");
332 params = amxc_var_add_key(amxc_htable_t, req_path,
"parameters", NULL);
333 amxc_var_add_key(
bool, params,
"Enable",
false);
335 req_path = amxc_var_add(amxc_htable_t, &req_paths, NULL);
336 amxc_var_add_key(cstring_t, req_path,
"path",
"MQTT.Client.*.");
337 params = amxc_var_add_key(amxc_htable_t, req_path,
"parameters", NULL);
338 amxc_var_add_key(
bool, params,
"Enable",
true);
339 amxc_var_add_key(cstring_t, params,
"TransportProtocol",
"TLS");
341 req_path = amxc_var_add(amxc_htable_t, &req_paths, NULL);
342 amxc_var_add_key(cstring_t, req_path,
"path",
"MQTT.Client.[Alias == 'cpe-mybroker'].");
343 params = amxc_var_add_key(amxc_htable_t, req_path,
"parameters", NULL);
344 amxc_var_add_key(
bool, params,
"Enable",
true);
345 amxc_var_add_key(cstring_t, params,
"TransportProtocol",
"TLS");
347 amxc_var_dump(&req_paths, STDOUT_FILENO);
350 amxc_var_dump(&ret, STDOUT_FILENO);
352 assert_int_equal(amxc_var_type_of(&ret), AMXC_VAR_ID_LIST);
353 assert_int_equal(amxc_llist_size(amxc_var_constcast(amxc_llist_t, &ret)), 4);
354 results = GETI_ARG(&ret, 0);
355 assert_non_null(results);
356 assert_non_null(GETP_ARG(results,
"result.'Device.Ethernet.Interface.2.'.Status"));
357 assert_int_equal(amxc_var_type_of(GETP_ARG(results,
"result.'Device.Ethernet.Interface.2.'.Status")), AMXC_VAR_ID_HTABLE);
359 results = GETI_ARG(&ret, 1);
360 assert_non_null(results);
361 assert_non_null(GETP_ARG(results,
"result.'Device.Ethernet.Interface.1.'.Enable"));
362 assert_int_equal(amxc_var_type_of(GETP_ARG(results,
"result.'Device.Ethernet.Interface.1.'.Enable")), AMXC_VAR_ID_BOOL);
363 assert_non_null(GETP_ARG(results,
"result.'Device.Ethernet.Interface.5.'.Enable"));
364 assert_int_equal(amxc_var_type_of(GETP_ARG(results,
"result.'Device.Ethernet.Interface.5.'.Enable")), AMXC_VAR_ID_BOOL);
366 results = GETI_ARG(&ret, 2);
367 assert_non_null(results);
368 assert_non_null(GETP_ARG(results,
"result.'MQTT.Client.1.'.Enable"));
369 assert_int_equal(amxc_var_type_of(GETP_ARG(results,
"result.'MQTT.Client.1.'.Enable")), AMXC_VAR_ID_BOOL);
370 assert_non_null(GETP_ARG(results,
"result.'MQTT.Client.2.'.Enable"));
371 assert_int_equal(amxc_var_type_of(GETP_ARG(results,
"result.'MQTT.Client.2.'.Enable")), AMXC_VAR_ID_BOOL);
373 results = GETI_ARG(&ret, 3);
374 assert_non_null(results);
376 amxc_var_clean(&ret);
377 assert_int_equal(
amxb_get(
bus_ctx,
"MQTT.Client.*.Enable", 0, &ret, 5), 0);
378 assert_true(GETP_BOOL(&ret,
"0.'MQTT.Client.1.'.Enable"));
379 assert_true(GETP_BOOL(&ret,
"0.'MQTT.Client.2.'.Enable"));
381 amxc_var_clean(&ret);
382 amxc_var_clean(&req_paths);
#define AMXB_FLAG_PARTIAL