Shared object plugin: add component class help support
[babeltrace.git] / lib / plugin / plugin-so.c
index 6760aa758159db7dd911d435257dbf6cb807baed..9a2a7cc8cd3c7bdb0cda81d335daba13b38825a0 100644 (file)
@@ -249,6 +249,7 @@ enum bt_plugin_status bt_plugin_so_init(
        struct comp_class_full_descriptor {
                const struct __bt_plugin_component_class_descriptor *descriptor;
                const char *description;
+               const char *help;
                bt_component_class_init_method init_method;
                bt_component_class_destroy_method destroy_method;
                bt_component_class_filter_add_iterator_method filter_add_iterator_method;
@@ -365,6 +366,10 @@ enum bt_plugin_status bt_plugin_so_init(
                                        cc_full_descr->description =
                                                cur_cc_descr_attr->value.description;
                                        break;
+                               case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_HELP:
+                                       cc_full_descr->help =
+                                               cur_cc_descr_attr->value.help;
+                                       break;
                                case BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_INIT_METHOD:
                                        cc_full_descr->init_method =
                                                cur_cc_descr_attr->value.init_method;
@@ -466,6 +471,16 @@ enum bt_plugin_status bt_plugin_so_init(
                        }
                }
 
+               if (cc_full_descr->help) {
+                       ret = bt_component_class_set_help(comp_class,
+                               cc_full_descr->help);
+                       if (ret) {
+                               status = BT_PLUGIN_STATUS_ERROR;
+                               BT_PUT(comp_class);
+                               goto end;
+                       }
+               }
+
                if (cc_full_descr->init_method) {
                        ret = bt_component_class_set_init_method(comp_class,
                                cc_full_descr->init_method);
This page took 0.02417 seconds and 4 git commands to generate.