lib: rename bt_plugin_create_all_*() -> bt_plugin_find_all_*()
[babeltrace.git] / lib / graph / component-class.c
index 36d3970fd2da5060cca922b7da1fc2547be62ab3..12a3eec0307331f39d246b486af60e9870c1c1dc 100644 (file)
@@ -1,8 +1,7 @@
 /*
+ * Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
  * Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
  * in the Software without restriction, including without limitation the rights
 #define BT_LOG_TAG "COMP-CLASS"
 #include <babeltrace/lib-logging-internal.h>
 
+#include <babeltrace/assert-internal.h>
+#include <babeltrace/assert-pre-internal.h>
 #include <babeltrace/compiler-internal.h>
-#include <babeltrace/graph/private-component-class.h>
-#include <babeltrace/graph/private-component-class-source.h>
-#include <babeltrace/graph/private-component-class-filter.h>
-#include <babeltrace/graph/private-component-class-sink.h>
+#include <babeltrace/graph/component-class.h>
+#include <babeltrace/graph/component-class-const.h>
+#include <babeltrace/graph/component-class-source.h>
+#include <babeltrace/graph/component-class-source-const.h>
+#include <babeltrace/graph/component-class-filter.h>
+#include <babeltrace/graph/component-class-filter-const.h>
+#include <babeltrace/graph/component-class-sink.h>
+#include <babeltrace/graph/component-class-sink-const.h>
 #include <babeltrace/graph/component-class-internal.h>
-#include <babeltrace/object.h>
 #include <babeltrace/types.h>
-#include <babeltrace/assert-internal.h>
-#include <babeltrace/assert-pre-internal.h>
 #include <glib.h>
 
 #define BT_ASSERT_PRE_COMP_CLS_HOT(_cc) \
-       BT_ASSERT_PRE_HOT(((struct bt_component_class *) (_cc)),        \
+       BT_ASSERT_PRE_HOT(((const struct bt_component_class *) (_cc)),  \
                "Component class", ": %!+C", (_cc))
 
 static
@@ -130,10 +132,9 @@ end:
        return ret;
 }
 
-struct bt_private_component_class_source *
-bt_private_component_class_source_create(
+struct bt_component_class_source *bt_component_class_source_create(
                const char *name,
-               bt_private_component_class_source_notification_iterator_next_method method)
+               bt_component_class_source_notification_iterator_next_method method)
 {
        struct bt_component_class_source *source_class = NULL;
        int ret;
@@ -169,9 +170,9 @@ end:
        return (void *) source_class;
 }
 
-struct bt_private_component_class_filter *
-bt_private_component_class_filter_create(const char *name,
-               bt_private_component_class_filter_notification_iterator_next_method method)
+struct bt_component_class_filter *bt_component_class_filter_create(
+               const char *name,
+               bt_component_class_filter_notification_iterator_next_method method)
 {
        struct bt_component_class_filter *filter_class = NULL;
        int ret;
@@ -207,9 +208,8 @@ end:
        return (void *) filter_class;
 }
 
-struct bt_private_component_class_sink *bt_private_component_class_sink_create(
-               const char *name,
-               bt_private_component_class_sink_consume_method method)
+struct bt_component_class_sink *bt_component_class_sink_create(
+               const char *name, bt_component_class_sink_consume_method method)
 {
        struct bt_component_class_sink *sink_class = NULL;
        int ret;
@@ -245,12 +245,10 @@ end:
        return (void *) sink_class;
 }
 
-int bt_private_component_class_source_set_init_method(
-               struct bt_private_component_class_source *priv_comp_cls,
-               bt_private_component_class_source_init_method method)
+int bt_component_class_source_set_init_method(
+               struct bt_component_class_source *comp_cls,
+               bt_component_class_source_init_method method)
 {
-       struct bt_component_class_source *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -260,12 +258,10 @@ int bt_private_component_class_source_set_init_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_init_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_init_method method)
+int bt_component_class_filter_set_init_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_init_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -275,12 +271,10 @@ int bt_private_component_class_filter_set_init_method(
        return 0;
 }
 
-int bt_private_component_class_sink_set_init_method(
-               struct bt_private_component_class_sink *priv_comp_cls,
-               bt_private_component_class_sink_init_method method)
+int bt_component_class_sink_set_init_method(
+               struct bt_component_class_sink *comp_cls,
+               bt_component_class_sink_init_method method)
 {
-       struct bt_component_class_sink *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -290,12 +284,10 @@ int bt_private_component_class_sink_set_init_method(
        return 0;
 }
 
-int bt_private_component_class_source_set_finalize_method(
-               struct bt_private_component_class_source *priv_comp_cls,
-               bt_private_component_class_source_finalize_method method)
+int bt_component_class_source_set_finalize_method(
+               struct bt_component_class_source *comp_cls,
+               bt_component_class_source_finalize_method method)
 {
-       struct bt_component_class_source *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -305,12 +297,10 @@ int bt_private_component_class_source_set_finalize_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_finalize_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_finalize_method method)
+int bt_component_class_filter_set_finalize_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_finalize_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -320,12 +310,10 @@ int bt_private_component_class_filter_set_finalize_method(
        return 0;
 }
 
-int bt_private_component_class_sink_set_finalize_method(
-               struct bt_private_component_class_sink *priv_comp_cls,
-               bt_private_component_class_sink_finalize_method method)
+int bt_component_class_sink_set_finalize_method(
+               struct bt_component_class_sink *comp_cls,
+               bt_component_class_sink_finalize_method method)
 {
-       struct bt_component_class_sink *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -335,12 +323,10 @@ int bt_private_component_class_sink_set_finalize_method(
        return 0;
 }
 
-int bt_private_component_class_source_set_query_method(
-               struct bt_private_component_class_source *priv_comp_cls,
-               bt_private_component_class_source_query_method method)
+int bt_component_class_source_set_query_method(
+               struct bt_component_class_source *comp_cls,
+               bt_component_class_source_query_method method)
 {
-       struct bt_component_class_source *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -350,12 +336,10 @@ int bt_private_component_class_source_set_query_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_query_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_query_method method)
+int bt_component_class_filter_set_query_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_query_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -365,12 +349,10 @@ int bt_private_component_class_filter_set_query_method(
        return 0;
 }
 
-int bt_private_component_class_sink_set_query_method(
-               struct bt_private_component_class_sink *priv_comp_cls,
-               bt_private_component_class_sink_query_method method)
+int bt_component_class_sink_set_query_method(
+               struct bt_component_class_sink *comp_cls,
+               bt_component_class_sink_query_method method)
 {
-       struct bt_component_class_sink *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -380,12 +362,10 @@ int bt_private_component_class_sink_set_query_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_accept_input_port_connection_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_accept_input_port_connection_method method)
+int bt_component_class_filter_set_accept_input_port_connection_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_accept_input_port_connection_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -395,12 +375,10 @@ int bt_private_component_class_filter_set_accept_input_port_connection_method(
        return 0;
 }
 
-int bt_private_component_class_sink_set_accept_input_port_connection_method(
-               struct bt_private_component_class_sink *priv_comp_cls,
-               bt_private_component_class_sink_accept_input_port_connection_method method)
+int bt_component_class_sink_set_accept_input_port_connection_method(
+               struct bt_component_class_sink *comp_cls,
+               bt_component_class_sink_accept_input_port_connection_method method)
 {
-       struct bt_component_class_sink *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -410,12 +388,10 @@ int bt_private_component_class_sink_set_accept_input_port_connection_method(
        return 0;
 }
 
-int bt_private_component_class_source_set_accept_output_port_connection_method(
-               struct bt_private_component_class_source *priv_comp_cls,
-               bt_private_component_class_source_accept_output_port_connection_method method)
+int bt_component_class_source_set_accept_output_port_connection_method(
+               struct bt_component_class_source *comp_cls,
+               bt_component_class_source_accept_output_port_connection_method method)
 {
-       struct bt_component_class_source *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -425,12 +401,10 @@ int bt_private_component_class_source_set_accept_output_port_connection_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_accept_output_port_connection_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_accept_output_port_connection_method method)
+int bt_component_class_filter_set_accept_output_port_connection_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_accept_output_port_connection_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -440,12 +414,10 @@ int bt_private_component_class_filter_set_accept_output_port_connection_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_input_port_connected_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_input_port_connected_method method)
+int bt_component_class_filter_set_input_port_connected_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_input_port_connected_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -455,12 +427,10 @@ int bt_private_component_class_filter_set_input_port_connected_method(
        return 0;
 }
 
-int bt_private_component_class_sink_set_input_port_connected_method(
-               struct bt_private_component_class_sink *priv_comp_cls,
-               bt_private_component_class_sink_input_port_connected_method method)
+int bt_component_class_sink_set_input_port_connected_method(
+               struct bt_component_class_sink *comp_cls,
+               bt_component_class_sink_input_port_connected_method method)
 {
-       struct bt_component_class_sink *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -470,12 +440,10 @@ int bt_private_component_class_sink_set_input_port_connected_method(
        return 0;
 }
 
-int bt_private_component_class_source_set_output_port_connected_method(
-               struct bt_private_component_class_source *priv_comp_cls,
-               bt_private_component_class_source_output_port_connected_method method)
+int bt_component_class_source_set_output_port_connected_method(
+               struct bt_component_class_source *comp_cls,
+               bt_component_class_source_output_port_connected_method method)
 {
-       struct bt_component_class_source *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -485,12 +453,10 @@ int bt_private_component_class_source_set_output_port_connected_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_output_port_connected_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_output_port_connected_method method)
+int bt_component_class_filter_set_output_port_connected_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_output_port_connected_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -500,12 +466,10 @@ int bt_private_component_class_filter_set_output_port_connected_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_input_port_disconnected_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_input_port_disconnected_method method)
+int bt_component_class_filter_set_input_port_disconnected_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_input_port_disconnected_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -515,12 +479,10 @@ int bt_private_component_class_filter_set_input_port_disconnected_method(
        return 0;
 }
 
-int bt_private_component_class_sink_set_input_port_disconnected_method(
-               struct bt_private_component_class_sink *priv_comp_cls,
-               bt_private_component_class_sink_input_port_disconnected_method method)
+int bt_component_class_sink_set_input_port_disconnected_method(
+               struct bt_component_class_sink *comp_cls,
+               bt_component_class_sink_input_port_disconnected_method method)
 {
-       struct bt_component_class_sink *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -530,12 +492,10 @@ int bt_private_component_class_sink_set_input_port_disconnected_method(
        return 0;
 }
 
-int bt_private_component_class_source_set_output_port_disconnected_method(
-               struct bt_private_component_class_source *priv_comp_cls,
-               bt_private_component_class_source_output_port_disconnected_method method)
+int bt_component_class_source_set_output_port_disconnected_method(
+               struct bt_component_class_source *comp_cls,
+               bt_component_class_source_output_port_disconnected_method method)
 {
-       struct bt_component_class_source *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -545,12 +505,10 @@ int bt_private_component_class_source_set_output_port_disconnected_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_output_port_disconnected_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_output_port_disconnected_method method)
+int bt_component_class_filter_set_output_port_disconnected_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_output_port_disconnected_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -560,12 +518,10 @@ int bt_private_component_class_filter_set_output_port_disconnected_method(
        return 0;
 }
 
-int bt_private_component_class_source_set_notification_iterator_init_method(
-               struct bt_private_component_class_source *priv_comp_cls,
-               bt_private_component_class_source_notification_iterator_init_method method)
+int bt_component_class_source_set_notification_iterator_init_method(
+               struct bt_component_class_source *comp_cls,
+               bt_component_class_source_notification_iterator_init_method method)
 {
-       struct bt_component_class_source *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -575,12 +531,10 @@ int bt_private_component_class_source_set_notification_iterator_init_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_notification_iterator_init_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_notification_iterator_init_method method)
+int bt_component_class_filter_set_notification_iterator_init_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_notification_iterator_init_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -590,12 +544,10 @@ int bt_private_component_class_filter_set_notification_iterator_init_method(
        return 0;
 }
 
-int bt_private_component_class_source_set_notification_iterator_finalize_method(
-               struct bt_private_component_class_source *priv_comp_cls,
-               bt_private_component_class_source_notification_iterator_finalize_method method)
+int bt_component_class_source_set_notification_iterator_finalize_method(
+               struct bt_component_class_source *comp_cls,
+               bt_component_class_source_notification_iterator_finalize_method method)
 {
-       struct bt_component_class_source *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -605,12 +557,10 @@ int bt_private_component_class_source_set_notification_iterator_finalize_method(
        return 0;
 }
 
-int bt_private_component_class_filter_set_notification_iterator_finalize_method(
-               struct bt_private_component_class_filter *priv_comp_cls,
-               bt_private_component_class_filter_notification_iterator_finalize_method method)
+int bt_component_class_filter_set_notification_iterator_finalize_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_notification_iterator_finalize_method method)
 {
-       struct bt_component_class_filter *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -620,12 +570,10 @@ int bt_private_component_class_filter_set_notification_iterator_finalize_method(
        return 0;
 }
 
-int bt_private_component_class_set_description(
-               struct bt_private_component_class *priv_comp_cls,
+int bt_component_class_set_description(
+               struct bt_component_class *comp_cls,
                const char *description)
 {
-       struct bt_component_class *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(description, "Description");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -638,12 +586,10 @@ int bt_private_component_class_set_description(
        return 0;
 }
 
-int bt_private_component_class_set_help(
-               struct bt_private_component_class *priv_comp_cls,
+int bt_component_class_set_help(
+               struct bt_component_class *comp_cls,
                const char *help)
 {
-       struct bt_component_class *comp_cls = (void *) priv_comp_cls;
-
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(help, "Help");
        BT_ASSERT_PRE_COMP_CLS_HOT(comp_cls);
@@ -652,21 +598,21 @@ int bt_private_component_class_set_help(
        return 0;
 }
 
-const char *bt_component_class_get_name(struct bt_component_class *comp_cls)
+const char *bt_component_class_get_name(const struct bt_component_class *comp_cls)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        return comp_cls->name->str;
 }
 
 enum bt_component_class_type bt_component_class_get_type(
-               struct bt_component_class *comp_cls)
+               const struct bt_component_class *comp_cls)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        return comp_cls->type;
 }
 
 const char *bt_component_class_get_description(
-               struct bt_component_class *comp_cls)
+               const struct bt_component_class *comp_cls)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        return comp_cls->description &&
@@ -675,7 +621,7 @@ const char *bt_component_class_get_description(
 }
 
 const char *bt_component_class_get_help(
-               struct bt_component_class *comp_cls)
+               const struct bt_component_class *comp_cls)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        return comp_cls->help &&
@@ -699,9 +645,57 @@ void bt_component_class_add_destroy_listener(
 }
 
 BT_HIDDEN
-void _bt_component_class_freeze(struct bt_component_class *comp_cls)
+void _bt_component_class_freeze(const struct bt_component_class *comp_cls)
 {
        BT_ASSERT(comp_cls);
        BT_LIB_LOGD("Freezing component class: %!+C", comp_cls);
-       comp_cls->frozen = true;
+       ((struct bt_component_class *) comp_cls)->frozen = true;
+}
+
+void bt_component_class_get_ref(
+               const struct bt_component_class *component_class)
+{
+       bt_object_get_ref(component_class);
+}
+
+void bt_component_class_put_ref(
+               const struct bt_component_class *component_class)
+{
+       bt_object_put_ref(component_class);
+}
+
+void bt_component_class_source_get_ref(
+               const struct bt_component_class_source *component_class_source)
+{
+       bt_object_get_ref(component_class_source);
+}
+
+void bt_component_class_source_put_ref(
+               const struct bt_component_class_source *component_class_source)
+{
+       bt_object_put_ref(component_class_source);
+}
+
+void bt_component_class_filter_get_ref(
+               const struct bt_component_class_filter *component_class_filter)
+{
+       bt_object_get_ref(component_class_filter);
+}
+
+void bt_component_class_filter_put_ref(
+               const struct bt_component_class_filter *component_class_filter)
+{
+       bt_object_put_ref(component_class_filter);
+}
+
+void bt_component_class_sink_get_ref(
+               const struct bt_component_class_sink *component_class_sink)
+{
+       bt_object_get_ref(component_class_sink);
+}
+
+void bt_component_class_sink_put_ref(
+               const struct bt_component_class_sink *component_class_sink)
+{
+       bt_object_put_ref(component_class_sink);
 }
This page took 0.034823 seconds and 4 git commands to generate.