- check(sr_config_list(
- config_driver, config_sdi, config_channel_group,
- key->id(), &gvar_opts));
-
- opts = static_cast<const uint32_t *>(g_variant_get_fixed_array(
- gvar_opts, &num_opts, sizeof(uint32_t)));
-
- for (gsize i = 0; i < num_opts; i++)
- {
- auto key = ConfigKey::get(opts[i] & SR_CONF_MASK);
- set<const Capability *> capabilities;
- if (opts[i] & SR_CONF_GET)
- capabilities.insert(Capability::GET);
- if (opts[i] & SR_CONF_SET)
- capabilities.insert(Capability::SET);
- if (opts[i] & SR_CONF_LIST)
- capabilities.insert(Capability::LIST);
- result[key] = capabilities;
- }
-
- g_variant_unref(gvar_opts);