API doc: add notes about automatic resolving
[babeltrace.git] / include / babeltrace / ctf-ir / trace.h
index b2cda19bcf711e505c30edcec253ef7764764059..840ebf372c2383327a71a623803bc6ef982249cb 100644 (file)
@@ -45,6 +45,10 @@ extern "C" {
 @ingroup ctfir
 @brief CTF IR trace class.
 
+@code
+#include <babeltrace/ctf-ir/trace.h>
+@endcode
+
 A CTF IR <strong><em>trace class</em></strong> is a descriptor of
 traces.
 
@@ -52,8 +56,8 @@ You can obtain a trace class in two different modes:
 
 - <strong>Normal mode</strong>: use bt_ctf_trace_create() to create a
   default, empty trace class.
-- <strong>CTF writer mode</strong>: use bt_ctf_writer_get_trace() to
-  get the trace class created by a given CTF writer object.
+- <strong>CTF IR writer mode</strong>: 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
 <a href="https://en.wikipedia.org/wiki/Reference_counting">reference
 counts</a>. 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 <strong>On success, if \p trace_class is frozen</strong>,
+       \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);
 
 /** @} */
 
This page took 0.02546 seconds and 4 git commands to generate.