summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
7eb4835)
The help of a component class is a full text which describes its
purpose, the expected params for its constructor, etc. It does not have
to start with a description since there's already a description property for
this.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
enum bt_component_class_type type;
GString *name;
GString *description;
enum bt_component_class_type type;
GString *name;
GString *description;
struct {
bt_component_class_init_method init;
bt_component_class_destroy_method destroy;
struct {
bt_component_class_init_method init;
bt_component_class_destroy_method destroy;
struct bt_component_class *component_class,
const char *description);
struct bt_component_class *component_class,
const char *description);
+extern int bt_component_class_set_help(
+ struct bt_component_class *component_class,
+ const char *help);
+
extern int bt_component_class_freeze(
struct bt_component_class *component_class);
extern int bt_component_class_freeze(
struct bt_component_class *component_class);
extern const char *bt_component_class_get_description(
struct bt_component_class *component_class);
extern const char *bt_component_class_get_description(
struct bt_component_class *component_class);
+extern const char *bt_component_class_get_help(
+ struct bt_component_class *component_class);
+
/**
* Get a component class' type.
*
/**
* Get a component class' type.
*
if (class->description) {
g_string_free(class->description, TRUE);
}
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);
}
if (class->destroy_listeners) {
g_array_free(class->destroy_listeners, TRUE);
}
+ 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) {
class->destroy_listeners = g_array_new(FALSE, TRUE,
sizeof(struct bt_component_class_destroy_listener));
if (!class->destroy_listeners) {
+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)
{
const char *bt_component_class_get_name(
struct bt_component_class *component_class)
{
component_class->description->str : NULL;
}
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)
BT_HIDDEN
int bt_component_class_add_destroy_listener(struct bt_component_class *class,
bt_component_class_destroy_listener_func func, void *data)