lib: use object pool for event and packet notifications
[babeltrace.git] / include / babeltrace / graph / component.h
index 975c10e326886b963117590f9ae5434677bce4ef..f2db9d723c1f254056937b90e1be920fe016429f 100644 (file)
  * SOFTWARE.
  */
 
-#include <babeltrace/graph/component-status.h>
+/* For BT_COMPONENT_CLASS_TYPE_* */
 #include <babeltrace/graph/component-class.h>
-#include <babeltrace/graph/notification-iterator.h>
-#include <babeltrace/values.h>
-#include <stdbool.h>
+
+/* For bt_bool */
+#include <babeltrace/types.h>
+
+/* For bt_get */
+#include <babeltrace/ref.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -43,22 +46,6 @@ struct bt_component;
 struct bt_value;
 struct bt_port;
 
-/**
- * Create an instance of a component from a component class.
- *
- * @param component_class      Component class of which to create an instance
- * @param name                 Name of the new component instance, optional
- * @param params               A dictionary of component parameters
- * @returns                    Returns a pointer to a new component instance
- */
-extern struct bt_component *bt_component_create(
-               struct bt_component_class *component_class, const char *name,
-               struct bt_value *params);
-
-extern struct bt_component *bt_component_create_with_init_method_data(
-               struct bt_component_class *component_class, const char *name,
-               struct bt_value *params, void *init_method_data);
-
 /**
  * Get component's name.
  *
@@ -80,27 +67,33 @@ extern enum bt_component_class_type bt_component_get_class_type(
                struct bt_component *component);
 
 static inline
-bool bt_component_is_source(struct bt_component *component)
+bt_bool bt_component_is_source(struct bt_component *component)
 {
        return bt_component_get_class_type(component) ==
                BT_COMPONENT_CLASS_TYPE_SOURCE;
 }
 
 static inline
-bool bt_component_is_filter(struct bt_component *component)
+bt_bool bt_component_is_filter(struct bt_component *component)
 {
        return bt_component_get_class_type(component) ==
                BT_COMPONENT_CLASS_TYPE_FILTER;
 }
 
 static inline
-bool bt_component_is_sink(struct bt_component *component)
+bt_bool bt_component_is_sink(struct bt_component *component)
 {
        return bt_component_get_class_type(component) ==
                BT_COMPONENT_CLASS_TYPE_SINK;
 }
 
-extern struct bt_graph *bt_component_get_graph(struct bt_component *component);
+extern struct bt_graph *bt_component_borrow_graph(struct bt_component *component);
+
+static inline
+struct bt_graph *bt_component_get_graph(struct bt_component *component)
+{
+       return bt_get(bt_component_borrow_graph(component));
+}
 
 #ifdef __cplusplus
 }
This page took 0.036251 seconds and 4 git commands to generate.