* SOFTWARE.
*/
+#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>
-#include <assert.h>
-struct bt_ctf_packet {
+struct bt_packet {
struct bt_object base;
- struct bt_ctf_field *header;
- struct bt_ctf_field *context;
- struct bt_ctf_stream *stream;
+ struct bt_field_wrapper *header;
+ struct bt_field_wrapper *context;
+ struct bt_stream *stream;
int frozen;
};
BT_HIDDEN
-void bt_ctf_packet_freeze(struct bt_ctf_packet *packet);
-
-static inline
-struct bt_ctf_stream *bt_ctf_packet_borrow_stream(
- struct bt_ctf_packet *packet)
-{
- assert(packet);
- return packet->stream;
-}
+void _bt_packet_freeze(struct bt_packet *packet);
+
+#ifdef BT_DEV_MODE
+# define bt_packet_freeze _bt_packet_freeze
+#else
+# 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 */