Hide bt_ctf_event_class_* symbols
[babeltrace.git] / include / babeltrace / ctf-ir / event-class-internal.h
index 1c6a9a6c4e667af8829deeee9b1be1dfce3e10b6..61b289e02747ce4eb2efb88c19397e407b7d3164 100644 (file)
@@ -74,4 +74,233 @@ BT_HIDDEN
 int bt_ctf_event_class_set_stream_id(struct bt_ctf_event_class *event_class,
                uint32_t stream_id);
 
+/*
+ * bt_ctf_event_class_set_attribute: sets an attribute to the event
+ *     class.
+ *
+ * Sets an attribute to the event class. The name parameter is copied,
+ * whereas the value parameter's reference count is incremented
+ * (if the function succeeds).
+ *
+ * If an attribute exists in the event class for the specified name, it
+ * is replaced by the new value.
+ *
+ * Valid attributes and object types are:
+ *
+ *   - "id":            integer object with a value >= 0
+ *   - "name":          string object
+ *   - "loglevel":      integer object with a value >= 0
+ *   - "model.emf.uri": string object
+ *
+ * @param event_class Event class.
+ * @param name Name of the attribute (will be copied).
+ * @param value Value of the attribute.
+ *
+ * Returns 0 on success, a negative value on error.
+ */
+BT_HIDDEN
+int bt_ctf_event_class_set_attribute(
+               struct bt_ctf_event_class *event_class, const char *name,
+               struct bt_value *value);
+
+/*
+ * bt_ctf_event_class_get_attribute_count: get the number of attributes
+ *     in this event class.
+ *
+ * Get the event class' attribute count.
+ *
+ * @param event_class Event class.
+ *
+ * Returns the attribute count, a negative value on error.
+ */
+BT_HIDDEN
+int bt_ctf_event_class_get_attribute_count(
+               struct bt_ctf_event_class *event_class);
+
+/*
+ * bt_ctf_event_class_get_attribute_name: get attribute name.
+ *
+ * Get an attribute's name. The string's ownership is not
+ * transferred to the caller. The string data is valid as long as
+ * this event class' attributes are not modified.
+ *
+ * @param event_class Event class.
+ * @param index Index of the attribute.
+ *
+ * Returns the attribute's name, NULL on error.
+ */
+BT_HIDDEN
+const char *
+bt_ctf_event_class_get_attribute_name(
+               struct bt_ctf_event_class *event_class, int index);
+
+/*
+ * bt_ctf_event_class_get_attribute_value: get attribute value (an object).
+ *
+ * Get an attribute's value (an object). The returned object's
+ * reference count is incremented. When done with the object, the caller
+ * must call bt_value_put() on it.
+ *
+ * @param event_class Event class.
+ * @param index Index of the attribute.
+ *
+ * Returns the attribute's object value, NULL on error.
+ */
+BT_HIDDEN
+struct bt_value *
+bt_ctf_event_class_get_attribute_value(struct bt_ctf_event_class *event_class,
+               int index);
+
+/*
+ * bt_ctf_event_class_get_attribute_value_by_name: get attribute
+ *     value (an object) by name.
+ *
+ * Get an attribute's value (an object) by its name. The returned object's
+ * reference count is incremented. When done with the object, the caller
+ * must call bt_value_put() on it.
+ *
+ * @param event_class Event class.
+ * @param name Attribute's name
+ *
+ * Returns the attribute's object value, NULL on error.
+ */
+BT_HIDDEN
+struct bt_value *
+bt_ctf_event_class_get_attribute_value_by_name(
+               struct bt_ctf_event_class *event_class, const char *name);
+
+/*
+ * bt_ctf_event_class_get_context_type: Get an event class's context type
+ *
+ * @param event_class Event class.
+ *
+ * Returns a field type (a structure) on success, NULL on error.
+ */
+BT_HIDDEN
+struct bt_ctf_field_type *bt_ctf_event_class_get_context_type(
+               struct bt_ctf_event_class *event_class);
+
+
+/*
+ * bt_ctf_event_class_get_field_count: Get an event class' field count.
+ *
+ * @param event_class Event class.
+ *
+ * Returns the event class' field count, a negative value on error.
+ *
+ * Note: Returns an error if the payload is not a structure.
+ */
+BT_HIDDEN
+int bt_ctf_event_class_get_field_count(
+               struct bt_ctf_event_class *event_class);
+
+/*
+ * bt_ctf_event_class_get_field: Get event class' field type and name by index.
+ *
+ * @param event_class Event class.
+ * @param field_name Pointer to a const char* where the field's name will
+ *     be returned.
+ * @param field_type Pointer to a bt_ctf_field_type* where the field's type will
+ *     be returned.
+ * @param index Index of field.
+ *
+ * Returns 0 on success, a negative error on value.
+ *
+ * Note: Returns an error if the payload is not a structure.
+ */
+BT_HIDDEN
+int bt_ctf_event_class_get_field(struct bt_ctf_event_class *event_class,
+               const char **field_name, struct bt_ctf_field_type **field_type,
+               int index);
+
+/*
+ * bt_ctf_event_class_get_id: Get an event class' id.
+ *
+ * @param event_class Event class.
+ *
+ * Returns the event class' id, a negative value on error.
+ */
+BT_HIDDEN
+int64_t bt_ctf_event_class_get_id(struct bt_ctf_event_class *event_class);
+
+/*
+ * bt_ctf_event_class_get_name: Get an event class' name.
+ *
+ * @param event_class Event class.
+ *
+ * Returns the event class' name, NULL on error.
+ */
+BT_HIDDEN
+const char *bt_ctf_event_class_get_name(
+               struct bt_ctf_event_class *event_class);
+
+/*
+ * bt_ctf_event_class_get_stream_class: Get an event class' stream class.
+ *
+ * @param event_class Event class.
+ *
+ * Returns the event class' stream class, NULL on error or if the event class
+ * is not associated with a stream class.
+ */
+BT_HIDDEN
+struct bt_ctf_stream_class *bt_ctf_event_class_get_stream_class(
+               struct bt_ctf_event_class *event_class);
+
+/*
+ * bt_ctf_event_class_get_payload_type: get an event class' payload.
+ *
+ * Get an event class' payload type.
+ *
+ * @param event_class Event class.
+ *
+ * Returns the event class' payload, NULL on error.
+ */
+BT_HIDDEN
+struct bt_ctf_field_type *bt_ctf_event_class_get_payload_type(
+               struct bt_ctf_event_class *event_class);
+
+/*
+ * bt_ctf_event_class_set_id: Set an event class' id.
+ *
+ * Set an event class' id. Must be unique stream-wise.
+ * Note that event classes are already assigned a unique id when added to a
+ * stream class if none was set explicitly.
+ *
+ * @param event_class Event class.
+ * @param id Event class id.
+ *
+ * Returns 0 on success, a negative value on error.
+ */
+BT_HIDDEN
+int bt_ctf_event_class_set_id(
+               struct bt_ctf_event_class *event_class, uint32_t id);
+
+/*
+ * bt_ctf_event_class_set_payload_type: set an event class' payload.
+ *
+ * Set an event class' payload type.
+ *
+ * @param event_class Event class.
+ * @param payload The payload's type (must be a structure).
+ *
+ * Returns 0 on success, a negative value on error.
+ */
+BT_HIDDEN
+int bt_ctf_event_class_set_payload_type(
+               struct bt_ctf_event_class *event_class,
+               struct bt_ctf_field_type *payload);
+
+/*
+ * bt_ctf_event_class_set_context_type: Set an event class's context type
+ *
+ * @param event_class Event class.
+ * @param context Event context field type (must be a structure).
+ *
+ * Returns 0 on success, a negative value on error.
+ */
+BT_HIDDEN
+int bt_ctf_event_class_set_context_type(
+               struct bt_ctf_event_class *event_class,
+               struct bt_ctf_field_type *context);
+
 #endif /* BABELTRACE_CTF_IR_EVENT_CLASS_INTERNAL_H */
This page took 0.025969 seconds and 4 git commands to generate.