lib: replace trace is_static with destruction listeners
[babeltrace.git] / include / babeltrace / trace-ir / trace-class-const.h
index 0cc1ebb38869d9c2feb9b7e21c79c09fdcd49284..839463de4ea3251dddc04657e608991d048303a6 100644 (file)
 extern "C" {
 #endif
 
-enum bt_trace_class_status {
+typedef enum bt_trace_class_status {
        BT_TRACE_CLASS_STATUS_OK = 0,
        BT_TRACE_CLASS_STATUS_NOMEM = -12,
-};
+} bt_trace_class_status;
+
+typedef void (* bt_trace_class_destruction_listener_func)(
+               const bt_trace_class *trace_class, void *data);
 
 extern bt_bool bt_trace_class_assigns_automatic_stream_class_id(
                const bt_trace_class *trace_class);
@@ -64,10 +67,6 @@ extern const bt_value *
 bt_trace_class_borrow_environment_entry_value_by_name_const(
                const bt_trace_class *trace_class, const char *name);
 
-extern const bt_field_class *
-bt_trace_class_borrow_packet_header_field_class_const(
-               const bt_trace_class *trace_class);
-
 extern uint64_t bt_trace_class_get_stream_class_count(
                const bt_trace_class *trace_class);
 
@@ -78,6 +77,14 @@ bt_trace_class_borrow_stream_class_by_index_const(
 extern const bt_stream_class *bt_trace_class_borrow_stream_class_by_id_const(
                const bt_trace_class *trace_class, uint64_t id);
 
+extern bt_trace_class_status bt_trace_class_add_destruction_listener(
+        const bt_trace_class *trace_class,
+        bt_trace_class_destruction_listener_func listener,
+        void *data, uint64_t *listener_id);
+
+extern bt_trace_class_status bt_trace_class_remove_destruction_listener(
+        const bt_trace_class *trace_class, uint64_t listener_id);
+
 extern void bt_trace_class_get_ref(const bt_trace_class *trace_class);
 
 extern void bt_trace_class_put_ref(const bt_trace_class *trace_class);
This page took 0.023909 seconds and 4 git commands to generate.