Add CTF-IR visitor interface
[babeltrace.git] / include / babeltrace / ctf-ir / stream-class.h
index 200a1fd1b4494340e267725d6766e6f85957c01b..bc1ece1dc6a6cc93d24d8a8dd6fee53f7700f5a6 100644 (file)
@@ -31,6 +31,7 @@
  */
 
 #include <stdint.h>
+#include <babeltrace/ctf-ir/visitor.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -105,21 +106,6 @@ extern int bt_ctf_stream_class_set_name(
 extern struct bt_ctf_clock *bt_ctf_stream_class_get_clock(
                struct bt_ctf_stream_class *stream_class);
 
-/*
- * bt_ctf_stream_class_set_clock: assign a clock to a stream class.
- *
- * Assign a clock to a stream class. This clock will be sampled each time an
- * event is appended to an instance of this stream class.
- *
- * @param stream_class Stream class.
- * @param clock Clock to assign to the provided stream class.
- *
- * Returns 0 on success, a negative value on error.
- */
-extern int bt_ctf_stream_class_set_clock(
-               struct bt_ctf_stream_class *stream_class,
-               struct bt_ctf_clock *clock);
-
 /*
  * bt_ctf_stream_class_get_id: Get a stream class' id.
  *
@@ -287,21 +273,18 @@ extern int bt_ctf_stream_class_set_event_context_type(
                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.
+ * bt_ctf_stream_class_visit: visit a stream class' event classes.
  *
- * 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.
+ * Call visitor on each of a stream class' event classes.
  *
- * 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 instance.
+ * @param visitor visitor function to invoke for each stream class.
+ * @param data user data passed to the visitor.
  *
- * @param stream_class Stream class.
+ * Returns 0 on success, a negative value on error.
  */
-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);
+extern int bt_ctf_stream_class_visit(struct bt_ctf_stream_class *stream_class,
+               bt_ctf_ir_visitor visitor, void *data);
 
 #ifdef __cplusplus
 }
This page took 0.033718 seconds and 4 git commands to generate.