69e17d30c016fe0ea8363b01eaa5e84e941b2eac
2 * Copyright (C) 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
4 * SPDX-License-Identifier: LGPL-2.1-only
8 #ifndef LTTNG_NOTIFICATION_H
9 #define LTTNG_NOTIFICATION_H
15 struct lttng_condition
;
16 struct lttng_evaluation
;
17 struct lttng_notification
;
20 * Get a notification's condition.
22 * The notification retains the ownership of both the condition and evaluation
23 * objects. Hence, it is not valid to access those objects after the destruction
24 * of their associated notification.
26 * The caller should check the condition's type in order to use the appropriate
27 * specialized functions to access the condition's properties.
29 * Returns an lttng_condition object on success, NULL on error.
31 extern const struct lttng_condition
*lttng_notification_get_condition(
32 struct lttng_notification
*notification
);
35 * Get a notification's condition's evaluation.
37 * The notification retains the ownership of the evaluation object. Hence, it is
38 * not valid to access that object after the destruction of its associated
41 * The caller should check the evaluation's type in order to use the appropriate
42 * specialized functions to access the evaluation's properties.
44 * Returns an lttng_evaluation object on success, NULL on error.
46 extern const struct lttng_evaluation
*lttng_notification_get_evaluation(
47 struct lttng_notification
*notification
);
50 * Get a notification's origin trigger.
52 * The notification retains the ownership of the trigger object. Hence, it is
53 * not valid to access that object after the destruction of its associated
56 * Returns an lttng_trigger object on success, NULL on error.
58 extern const struct lttng_trigger
*lttng_notification_get_trigger(
59 struct lttng_notification
*notification
);
62 * Destroys (frees) a notification. The notification's condition and evaluation
63 * are destroyed as a side-effect.
65 extern void lttng_notification_destroy(struct lttng_notification
*notification
);
71 #endif /* LTTNG_NOTIFICATION_H */
This page took 0.033665 seconds and 4 git commands to generate.