- /* Find the corresponding component class descriptor entry */
- for (i = 0; i < comp_class_full_descriptors->len; i++) {
- struct comp_class_full_descriptor *cc_full_descr =
- &g_array_index(comp_class_full_descriptors,
- struct comp_class_full_descriptor, i);
-
- if (cur_cc_descr_attr->comp_class_descriptor ==
- cc_full_descr->descriptor) {
- switch (cur_cc_descr_attr->type) {
- case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_DESCRIPTION:
- cc_full_descr->description =
- cur_cc_descr_attr->value.description;
- break;
- case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_INIT_METHOD:
- cc_full_descr->init_method =
- cur_cc_descr_attr->value.init_method;
- break;
- case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_DESTROY_METHOD:
- cc_full_descr->destroy_method =
- cur_cc_descr_attr->value.destroy_method;
- break;
- case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_FILTER_ADD_ITERATOR_METHOD:
- cc_full_descr->filter_add_iterator_method =
- cur_cc_descr_attr->value.filter_add_iterator_method;
- break;
- case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_SINK_ADD_ITERATOR_METHOD:
- cc_full_descr->sink_add_iterator_method =
- cur_cc_descr_attr->value.sink_add_iterator_method;
- break;
- case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_NOTIF_ITER_INIT_METHOD:
- cc_full_descr->iterator_methods.init =
- cur_cc_descr_attr->value.notif_iter_init_method;
- break;
- case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_NOTIF_ITER_DESTROY_METHOD:
- cc_full_descr->iterator_methods.destroy =
- cur_cc_descr_attr->value.notif_iter_destroy_method;
- break;
- case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_NOTIF_ITER_SEEK_TIME_METHOD:
- cc_full_descr->iterator_methods.seek_time =
- cur_cc_descr_attr->value.notif_iter_seek_time_method;
- break;
- default:
- printf_verbose("WARNING: Unknown attribute \"%s\" (type %d) for component class %s (type %d) in plugin %s\n",
- cur_cc_descr_attr->type_name,
- cur_cc_descr_attr->type,
- cur_cc_descr_attr->comp_class_descriptor->name,
- cur_cc_descr_attr->comp_class_descriptor->type,
- descriptor->name);
- break;
- }
- }
- }