159 amxc_var_t* subojects = NULL;
162 amxc_string_init(&path, 0);
165 rv = amxb_describe(
bus_ctx,
object, filter->
flags, &tmp, 5);
166 when_failed(rv, exit);
168 amxc_var_init(&output);
169 amxc_var_set_type(&output, AMXC_VAR_ID_LIST);
170 amxc_var_add(cstring_t, &output,
object);
172 if(GETP_UINT32(&tmp,
"0.type_id") != 2) {
173 if((filter->
flags & AMXB_FLAG_PARAMETERS) != 0) {
176 if((filter->
flags & AMXB_FLAG_FUNCTIONS) != 0) {
179 if((filter->
flags & AMXB_FLAG_OBJECTS) != 0) {
180 if(filter->
flags & AMXB_FLAG_FIRST_LVL) {
183 subojects = GETP_ARG(&tmp,
"0.objects");
187 if((filter->
flags & AMXB_FLAG_INSTANCES) != 0) {
188 if(filter->
flags & AMXB_FLAG_FIRST_LVL) {
191 subojects = GETP_ARG(&tmp,
"0.instances");
201 amxc_var_clean(&output);
203 amxc_var_for_each(subobj, subojects) {
204 amxc_string_setf(&path,
"%s%s.",
object, GET_CHAR(subobj, NULL));
209 amxc_var_clean(&tmp);
210 amxc_string_clean(&path);
static void amxb_ubus_fill_list(amxb_bus_ctx_t *bus_ctx, const char *path, amxc_var_t *data, const char *type, bool fetch_names, amxc_var_t *retval)