Split CTF IR and CTF writer APIs and implementations
[babeltrace.git] / include / babeltrace / ctf-ir / event-class.h
index fec7aa875a6e29b8227a0153ea83bcd03ed2bada..a8a3a673f1c994965bc6da754ad16fa2427b394f 100644 (file)
 
 #include <stdint.h>
 #include <stddef.h>
 
 #include <stdint.h>
 #include <stddef.h>
-#include <babeltrace/values.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct bt_value;
+
 /**
 @defgroup ctfireventclass CTF IR event class
 @ingroup ctfir
 /**
 @defgroup ctfireventclass CTF IR event class
 @ingroup ctfir
@@ -50,12 +51,14 @@ extern "C" {
 A CTF IR <strong><em>event class</em></strong> is a template that you
 can use to create concrete \link ctfirevent CTF IR events\endlink.
 
 A CTF IR <strong><em>event class</em></strong> is a template that you
 can use to create concrete \link ctfirevent CTF IR events\endlink.
 
-An event class has the following properties, both of which \em must
-be unique amongst all the event classes contained in the same
-\link ctfirstreamclass CTF IR stream class\endlink:
+An event class has the following properties:
 
 - A \b name.
 
 - A \b name.
-- A numeric \b ID.
+- A numeric \b ID (\em must be unique amongst all the event classes
+  contained in the same
+  \link ctfirstreamclass CTF IR stream class\endlink).
+- A optional <strong>log level</strong>.
+- An optional <strong>Eclipse Modeling Framework URI</strong>.
 
 A CTF IR event class owns two
 \link ctfirfieldtypes field types\endlink:
 
 A CTF IR event class owns two
 \link ctfirfieldtypes field types\endlink:
@@ -78,8 +81,8 @@ class\endlink contains zero or more \link ctfirstreamclass stream
 classes\endlink, and a stream class contains zero or more event classes.
 
 Before you can create an event from an event class with
 classes\endlink, and a stream class contains zero or more event classes.
 
 Before you can create an event from an event class with
-bt_ctf_event_create(), you \em must add the prepared event class to a
-stream class by calling bt_ctf_stream_class_add_event_class(). This
+bt_event_create(), you \em must add the prepared event class to a
+stream class by calling bt_stream_class_add_event_class(). This
 function, when successful, \em freezes the event class, disallowing any
 future modification of its properties and field types by the user.
 
 function, when successful, \em freezes the event class, disallowing any
 future modification of its properties and field types by the user.
 
@@ -88,7 +91,7 @@ As with any Babeltrace object, CTF IR event class objects have
 counts</a>. See \ref refs to learn more about the reference counting
 management of Babeltrace objects.
 
 counts</a>. See \ref refs to learn more about the reference counting
 management of Babeltrace objects.
 
-bt_ctf_stream_class_add_event_class() \em freezes its event class
+bt_stream_class_add_event_class() \em freezes its event class
 parameter on success. You cannot modify a frozen event class: it is
 considered immutable, except for \link refs reference counting\endlink.
 
 parameter on success. You cannot modify a frozen event class: it is
 considered immutable, except for \link refs reference counting\endlink.
 
@@ -104,14 +107,70 @@ considered immutable, except for \link refs reference counting\endlink.
 */
 
 /**
 */
 
 /**
-@struct bt_ctf_event_class
+@struct bt_event_class
 @brief A CTF IR event class.
 @sa ctfireventclass
 */
 @brief A CTF IR event class.
 @sa ctfireventclass
 */
