ir: move writer-specific declarations to writer header
[babeltrace.git] / include / babeltrace / ctf-ir / stream-class.h
index c275b025f8fca8fe24f60c1b68020677176118de..ca929afbb9831efd85f6aa956a14eb843927fd50 100644 (file)
@@ -30,6 +30,8 @@
  * http://www.efficios.com/ctf
  */
 
+#include <stdint.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -63,6 +65,16 @@ struct bt_ctf_clock;
  */
 extern struct bt_ctf_stream_class *bt_ctf_stream_class_create(const char *name);
 
+/*
+ * bt_ctf_stream_class_get_trace: Get a stream class' associated trace.
+ *
+ * @param stream_class Stream class.
+ *
+ * Returns the stream class' associated trace, NULL on error.
+ */
+extern struct bt_ctf_trace *bt_ctf_stream_class_get_trace(
+               struct bt_ctf_stream_class *stream_class);
+
 /*
  * bt_ctf_stream_class_get_name: Get a stream class' name.
  *
@@ -142,7 +154,8 @@ extern int bt_ctf_stream_class_set_id(
  * The stream class will share the ownership of "event_class" by incrementing
  * its reference count.
  *
- * Note that an event class may only be added to one stream class.
+ * Note that an event class may only be added to one stream class. It
+ * also becomes immutable.
  *
  * @param stream_class Stream class.
  * @param event_class Event class to add to the provided stream class.
@@ -187,6 +200,18 @@ extern struct bt_ctf_event_class *bt_ctf_stream_class_get_event_class(
 extern struct bt_ctf_event_class *bt_ctf_stream_class_get_event_class_by_name(
                struct bt_ctf_stream_class *stream_class, const char *name);
 
+/*
+ * bt_ctf_stream_class_get_event_class_by_name: Get stream class event class by
+ * ID.
+ *
+ * @param stream_class Stream class.
+ * @param id Event class ID.
+ *
+ * Returns event class, NULL on error.
+ */
+extern struct bt_ctf_event_class *bt_ctf_stream_class_get_event_class_by_id(
+               struct bt_ctf_stream_class *stream_class, uint32_t id);
+
 /*
  * bt_ctf_stream_class_get_packet_context_type: get the stream class' packet
  * context type.
@@ -261,23 +286,6 @@ extern int bt_ctf_stream_class_set_event_context_type(
                struct bt_ctf_stream_class *stream_class,
                struct bt_ctf_field_type *event_context_type);
 
-/*
- * bt_ctf_stream_class_get and bt_ctf_stream_class_put: increment and
- * decrement the stream class' reference count.
- *
- * These functions ensure that the stream class won't be destroyed while it
- * is in use. The same number of get and put (plus one extra put to
- * release the initial reference done at creation) have to be done to
- * destroy a stream class.
- *
- * When the stream class' reference count is decremented to 0 by a
- * bt_ctf_stream_class_put, the stream class is freed.
- *
- * @param stream_class Stream class.
- */
-extern void bt_ctf_stream_class_get(struct bt_ctf_stream_class *stream_class);
-extern void bt_ctf_stream_class_put(struct bt_ctf_stream_class *stream_class);
-
 #ifdef __cplusplus
 }
 #endif
This page took 0.025276 seconds and 4 git commands to generate.