lib: make trace IR API const-correct
[babeltrace.git] / plugins / ctf / common / metadata / decoder.h
index dd60c219c3e82ff878d64438fc0a1c920f300a41..51d3a185b3206d7c27c788c05cebec12c3025035 100644 (file)
@@ -16,8 +16,9 @@
  */
 
 #include <stdint.h>
+#include <stdbool.h>
 
-struct bt_ctf_trace;
+struct bt_trace;
 
 /* A CTF metadata decoder object */
 struct ctf_metadata_decoder;
@@ -31,16 +32,22 @@ enum ctf_metadata_decoder_status {
        CTF_METADATA_DECODER_STATUS_IR_VISITOR_ERROR    = -4,
 };
 
+/* Decoding configuration */
+struct ctf_metadata_decoder_config {
+       int64_t clock_class_offset_s;
+       int64_t clock_class_offset_ns;
+};
+
 /*
- * Creates a CTF metadata decoder with `err` as the error stream (can
- * be `NULL` to disable error output). `clock_class_offset_ns` is an
- * offset to apply to the decoded clock classes's offsets.
+ * Creates a CTF metadata decoder. `name` is this decoder's trace's
+ * name.
  *
  * Returns `NULL` on error.
  */
 BT_HIDDEN
-struct ctf_metadata_decoder *ctf_metadata_decoder_create(FILE *err,
-               uint64_t clock_class_offset_ns);
+struct ctf_metadata_decoder *ctf_metadata_decoder_create(
+               const struct ctf_metadata_decoder_config *config,
+               const char *name);
 
 /*
  * Destroys a CTF metadata decoder that you created with
@@ -57,7 +64,7 @@ void ctf_metadata_decoder_destroy(
  * until the end of this file stream. If it finds new information (new
  * event class, new stream class, or new clock class), it appends this
  * information to the decoder's trace object (as returned by
- * ctf_metadata_get_trace()), or it creates this trace.
+ * ctf_metadata_decoder_get_ir_trace()), or it creates this trace.
  *
  * The metadata can be packetized or not.
  *
@@ -81,16 +88,13 @@ BT_HIDDEN
 enum ctf_metadata_decoder_status ctf_metadata_decoder_decode(
                struct ctf_metadata_decoder *metadata_decoder, FILE *fp);
 
-/*
- * Returns a new reference to the current CTF IR trace object which is
- * the result of the metadata decoding process.
- *
- * The trace object, once created, remains the same until you call
- * ctf_metadata_decoder_destroy().
- */
 BT_HIDDEN
-struct bt_ctf_trace *ctf_metadata_decoder_get_trace(
-               struct ctf_metadata_decoder *metadata_decoder);
+struct bt_trace *ctf_metadata_decoder_get_ir_trace(
+               struct ctf_metadata_decoder *mdec);
+
+BT_HIDDEN
+struct ctf_trace_class *ctf_metadata_decoder_borrow_ctf_trace_class(
+               struct ctf_metadata_decoder *mdec);
 
 /*
  * Checks whether or not a given metadata file stream is packetized, and
This page took 0.024557 seconds and 4 git commands to generate.