-struct bt_ctf_event_class;
-struct bt_ctf_field;
-struct bt_ctf_field_type;
-struct bt_ctf_stream_class;
+struct bt_event_class;
+struct bt_field;
+struct bt_field_type;
+struct bt_stream_class;
+
+/**
+@brief Log level of an event class.
+*/
+enum bt_event_class_log_level {
+       /// Unknown, used for errors.
+       BT_EVENT_CLASS_LOG_LEVEL_UNKNOWN        = -1,
+
+       /// Unspecified log level.
+       BT_EVENT_CLASS_LOG_LEVEL_UNSPECIFIED    = 255,
+
+       /// System is unusable.
+       BT_EVENT_CLASS_LOG_LEVEL_EMERGENCY      = 0,
+
+       /// Action must be taken immediately.
+       BT_EVENT_CLASS_LOG_LEVEL_ALERT          = 1,
+
+       /// Critical conditions.
+       BT_EVENT_CLASS_LOG_LEVEL_CRITICAL       = 2,
+
+       /// Error conditions.
+       BT_EVENT_CLASS_LOG_LEVEL_ERROR          = 3,
+
+       /// Warning conditions.
+       BT_EVENT_CLASS_LOG_LEVEL_WARNING        = 4,
+
+       /// Normal, but significant, condition.
+       BT_EVENT_CLASS_LOG_LEVEL_NOTICE         = 5,
+
+       /// Informational message.
+       BT_EVENT_CLASS_LOG_LEVEL_INFO           = 6,
+
+       /// Debug information with system-level scope (set of programs).
+       BT_EVENT_CLASS_LOG_LEVEL_DEBUG_SYSTEM   = 7,
+
+       /// Debug information with program-level scope (set of processes).
+       BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROGRAM  = 8,
+
+       /// Debug information with process-level scope (set of modules).
+       BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROCESS  = 9,
+
+       /// Debug information with module (executable/library) scope (set of units).
+       BT_EVENT_CLASS_LOG_LEVEL_DEBUG_MODULE   = 10,
+
+       /// Debug information with compilation unit scope (set of functions).
+       BT_EVENT_CLASS_LOG_LEVEL_DEBUG_UNIT     = 11,
+
+       /// Debug information with function-level scope.
+       BT_EVENT_CLASS_LOG_LEVEL_DEBUG_FUNCTION = 12,
+
+       /// Debug information with line-level scope (default log level).
+       BT_EVENT_CLASS_LOG_LEVEL_DEBUG_LINE     = 13,
+
+       /// Debug-level message.
+       BT_EVENT_CLASS_LOG_LEVEL_DEBUG          = 14,
+};
 
 /**
 @name Creation and parent access functions
 
 /**
 @name Creation and parent access functions
@@ -124,22 +183,26 @@ struct bt_ctf_stream_class;
 On success, the context and payload field types are empty structure
 field types. You can modify those default field types after the
 event class is created with
 On success, the context and payload field types are empty structure
 field types. You can modify those default field types after the
 event class is created with
-bt_ctf_event_class_set_context_type() and
-bt_ctf_event_class_set_payload_type().
+bt_event_class_set_context_field_type() and
+bt_event_class_set_payload_field_type().
 
 Upon creation, the event class's ID is <em>not set</em>. You
 
 Upon creation, the event class's ID is <em>not set</em>. You
-can set it to a specific value with bt_ctf_event_class_set_id(). If it
-is still unset when you call bt_ctf_stream_class_add_event_class(), then
+can set it to a specific value with bt_event_class_set_id(). If it
+is still unset when you call bt_stream_class_add_event_class(), then
 the stream class assigns a unique ID to this event class before
 freezing it.
 
 the stream class assigns a unique ID to this event class before
 freezing it.
 
+The created event class's log level is initially set to
+#BT_EVENT_CLASS_LOG_LEVEL_UNSPECIFIED and it has no Eclipse Modeling
+Framework URI.
+
 @param[in] name        Name of the event class to create (copied on success).
 @returns       Created event class, or \c NULL on error.
 
 @prenotnull{name}
 @postsuccessrefcountret1
 */
 @param[in] name        Name of the event class to create (copied on success).
 @returns       Created event class, or \c NULL on error.
 
 @prenotnull{name}
 @postsuccessrefcountret1
 */
