static int config_list(uint32_t key, GVariant **data,
const struct sr_dev_inst *sdi, const struct sr_channel_group *cg)
{
- if (key == SR_CONF_SCAN_OPTIONS) {
- *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- scanopts, ARRAY_SIZE(scanopts), sizeof(uint32_t));
- return SR_OK;
- } else if ((key == SR_CONF_DEVICE_OPTIONS) && !sdi) {
- *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- drvopts, ARRAY_SIZE(drvopts), sizeof(uint32_t));
- return SR_OK;
- } else if ((key == SR_CONF_DEVICE_OPTIONS) && !cg) {
- *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- devopts, ARRAY_SIZE(devopts), sizeof(uint32_t));
- return SR_OK;
- }
-
- /* From here on, we're only concerned with channel group config. */
- if (!cg)
- return SR_ERR_NA;
-
/*
* TODO: Implement channel group configuration when adding support for
* plug-in cards.
*/
- switch (key) {
- default:
- return SR_ERR_NA;
- }
-
- return SR_OK;
+ return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
}
static void create_channel_index_list(GSList *channels, GArray **arr)