Make API CTF-agnostic
[babeltrace.git] / plugins / ctf / common / metadata / decoder.h
index 959bdd4002f5336130e91fede02e53646225caa3..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. `clock_class_offset_ns` is an
- * offset to apply to the decoded clock classes's offsets. `name` is
- * this decoder's trace's name.
+ * 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(
-               int64_t clock_class_offset_ns, const char *name);
+               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.025643 seconds and 4 git commands to generate.