-extern struct bt_ctf_event_class *bt_ctf_event_class_create(const char *name);
+extern struct bt_event_class *bt_event_class_create(const char *name);
 
 /**
 @brief Returns the parent CTF IR stream class of the CTF IR event
 
 /**
 @brief Returns the parent CTF IR stream class of the CTF IR event
@@ -148,7 +211,7 @@ extern struct bt_ctf_event_class *bt_ctf_event_class_create(const char *name);
 It is possible that the event class was not added to a stream class
 yet, in which case this function returns \c NULL. You can add an
 event class to a stream class with
 It is possible that the event class was not added to a stream class
 yet, in which case this function returns \c NULL. You can add an
 event class to a stream class with
-bt_ctf_stream_class_add_event_class().
+bt_stream_class_add_event_class().
 
 @param[in] event_class Event class of which to get the parent
                        stream class.
 
 @param[in] event_class Event class of which to get the parent
                        stream class.
@@ -160,11 +223,11 @@ bt_ctf_stream_class_add_event_class().
 @postrefcountsame{event_class}
 @postsuccessrefcountretinc
 
 @postrefcountsame{event_class}
 @postsuccessrefcountretinc
 
-@sa bt_ctf_stream_class_add_event_class(): Add an event class to
+@sa bt_stream_class_add_event_class(): Add an event class to
        a stream class.
 */
        a stream class.
 */
-extern struct bt_ctf_stream_class *bt_ctf_event_class_get_stream_class(
-               struct bt_ctf_event_class *event_class);
+extern struct bt_stream_class *bt_event_class_get_stream_class(
+               struct bt_event_class *event_class);
 
 /** @} */
 
 
 /** @} */
 
@@ -186,8 +249,8 @@ string.
 @prenotnull{event_class}
 @postrefcountsame{event_class}
 */
 @prenotnull{event_class}
 @postrefcountsame{event_class}
 */
-extern const char *bt_ctf_event_class_get_name(
-               struct bt_ctf_event_class *event_class);
+extern const char *bt_event_class_get_name(
+               struct bt_event_class *event_class);
 
 /**
 @brief Returns the numeric ID of the CTF IR event class \p event_class.
 
 /**
 @brief Returns the numeric ID of the CTF IR event class \p event_class.
@@ -199,11 +262,11 @@ extern const char *bt_ctf_event_class_get_name(
 @prenotnull{event_class}
 @postrefcountsame{event_class}
 
 @prenotnull{event_class}
 @postrefcountsame{event_class}
 
-@sa bt_ctf_event_class_set_id(): Sets the numeric ID of a given
+@sa bt_event_class_set_id(): Sets the numeric ID of a given
        event class.
 */
        event class.
 */
-extern int64_t bt_ctf_event_class_get_id(
-               struct bt_ctf_event_class *event_class);
+extern int64_t bt_event_class_get_id(
+               struct bt_event_class *event_class);
 
 /**
 @brief Sets the numeric ID of the CTF IR event class
 
 /**
 @brief Sets the numeric ID of the CTF IR event class
@@ -221,140 +284,106 @@ of the stream class to which you eventually add \p event_class.
 @pre \p id is lesser than or equal to 9223372036854775807 (\c INT64_MAX).
 @postrefcountsame{event_class}
 
 @pre \p id is lesser than or equal to 9223372036854775807 (\c INT64_MAX).
 @postrefcountsame{event_class}
 
-@sa bt_ctf_event_class_get_id(): Returns the numeric ID of a given
+@sa bt_event_class_get_id(): Returns the numeric ID of a given
        event class.
 */
        event class.
 */
-extern int bt_ctf_event_class_set_id(
-               struct bt_ctf_event_class *event_class, uint64_t id);
+extern int bt_event_class_set_id(
+               struct bt_event_class *event_class, uint64_t id);
 
 /**
 
 /**
-@brief Returns the number of attributes contained in the CTF IR event
-       class \p event_class.
+@brief Returns the log level of the CTF IR event class \p event_class.
 
 
-@param[in] event_class Event class of which to get the number
-                       of contained attributes.
-@returns               Number of contained attributes in
-                       \p event_class, or a negative value on error.
+@param[in] event_class Event class of which to get the log level.
+@returns               Log level of event class \p event_class,
+                       #BT_EVENT_CLASS_LOG_LEVEL_UNSPECIFIED if
+                       not specified, or
+                       #BT_EVENT_CLASS_LOG_LEVEL_UNKNOWN on error.
 
 @prenotnull{event_class}
 @postrefcountsame{event_class}
 
 
 @prenotnull{event_class}
 @postrefcountsame{event_class}
 
-@sa bt_ctf_event_class_get_attribute_name_by_index(): Returns the name
-       of the attribute of a given event class at a given index.
-@sa bt_ctf_event_class_get_attribute_value_by_index(): Returns the value
-       of the attribute of a given event class at a given index.
+@sa bt_event_class_set_log_level(): Sets the log level of a given
+       event class.
 */
 */
