Split CTF IR and CTF writer APIs and implementations
[babeltrace.git] / include / babeltrace / ctf-ir / stream.h
index 140970c5aed86924216a7da48c52d64b9009b625..4b4ac3cfe42d9859d283aa612764c2f25ae16d31 100644 (file)
  * http://www.efficios.com/ctf
  */
 
-#include <babeltrace/ctf-ir/stream-class.h>
 #include <stdint.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct bt_stream_class;
+
 /**
 @defgroup ctfirstream CTF IR stream
 @ingroup ctfir
@@ -55,14 +56,14 @@ A CTF IR <strong><em>stream</em></strong> is an instance of a
 
 You can obtain a CTF IR stream object in two different modes:
 
-- <strong>Normal mode</strong>: use bt_ctf_stream_create() or
-  bt_ctf_stream_create_with_id() with a stream class having a
+- <strong>Normal mode</strong>: use bt_stream_create() or
+  bt_stream_create_with_id() with a stream class having a
   \link ctfirtraceclass CTF IR trace class\endlink parent
   \em not created by a \link ctfwriter CTF writer\endlink object to
   create a default stream.
-- <strong>CTF writer mode</strong>: use bt_ctf_stream_create() with
+- <strong>CTF writer mode</strong>: use bt_stream_create() with
   a stream class having a trace class parent created by a CTF writer
-  object, or use bt_ctf_writer_create_stream().
+  object, or use bt_writer_create_stream().
 
 A CTF IR stream object represents a CTF stream, that is, a sequence of
 packets containing events:
@@ -91,46 +92,13 @@ management of Babeltrace objects.
 */
 
 /**
-@struct bt_ctf_stream
+@struct bt_stream
 @brief A CTF IR stream.
 @sa ctfirstream
 @sa ctfwriterstream
 */
-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 ctfwriter CTF writer\endlink
-object, then the stream object is created in CTF writer mode, and
-you can use the functions of \ref ctfwriterstream 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
-
-@sa bt_ctf_stream_create_with_id(): Create a CTF IR stream with a
-       specific ID.
-*/
-extern struct bt_ctf_stream *bt_ctf_stream_create(
-               struct bt_ctf_stream_class *stream_class,
-               const char *name);
+struct bt_stream;
+struct bt_event;
 
 /**
 @brief  Creates a default CTF IR stream named \p name with ID \p id
@@ -139,12 +107,8 @@ extern struct bt_ctf_stream *bt_ctf_stream_create(
 \p stream_class \em must have a parent
 \link ctfirtraceclass CTF IR trace class\endlink.
 
-You \em must have created the trace class of \p stream class directly
-with bt_ctf_trace_create(), not through bt_ctf_writer_create() (use
-bt_ctf_stream_create() for this).
-
 \p id \em must be unique amongst the IDs of all the streams created
-from \p stream_class with bt_ctf_stream_create_with_id().
+from \p stream_class with bt_stream_create_with_id().
 
 \p name can be \c NULL to create an unnamed stream object.
 
@@ -159,11 +123,8 @@ from \p stream_class with bt_ctf_stream_create_with_id().
 @pre \p id is lesser than or equal to 9223372036854775807 (\c INT64_MAX).
 @pre \p stream_class has a parent trace class.
 @postsuccessrefcountret1
-
-@sa bt_ctf_stream_create(): Create a CTF IR stream without an ID.
 */
-extern struct bt_ctf_stream *bt_ctf_stream_create_with_id(
-               struct bt_ctf_stream_class *stream_class,
+extern struct bt_stream *bt_stream_create(struct bt_stream_class *stream_class,
                const char *name, uint64_t id);
 
 /**
@@ -178,7 +139,7 @@ On success, \p stream remains the sole owner of the returned string.
 @prenotnull{stream}
 @postrefcountsame{stream}
 */
-extern const char *bt_ctf_stream_get_name(struct bt_ctf_stream *stream);
+extern const char *bt_stream_get_name(struct bt_stream *stream);
 
 /**
 @brief Returns the numeric ID of the CTF IR stream \p stream.
@@ -190,7 +151,7 @@ extern const char *bt_ctf_stream_get_name(struct bt_ctf_stream *stream);
 @prenotnull{stream}
 @postrefcountsame{stream}
 */
-extern int64_t bt_ctf_stream_get_id(struct bt_ctf_stream *stream);
+extern int64_t bt_stream_get_id(struct bt_stream *stream);
 
 /**
 @brief Returns the parent CTF IR stream class of the CTF IR
@@ -198,7 +159,7 @@ extern int64_t bt_ctf_stream_get_id(struct bt_ctf_stream *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().
+bt_stream_create().
 
 @param[in] stream      Stream of which to get the parent stream class.
 @returns               Parent stream class of \p stream,
@@ -208,8 +169,8 @@ bt_ctf_stream_create().
 @postrefcountsame{stream}
 @postsuccessrefcountretinc
 */
-extern struct bt_ctf_stream_class *bt_ctf_stream_get_class(
-               struct bt_ctf_stream *stream);
+extern struct bt_stream_class *bt_stream_get_class(
+               struct bt_stream *stream);
 
 /** @} */
 
This page took 0.026099 seconds and 4 git commands to generate.