From 54f61f03e8dc0f9271b1c5e992bb95d69b2a4b6f Mon Sep 17 00:00:00 2001 From: Philippe Proulx Date: Tue, 22 Nov 2016 15:35:41 -0500 Subject: [PATCH] Document stream.h (API) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Proulx Signed-off-by: Jérémie Galarneau --- doc/api/Doxyfile.in | 2 + doc/api/images/ctf-trace.png | Bin 0 -> 16038 bytes include/babeltrace/ctf-ir/stream.h | 112 ++++++++++++++++++++++++++--- 3 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 doc/api/images/ctf-trace.png diff --git a/doc/api/Doxyfile.in b/doc/api/Doxyfile.in index 3c259176..9b8c1edc 100644 --- a/doc/api/Doxyfile.in +++ b/doc/api/Doxyfile.in @@ -25,6 +25,7 @@ ALIASES += postsuccessrefcountretinc="@post On successOn success, the reference count of the returned object is 1." ALIASES += postsuccessrefcountinc{1}="@post On success, the reference count of \p \1 is incremented." ALIASES += postrefcountsame{1}="@post The reference count of \p \1 is not modified." +ALIASES += postsuccessfrozen{1}="@post On success, \p \1 is frozen." ALIASES += prenotnull{1}="@pre \p \1 is not \c NULL." ALIASES += prehot{1}="@pre \p \1 is not frozen." ALIASES += preisintft{1}="@pre \p \1 is a CTF IR integer field type." @@ -44,6 +45,7 @@ ALIASES += preisarrayfield{1}="@pre \p \1 is a CTF IR array field. ALIASES += preisseqfield{1}="@pre \p \1 is a CTF IR sequence field." ALIASES += preisvarfield{1}="@pre \p \1 is a CTF IR variant field." ALIASES += imgpacketstructure="@image html ctf-stream-packet.png \"Structure of a CTF packet.\"" +ALIASES += imgtracestructure="@image html ctf-trace.png \"Structure of a CTF trace.\"" OPTIMIZE_OUTPUT_FOR_C = YES MARKDOWN_SUPPORT = YES TOC_INCLUDE_HEADINGS = 0 diff --git a/doc/api/images/ctf-trace.png b/doc/api/images/ctf-trace.png new file mode 100644 index 0000000000000000000000000000000000000000..64a389c21b9bfc3ef57de7d8699b019ebfc7dfa2 GIT binary patch literal 16038 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 is an instance of a +\link ctfirstreamclass CTF IR stream class\endlink. + +You can obtain a CTF IR stream object in two different modes: + +- Normal mode: use bt_ctf_stream_create() with a stream + class having a \link ctfirtraceclass CTF IR trace class\endlink parent + \em not created by a \link ctfirwriter CTF IR writer\endlink object to + create a default stream. +- CTF IR writer mode: use bt_ctf_stream_create() with + a stream class having a trace class parent created by a CTF IR writer + object, or use bt_ctf_writer_create_stream(). + +A CTF IR stream object represents a CTF stream, that is, a sequence of +packets containing events: + +@imgtracestructure + +A CTF IR stream does not contain, however, actual \link ctfirpacket CTF +IR packet\endlink objects: it only acts as a common parent to identify +the original CTF stream of packet objects. + +As with any Babeltrace object, CTF IR stream objects have +reference +counts. See \ref refs to learn more about the reference counting +management of Babeltrace objects. + +@sa ctfirstreamclass +@sa ctfirpacket +@sa ctfirwriterstream + +@file +@brief CTF IR stream type and functions. +@sa ctfirstream + +@addtogroup ctfirstream +@{ +*/ + struct bt_ctf_stream; +struct bt_ctf_event; + +/** +@brief Creates a default CTF IR stream named \p name from the CTF IR + stream class \p stream_class. +\p stream_class \em must have a parent +\link ctfirtraceclass CTF IR trace class\endlink. + +If the parent \link ctfirtraceclass trace class\endlink of +\p stream_class was created by a \link ctfirwriter CTF IR writer\endlink +object, then the stream object is created in CTF IR writer mode, and +you can use the functions of \ref ctfirwriterstream on it. +Otherwise it is created in normal mode: you should only use the +functions documented in this module on it. + +\p name can be \c NULL to create an unnamed stream object. + +@param[in] stream_class CTF IR stream class to use to create the + CTF IR stream. +@param[in] name Name of the stream object to create (copied on + success) or \c NULL to create an unnamed stream. +@returns Created stream object, or \c NULL on error. + +@prenotnull{stream_class} +@pre \p stream_class has a parent trace class. +@postsuccessrefcountret1 +*/ extern struct bt_ctf_stream *bt_ctf_stream_create( struct bt_ctf_stream_class *stream_class, const char *name); +/** +@brief Returns the name of the CTF IR stream \p stream. + +On success, \p stream remains the sole owner of the returned string. + +@param[in] stream Stream object of which to get the name. +@returns Name of stream \p stream, or \c NULL if + \p stream is unnamed or on error. + +@prenotnull{stream} +@postrefcountsame{stream} +*/ extern const char *bt_ctf_stream_get_name(struct bt_ctf_stream *stream); -/* - * bt_ctf_stream_get_stream_class: get a stream's class. - * - * @param stream Stream instance. - * - * Returns the stream's class, NULL on error. - */ +/** +@brief Returns the parent CTF IR stream class of the CTF IR + stream \p stream. + +This function returns a reference to the stream class which was used +to create the stream object in the first place with +bt_ctf_stream_create(). + +@param[in] stream Stream of which to get the parent stream class. +@returns Parent stream class of \p stream, + or \c NULL on error. + +@prenotnull{stream} +@postsuccessrefcountretinc +*/ extern struct bt_ctf_stream_class *bt_ctf_stream_get_class( struct bt_ctf_stream *stream); +/** @} */ + #ifdef __cplusplus } #endif -- 2.34.1