if (class->name) {
g_string_free(class->name, TRUE);
}
+ if (class->description) {
+ g_string_free(class->description, TRUE);
+ }
bt_put(class->plugin);
g_free(class);
BT_HIDDEN
struct bt_component_class *bt_component_class_create(
enum bt_component_type type, const char *name,
- struct bt_plugin *plugin)
+ const char *description, struct bt_plugin *plugin)
{
struct bt_component_class *class;
bt_object_init(class, bt_component_class_destroy);
class->type = type;
class->name = g_string_new(name);
- if (!class->name) {
+ class->description = g_string_new(description);
+ if (!class->name || !class->description) {
BT_PUT(class);
goto end;
}
return component_class ? bt_get(component_class->plugin) :
NULL;
}
+
+const char *bt_component_class_get_description(
+ struct bt_component_class *component_class)
+{
+ return component_class ? component_class->description->str : NULL;
+}
+