X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=plugins%2Fctf%2Fcommon%2Fmetadata%2Fdecoder.h;h=51d3a185b3206d7c27c788c05cebec12c3025035;hb=44c440bc5fe8219cc17d1b786d91fd83c4c9860a;hp=959bdd4002f5336130e91fede02e53646225caa3;hpb=55314f2a6c08045f6f7ca7700a4932628eff1b87;p=babeltrace.git diff --git a/plugins/ctf/common/metadata/decoder.h b/plugins/ctf/common/metadata/decoder.h index 959bdd40..51d3a185 100644 --- a/plugins/ctf/common/metadata/decoder.h +++ b/plugins/ctf/common/metadata/decoder.h @@ -16,8 +16,9 @@ */ #include +#include -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