X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Ftrace.h;h=840ebf372c2383327a71a623803bc6ef982249cb;hb=4cdafd515891b2541a078030c4cfc1a17c6f2315;hp=b2cda19bcf711e505c30edcec253ef7764764059;hpb=063003164359e469b2d60cfe1c5d885e37678aff;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/trace.h b/include/babeltrace/ctf-ir/trace.h index b2cda19b..840ebf37 100644 --- a/include/babeltrace/ctf-ir/trace.h +++ b/include/babeltrace/ctf-ir/trace.h @@ -45,6 +45,10 @@ extern "C" { @ingroup ctfir @brief CTF IR trace class. +@code +#include +@endcode + A CTF IR trace class is a descriptor of traces. @@ -52,8 +56,8 @@ You can obtain a trace class in two different modes: - Normal mode: use bt_ctf_trace_create() to create a default, empty trace class. -- CTF writer mode: use bt_ctf_writer_get_trace() to - get the trace class created by a given CTF writer object. +- CTF IR writer mode: use bt_ctf_writer_get_trace() to + get the trace class created by a given CTF IR writer object. A trace class has the following properties: @@ -95,7 +99,7 @@ A trace class also contains zero or more @todo Elaborate about clock classes irt clock values. -As with any Babeltrace object, CTF IR stream class objects have +As with any Babeltrace object, CTF IR trace class objects have reference counts. See \ref refs to learn more about the reference counting management of Babeltrace objects. @@ -105,7 +109,7 @@ success: - bt_ctf_trace_add_stream_class() - bt_ctf_writer_create_stream() - (\link ctfirwriter CTF writer\endlink mode only) + (\link ctfirwriter CTF IR writer\endlink mode only) You cannot modify a frozen trace class: it is considered immutable, except for: @@ -477,6 +481,7 @@ extern int bt_ctf_trace_set_environment_field_string( or \c NULL on error. @prenotnull{trace_class} +@postrefcountsame{trace_class} @postsuccessrefcountretinc @sa bt_ctf_trace_set_packet_header_type(): Sets the packet @@ -591,6 +596,8 @@ You can call this function even if \p trace_class is frozen. @prenotnull{clock_class} @postrefcountsame{trace_class} @postsuccessrefcountinc{clock_class} +@post On success, if \p trace_class is frozen, + \p clock_class is frozen. @sa bt_ctf_trace_get_clock(): Returns the clock class contained in a given trace class at a given index. @@ -673,6 +680,13 @@ You can only add a given stream class to one trace class. You can call this function even if \p trace_class is frozen. +This function tries to resolve the needed +\link ctfirfieldtypes CTF IR field type\endlink of the dynamic field +types that are found anywhere in the root field types of +\p stream_class and of all its currently contained +\link ctfireventclass CTF IR event classes\endlink. If any automatic +resolving fails, then this function fails. + @param[in] trace_class Trace class to which to add \p stream_class. @param[in] stream_class Stream class to add to \p trace_class. @returns 0 on success, or a negative value on error. @@ -681,6 +695,7 @@ You can call this function even if \p trace_class is frozen. @prenotnull{stream_class} @postrefcountsame{trace_class} @postsuccessrefcountinc{stream_class} +@postsuccessfrozen{stream_class} @sa bt_ctf_trace_get_clock(): Returns the stream class contained in a given trace class at a given index. @@ -699,14 +714,13 @@ extern int bt_ctf_trace_add_stream_class(struct bt_ctf_trace *trace_class, /** @brief User function type to use with bt_ctf_trace_add_listener(). -@param[in] element New element which is part of the trace class - hierarchy. -@param[in] data User data. +@param[in] obj New CTF IR object which is part of the trace + class hierarchy. +@param[in] data User data. -@prenotnull{element} +@prenotnull{obj} */ -typedef void (*bt_ctf_listener_cb)( - struct bt_ctf_ir_element *element, void *data); +typedef void (*bt_ctf_listener_cb)(struct bt_ctf_object *obj, void *data); /** @brief Adds the trace class modification listener \p listener to @@ -723,6 +737,7 @@ is modified, \p listener is called with the new element and with @prenotnull{trace_class} @prenotnull{listener} +@postrefcountsame{trace_class} */ extern int bt_ctf_trace_add_listener(struct bt_ctf_trace *trace_class, bt_ctf_listener_cb listener, void *data); @@ -746,7 +761,7 @@ class, the stream class itself, and all its children event classes. @prenotnull{visitor} */ extern int bt_ctf_trace_visit(struct bt_ctf_trace *trace_class, - bt_ctf_ir_visitor visitor, void *data); + bt_ctf_visitor visitor, void *data); /** @} */