lib: add internal object pool API and use it; adapt plugins/tests
[babeltrace.git] / include / babeltrace / ctf-ir / packet-internal.h
index 9f66fb14f89b88f7401dc70d8a193a96d6ed6165..4cbf0ac88a5b5c88fb02be6f3b11ad628e668bcb 100644 (file)
 #include <babeltrace/assert-internal.h>
 #include <babeltrace/ctf-ir/fields.h>
 #include <babeltrace/ctf-ir/stream.h>
+#include <babeltrace/ctf-ir/field-wrapper-internal.h>
 #include <babeltrace/object-internal.h>
 #include <babeltrace/babeltrace-internal.h>
 
 struct bt_packet {
        struct bt_object base;
-       struct bt_field *header;
-       struct bt_field *context;
+       struct bt_field_wrapper *header;
+       struct bt_field_wrapper *context;
        struct bt_stream *stream;
        int frozen;
 };
@@ -45,7 +46,16 @@ void _bt_packet_freeze(struct bt_packet *packet);
 #ifdef BT_DEV_MODE
 # define bt_packet_freeze      _bt_packet_freeze
 #else
-# define bt_packet_freeze
+# define bt_packet_freeze(_packet)
 #endif /* BT_DEV_MODE */
 
+BT_HIDDEN
+struct bt_packet *bt_packet_new(struct bt_stream *stream);
+
+BT_HIDDEN
+void bt_packet_recycle(struct bt_packet *packet);
+
+BT_HIDDEN
+void bt_packet_destroy(struct bt_packet *packet);
+
 #endif /* BABELTRACE_CTF_IR_PACKET_INTERNAL_H */
This page took 0.024203 seconds and 4 git commands to generate.