*/
#include <babeltrace/ctf-ir/event-types.h>
-#include <babeltrace/objects.h>
+#include <babeltrace/values.h>
#include <stdint.h>
#ifdef __cplusplus
struct bt_ctf_stream_class;
struct bt_ctf_clock;
-enum bt_environment_field_type {
- BT_ENVIRONMENT_FIELD_TYPE_UNKNOWN = -1,
- BT_ENVIRONMENT_FIELD_TYPE_STRING = 0,
- BT_ENVIRONMENT_FIELD_TYPE_INTEGER = 1,
-};
-
/*
* bt_ctf_trace_create: create a trace instance.
*
* If a value exists in the environment for the specified name, it is
* replaced by the new value.
*
- * The value parameter _must_ be either an integer object or a
- * string object. Other object types are not supported.
+ * The value parameter _must_ be either an integer value object or a
+ * string value object. Other object types are not supported.
*
* @param trace Trace instance.
* @param name Name of the environment field (will be copied).
*/
extern int bt_ctf_trace_set_environment_field(
struct bt_ctf_trace *trace, const char *name,
- struct bt_object *value);
+ struct bt_value *value);
/*
* bt_ctf_trace_set_environment_field_string: sets a string environment
*
* Get an environment field's value (an object). The returned object's
* reference count is incremented. When done with the object, the caller
- * must call bt_object_put() on it.
+ * must call bt_value_put() on it.
*
* @param trace Trace instance.
* @param index Index of the environment field.
*
* Returns the environment field's object value, NULL on error.
*/
-extern struct bt_object *
+extern struct bt_value *
bt_ctf_trace_get_environment_field_value(struct bt_ctf_trace *trace,
int index);
*
* Get an environment field's value (an object) by its field name. The
* returned object's reference count is incremented. When done with the
- * object, the caller must call bt_object_put() on it.
+ * object, the caller must call bt_value_put() on it.
*
* @param trace Trace instance.
* @param name Environment field's name
*
* Returns the environment field's object value, NULL on error.
*/
-extern struct bt_object *
+extern struct bt_value *
bt_ctf_trace_get_environment_field_value_by_name(struct bt_ctf_trace *trace,
const char *name);
extern struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class(
struct bt_ctf_trace *trace, int index);
+/*
+ * bt_ctf_trace_get_stream_class_by_id: get a trace's stream class by ID.
+ *
+ * @param trace Trace instance.
+ * @param index ID of the stream class in the given trace.
+ *
+ * Return a stream class on success, NULL on error.
+ */
+extern struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class_by_id(
+ struct bt_ctf_trace *trace, uint32_t id);
+
/*
* bt_ctf_trace_get_clock_by_name: get a trace's clock by name
*
* bt_ctf_trace_get and bt_ctf_trace_put: increment and decrement the
* trace's reference count.
*
+ * You may also use bt_ctf_get() and bt_ctf_put() with trace objects.
+ *
* These functions ensure that the trace won't be destroyed while it
* is in use. The same number of get and put (plus one extra put to
* release the initial reference done at creation) have to be done to