Add component class help property
[babeltrace.git] / lib / component / component-class.c
index 1f6e680aa7efb01d2115764f6c8befffa52e3320..a008042190d78d007c6d571c0ee3669436cb9950 100644 (file)
@@ -57,6 +57,9 @@ void bt_component_class_destroy(struct bt_object *obj)
        if (class->description) {
                g_string_free(class->description, TRUE);
        }
+       if (class->help) {
+               g_string_free(class->help, TRUE);
+       }
        if (class->destroy_listeners) {
                g_array_free(class->destroy_listeners, TRUE);
        }
@@ -82,6 +85,11 @@ int bt_component_class_init(struct bt_component_class *class,
                goto error;
        }
 
+       class->help = g_string_new(NULL);
+       if (!class->help) {
+               goto error;
+       }
+
        class->destroy_listeners = g_array_new(FALSE, TRUE,
                sizeof(struct bt_component_class_destroy_listener));
        if (!class->destroy_listeners) {
@@ -390,6 +398,23 @@ end:
        return ret;
 }
 
+int bt_component_class_set_help(
+               struct bt_component_class *component_class,
+               const char *help)
+{
+       int ret = 0;
+
+       if (!component_class || component_class->frozen || !help) {
+               ret = -1;
+               goto end;
+       }
+
+       g_string_assign(component_class->help, help);
+
+end:
+       return ret;
+}
+
 const char *bt_component_class_get_name(
                struct bt_component_class *component_class)
 {
@@ -410,6 +435,13 @@ const char *bt_component_class_get_description(
                component_class->description->str : NULL;
 }
 
+const char *bt_component_class_get_help(
+               struct bt_component_class *component_class)
+{
+       return component_class && component_class->help ?
+               component_class->help->str : NULL;
+}
+
 BT_HIDDEN
 int bt_component_class_add_destroy_listener(struct bt_component_class *class,
                bt_component_class_destroy_listener_func func, void *data)
This page took 0.023627 seconds and 4 git commands to generate.