.gitignore: ignore local vscode workspace settings file
[lttng-tools.git] / include / lttng / notification / notification-internal.hpp
index 37c8f2af9ddd34cbe0d5d3a8b290ee86e5fe96d0..36b3d7f3839ba6cd06ea0974324a84d2a51cefbc 100644 (file)
@@ -8,16 +8,25 @@
 #ifndef LTTNG_NOTIFICATION_INTERNAL_H
 #define LTTNG_NOTIFICATION_INTERNAL_H
 
-#include <lttng/notification/notification.h>
 #include <common/macros.hpp>
-#include <stdint.h>
+#include <common/make-unique-wrapper.hpp>
+
+#include <lttng/notification/notification.h>
+
+#include <memory>
 #include <stdbool.h>
+#include <stdint.h>
 #include <sys/types.h>
 
 struct lttng_payload;
 struct lttng_payload_view;
 
 struct lttng_notification {
+       using uptr = std::unique_ptr<
+               lttng_notification,
+               lttng::memory::create_deleter_class<lttng_notification,
+                                                   lttng_notification_destroy>::deleter>;
+
        struct lttng_trigger *trigger;
        struct lttng_evaluation *evaluation;
 };
@@ -29,15 +38,21 @@ struct lttng_notification_comm {
        char payload[];
 } LTTNG_PACKED;
 
-struct lttng_notification *lttng_notification_create(
-               struct lttng_trigger *trigger,
-               struct lttng_evaluation *evaluation);
+struct lttng_notification *lttng_notification_create(struct lttng_trigger *trigger,
+                                                    struct lttng_evaluation *evaluation);
 
 int lttng_notification_serialize(const struct lttng_notification *notification,
-               struct lttng_payload *payload);
+                                struct lttng_payload *payload);
+
+ssize_t lttng_notification_create_from_payload(struct lttng_payload_view *view,
+                                              struct lttng_notification **notification);
+
+const struct lttng_condition *
+lttng_notification_get_const_condition(const struct lttng_notification *notification);
+const struct lttng_evaluation *
+lttng_notification_get_const_evaluation(const struct lttng_notification *notification);
 
-ssize_t lttng_notification_create_from_payload(
-               struct lttng_payload_view *view,
-               struct lttng_notification **notification);
+const struct lttng_trigger *
+lttng_notification_get_const_trigger(const struct lttng_notification *notification);
 
 #endif /* LTTNG_NOTIFICATION_INTERNAL_H */
This page took 0.023841 seconds and 4 git commands to generate.