lib: use object pool for event and packet notifications
[babeltrace.git] / include / babeltrace / graph / notification-packet.h
index 38c4f6e6f1f3a5b75ac1580cff3bf4b8e5d3b7c8..e3c9d55b401e094c5d575497b69a157c050d932c 100644 (file)
@@ -27,6 +27,9 @@
  * SOFTWARE.
  */
 
+/* For bt_get() */
+#include <babeltrace/ref.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -34,20 +37,35 @@ extern "C" {
 struct bt_notification;
 struct bt_packet;
 
-extern struct bt_notification *bt_notification_packet_begin_create(
-               struct bt_packet *packet);
+extern
+struct bt_notification *bt_notification_packet_begin_create(
+               struct bt_graph *graph, struct bt_packet *packet);
+
+extern
+struct bt_notification *bt_notification_packet_end_create(
+               struct bt_graph *graph, struct bt_packet *packet);
 
-extern struct bt_notification *bt_notification_packet_end_create(
-               struct bt_packet *packet);
 
-/*** BT_NOTIFICATION_TYPE_PACKET_BEGIN ***/
-extern struct bt_packet *bt_notification_packet_begin_get_packet(
+extern struct bt_packet *bt_notification_packet_begin_borrow_packet(
                struct bt_notification *notification);
 
-/*** BT_NOTIFICATION_TYPE_PACKET_END ***/
-extern struct bt_packet *bt_notification_packet_end_get_packet(
+static inline
+struct bt_packet *bt_notification_packet_begin_get_packet(
+               struct bt_notification *notification)
+{
+       return bt_get(bt_notification_packet_begin_borrow_packet(notification));
+}
+
+extern struct bt_packet *bt_notification_packet_end_borrow_packet(
                struct bt_notification *notification);
 
+static inline
+struct bt_packet *bt_notification_packet_end_get_packet(
+               struct bt_notification *notification)
+{
+       return bt_get(bt_notification_packet_end_borrow_packet(notification));
+}
+
 #ifdef __cplusplus
 }
 #endif
This page took 0.028202 seconds and 4 git commands to generate.