+ printf_verbose("Found %d component classes in %d plugins.\n",
+ component_classes_count, plugins_count);
+
+ for (i = 0; i < plugins_count; i++) {
+ int j;
+ struct bt_plugin *plugin = g_ptr_array_index(loaded_plugins, i);
+
+ component_classes_count =
+ bt_plugin_get_component_class_count(plugin);
+
+ for (j = 0; j < component_classes_count; j++) {
+ struct bt_component_class *comp_class =
+ bt_plugin_get_component_class(plugin, j);
+ const char *plugin_name = bt_plugin_get_name(plugin);
+ const char *comp_class_name =
+ bt_component_class_get_name(comp_class);
+ const char *path = bt_plugin_get_path(plugin);
+ const char *author = bt_plugin_get_author(plugin);
+ const char *license = bt_plugin_get_license(plugin);
+ const char *plugin_description =
+ bt_plugin_get_description(plugin);
+ const char *comp_class_description =
+ bt_component_class_get_description(comp_class);
+ enum bt_component_class_type type =
+ bt_component_class_get_type(comp_class);
+
+ printf_verbose("[%s - %s (%s)]\n", plugin_name,
+ comp_class_name, component_type_str(type));
+ printf_verbose("\tpath: %s\n", path ? path : "None");
+ printf_verbose("\tauthor: %s\n",
+ author ? author : "Unknown");
+ printf_verbose("\tlicense: %s\n",
+ license ? license : "Unknown");
+ printf_verbose("\tplugin description: %s\n",
+ plugin_description ? plugin_description : "None");
+ printf_verbose("\tcomponent description: %s\n",
+ comp_class_description ? comp_class_description : "None");
+ bt_put(comp_class);
+ }