-extern int64_t bt_ctf_event_class_get_attribute_count(
-               struct bt_ctf_event_class *event_class);
+extern enum bt_event_class_log_level bt_event_class_get_log_level(
+               struct bt_event_class *event_class);
 
 /**
 
 /**
-@brief Returns the name of the attribute at the index \p index of the
-       CTF IR event class \p event_class.
-
-On success, \p event_class remains the sole owner of the returned
-string.
+@brief Sets the log level of the CTF IR event class
+       \p event_class to \p log_level.
 
 
-@param[in] event_class Event class of which to get the name
-                       of an attribute.
-@param[in] index       Index of the attribute of which to get the name.
-@returns               Attribute name, or \c NULL on error.
+@param[in] event_class Event class of which to set the log level.
+@param[in] log_level   Log level of the event class.
+@returns               0 on success, or a negative value on error.
 
 @prenotnull{event_class}
 
 @prenotnull{event_class}
-@pre \p index is lesser than the number of attributes contained by
-       \p event_class.
+@prehot{event_class}
+@pre \p log_level is #BT_EVENT_CLASS_LOG_LEVEL_UNSPECIFIED,
+       #BT_EVENT_CLASS_LOG_LEVEL_EMERGENCY,
+       #BT_EVENT_CLASS_LOG_LEVEL_ALERT,
+       #BT_EVENT_CLASS_LOG_LEVEL_CRITICAL,
+       #BT_EVENT_CLASS_LOG_LEVEL_ERROR,
+       #BT_EVENT_CLASS_LOG_LEVEL_WARNING,
+       #BT_EVENT_CLASS_LOG_LEVEL_NOTICE,
+       #BT_EVENT_CLASS_LOG_LEVEL_INFO,
+       #BT_EVENT_CLASS_LOG_LEVEL_DEBUG_SYSTEM,
+       #BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROGRAM,
+       #BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROCESS,
+       #BT_EVENT_CLASS_LOG_LEVEL_DEBUG_MODULE,
+       #BT_EVENT_CLASS_LOG_LEVEL_DEBUG_UNIT,
+       #BT_EVENT_CLASS_LOG_LEVEL_DEBUG_FUNCTION,
+       #BT_EVENT_CLASS_LOG_LEVEL_DEBUG_LINE, or
+       #BT_EVENT_CLASS_LOG_LEVEL_DEBUG.
 @postrefcountsame{event_class}
 
 @postrefcountsame{event_class}
 
-@sa bt_ctf_event_class_get_attribute_value_by_index(): Returns the value
-       of the attribute of a given event class at a given index.
+@sa bt_event_class_get_log_level(): Returns the log level of a given
+       event class.
 */
 */
-extern const char *
-bt_ctf_event_class_get_attribute_name_by_index(
-               struct bt_ctf_event_class *event_class, uint64_t index);
+extern int bt_event_class_set_log_level(
+               struct bt_event_class *event_class,
+               enum bt_event_class_log_level log_level);
 
 /**
 
 /**
-@brief Returns the value of the attribute at the index \p index of the
-       CTF IR event class \p event_class.
+@brief  Returns the Eclipse Modeling Framework URI of the CTF IR event
+       class \p event_class.
 
 
-@param[in] event_class Event class of which to get the value
-                       of an attribute.
-@param[in] index       Index of the attribute of which to get the value.
-@returns               Attribute value, or \c NULL on error.
+@param[in] event_class Event class of which to get the
+                       Eclipse Modeling Framework URI.
+@returns               Eclipse Modeling Framework URI of event
+                       class \p event_class, or \c NULL on error.
 
 @prenotnull{event_class}
 
 @prenotnull{event_class}
-@pre \p index is lesser than the number of attributes contained by
-       \p event_class.
-@postsuccessrefcountretinc
 @postrefcountsame{event_class}
 
 @postrefcountsame{event_class}
 
-@sa bt_ctf_event_class_get_attribute_name_by_index(): Returns the name
-       of the attribute of a given event class at a given index.
+@sa bt_event_class_set_emf_uri(): Sets the Eclipse Modeling
+       Framework URI of a given event class.
 */
 */
-extern struct bt_value *
-bt_ctf_event_class_get_attribute_value_by_index(
-               struct bt_ctf_event_class *event_class, uint64_t index);
+extern const char *bt_event_class_get_emf_uri(
+               struct bt_event_class *event_class);
 
 /**
 
 /**
-@brief Returns the value of the attribute named \p name of the CTF IR
-       event class \p event_class.
+@brief Sets the Eclipse Modeling Framework URI of the CTF IR event class
+       \p event_class to \p emf_uri, or unsets the event class's EMF URI.
 
 
-On success, the reference count of the returned value object is
-incremented.
-
-@param[in] event_class Event class of which to get the value
-                       of an attribute.
-@param[in] name                Name of the attribute to get.
-@returns               Attribute value, or \c NULL on error.
+@param[in] event_class Event class of which to set the
+                       Eclipse Modeling Framework URI.
+@param[in] emf_uri     Eclipse Modeling Framework URI of the
+                       event class (copied on success), or \c NULL
+                       to unset the current EMF URI.
+@returns               0 on success, or a negative value if there's
+                       no EMF URI or on error.
 
 @prenotnull{event_class}
 
 @prenotnull{event_class}
-@prenotnull{name}
-@postsuccessrefcountretinc
-@postrefcountsame{event_class}
-*/
-extern struct bt_value *
-bt_ctf_event_class_get_attribute_value_by_name(
-               struct bt_ctf_event_class *event_class, const char *name);
-
-/**
-@brief Sets the attribute named \p name of the CTF IR event class
-       \p event_class to the value \p value.
-
-Valid attributes, as of Babeltrace \btversion, are:
-
-- <code>id</code>: \em must be an integer value object with a raw value
-  that is greater than or equal to 0. This represents the event class's
-  numeric ID and you can also set it with bt_ctf_event_class_set_id().
-
-- <code>name</code>: must be a string value object. This represents
-  the name of the event class.
-
-- <code>loglevel</code>: must be an integer value object with a raw
-  value greater than or equal to 0. This represents the numeric log level
-  associated with this event class. Log level values
-  are application-specific.
-
-- <code>model.emf.uri</code>: must be a string value object. This
-  represents the application-specific Eclipse Modeling Framework URI
-  of the event class.
-
-@param[in] event_class Event class of which to set an
-                       attribute.
-@param[in] name                Attribute name (copied on success).
-@param[in] value       Attribute value.
-@returns               0 on success, or a negative value on error.
-
-@prenotnull{event_class}
-@prenotnull{name}
-@prenotnull{value}
+@prenotnull{emf_uri}
 @prehot{event_class}
 @postrefcountsame{event_class}
 @prehot{event_class}
 @postrefcountsame{event_class}
-@postsuccessrefcountinc{value}
 
 
-@sa bt_ctf_event_class_get_attribute_value_by_name(): Returns the
-       attribute of a given event class having a given name.
+@sa bt_event_class_get_emf_uri(): Returns the Eclipse Modeling
+       Framework URI of a given event class.
 */
 */
-extern int bt_ctf_event_class_set_attribute(
-               struct bt_ctf_event_class *event_class, const char *name,
-               struct bt_value *value);
+extern int bt_event_class_set_emf_uri(
+               struct bt_event_class *event_class,
+               const char *emf_uri);
 
 /** @} */
 
 
 /** @} */
 
@@ -376,11 +405,11 @@ extern int bt_ctf_event_class_set_attribute(
 @post <strong>On success, if the return value is a field type</strong>, its
        reference count is incremented.
 
 @post <strong>On success, if the return value is a field type</strong>, its
        reference count is incremented.
 
-@sa bt_ctf_event_class_set_context_type(): Sets the context field type of a
+@sa bt_event_class_set_context_field_type(): Sets the context field type of a
        given event class.
 */
        given event class.
 */
-extern struct bt_ctf_field_type *bt_ctf_event_class_get_context_type(
-               struct bt_ctf_event_class *event_class);
+extern struct bt_field_type *bt_event_class_get_context_field_type(
+               struct bt_event_class *event_class);
 
 /**
 @brief Sets the context field type of the CTF IR event class \p event_class to
 
 /**
 @brief Sets the context field type of the CTF IR event class \p event_class to
@@ -408,12 +437,12 @@ As of Babeltrace \btversion, if \p context_type is not \c NULL,
 @post <strong>On success, if \p context_type is not \c NULL</strong>,
        the reference count of \p context_type is incremented.
 
 @post <strong>On success, if \p context_type is not \c NULL</strong>,
        the reference count of \p context_type is incremented.
 
-@sa bt_ctf_event_class_get_context_type(): Returns the context field type of a
+@sa bt_event_class_get_context_field_type(): Returns the context field type of a
        given event class.
 */
        given event class.
 */
-extern int bt_ctf_event_class_set_context_type(
-               struct bt_ctf_event_class *event_class,
-               struct bt_ctf_field_type *context_type);
+extern int bt_event_class_set_context_field_type(
+               struct bt_event_class *event_class,
+               struct bt_field_type *context_type);
 
 /**
 @brief Returns the payload field type of the CTF IR event class
 
 /**
 @brief Returns the payload field type of the CTF IR event class
@@ -428,11 +457,11 @@ extern int bt_ctf_event_class_set_context_type(
 @post <strong>On success, if the return value is a field type</strong>, its
        reference count is incremented.
 
 @post <strong>On success, if the return value is a field type</strong>, its
        reference count is incremented.
 
-@sa bt_ctf_event_class_set_payload_type(): Sets the payload field type of a
+@sa bt_event_class_set_payload_field_type(): Sets the payload field type of a
        given event class.
 */
        given event class.
 */
-extern struct bt_ctf_field_type *bt_ctf_event_class_get_payload_type(
-               struct bt_ctf_event_class *event_class);
+extern struct bt_field_type *bt_event_class_get_payload_field_type(
+               struct bt_event_class *event_class);
 
 /**
 @brief Sets the payload field type of the CTF IR event class \p event_class to
 
 /**
 @brief Sets the payload field type of the CTF IR event class \p event_class to
@@ -460,133 +489,12 @@ As of Babeltrace \btversion, if \p payload_type is not \c NULL,
 @post <strong>On success, if \p payload_type is not \c NULL</strong>,
        the reference count of \p payload_type is incremented.
 
 @post <strong>On success, if \p payload_type is not \c NULL</strong>,
        the reference count of \p payload_type is incremented.
 
-@sa bt_ctf_event_class_get_payload_type(): Returns the payload field type of a
+@sa bt_event_class_get_payload_field_type(): Returns the payload field type of a
        given event class.
 */
        given event class.
 */
-extern int bt_ctf_event_class_set_payload_type(
-               struct bt_ctf_event_class *event_class,
-               struct bt_ctf_field_type *payload_type);
-
-/**
-@brief Returns the number of fields contained in the
-       payload field type of the CTF IR event class \p event_class.
-
-@remarks
-Calling this function is the equivalent of getting the payload field
-type of \p event_class with bt_ctf_event_class_get_payload_type() and
-getting its field count with
-bt_ctf_field_type_structure_get_field_count().
-
-@param[in] event_class Event class of which to get the number
-                       of fields contained in its payload field type.
-@returns               Number of fields in the payload field type
-                       of \p event_class, or a negative value on error.
-
-@prenotnull{event_class}
-@postrefcountsame{event_class}
-*/
-extern int64_t bt_ctf_event_class_get_payload_type_field_count(
-               struct bt_ctf_event_class *event_class);
-
-/**
-@brief Returns the type and the name of the field at index \p index
-       in the payload field type of the CTF IR event class
-       \p event_class.
-
-On success, the field's type is placed in \p *field_type if
-\p field_type is not \c NULL. The field's name is placed in
-\p *name if \p name is not \c NULL. \p event_class remains the sole
-owner of \p *name.
-
-Both \p name and \p field_type can be \c NULL if the caller is not
-interested in one of them.
-
-@remarks
-Calling this function is the equivalent of getting the payload field
-type of \p event_class with bt_ctf_event_class_get_payload_type() and
-getting the type and name of one of its field with
-bt_ctf_field_type_structure_get_field().
-
-@param[in] event_class Event class of which to get the type and name
-                       of a field in its payload field type.
-@param[out] field_name Name of the field at the index
-                       \p index in the payload field type of
-                       \p event_class (can be \c NULL).
-@param[out] field_type Type of the field at the index \p index in the
-                       payload field type of \p event_class
-                       (can be \c NULL).
-@param[in] index       Index of the payload field type's field to find.
-@returns               0 on success, or a negative value on error.
-
-@prenotnull{event_class}
-@pre \p index is lesser than the number of fields contained in the
-       payload field type of \p event_class (see
-       bt_ctf_event_class_get_payload_type_field_count()).
-@postrefcountsame{event_class}
-@post <strong>On success, if \p field_type is not \c NULL</strong>, the
-       reference count of \p *field_type is incremented.
-*/
-extern int bt_ctf_event_class_get_payload_type_field_by_index(
-               struct bt_ctf_event_class *event_class,
-               const char **field_name, struct bt_ctf_field_type **field_type,
-               uint64_t index);
-
-/**
-@brief  Returns the type of the field named \p name in the payload
-       field type of the CTF IR event class \p event_class.
-
-@remarks
-Calling this function is the equivalent of getting the payload field
-type of \p event_class with bt_ctf_event_class_get_payload_type() and
-getting the type of one of its field with
-bt_ctf_field_type_structure_get_field_type_by_name().
-
-@param[in] event_class Event class of which to get the type of a
-                       payload field type's field.
-@param[in] name                Name of the payload field type's field to get.
-@returns               Type of the field named \p name in the payload
-                       field type of \p event_class, or \c NULL if
-                       the function cannot find the field or
-                       on error.
-
-@prenotnull{event_class}
-@prenotnull{name}
-@postrefcountsame{event_class}
-@postsuccessrefcountretinc
-*/
-extern struct bt_ctf_field_type *
-bt_ctf_event_class_get_payload_type_field_type_by_name(
-               struct bt_ctf_event_class *event_class, const char *name);
-
-/* Pre-2.0 CTF writer compatibility */
-#define bt_ctf_event_class_get_field_by_name bt_ctf_event_class_get_payload_type_field_type_by_name
-
-/**
-@brief Adds a field named \p name with the type \p field_type to the
-       payload field type of the CTF IR event class \p event_class.
-
-@remarks
-Calling this function is the equivalent of getting the payload field
-type of \p event_class with bt_ctf_event_class_get_payload_type() and
-adding a field to it with bt_ctf_field_type_structure_add_field().
-
-@param[in] event_class Event class containing the payload field
-                       type in which to add a field.
-@param[in] field_type  Type of the field to add.
-@param[in] name                Name of the field to add (copied on
-                       success).
-@returns               0 on success, or a negative value on error.
-
-@prenotnull{event_class}
-@prenotnull{type}
-@prenotnull{name}
-@prehot{event_class}
-@postrefcountsame{event_class}
-@postsuccessrefcountinc{field_type}
-*/
-extern int bt_ctf_event_class_add_field(struct bt_ctf_event_class *event_class,
-               struct bt_ctf_field_type *field_type,
-               const char *name);
+extern int bt_event_class_set_payload_field_type(
+               struct bt_event_class *event_class,
+               struct bt_field_type *payload_type);
 
 /** @} */
 
 
 /** @} */
 
This page took 0.033668 seconds and 4 git commands to generate.