wip: receive trigger registration in session daemon
[lttng-tools.git] / src / lib / lttng-ctl / notification.c
CommitLineData
284ee387
JG
1/*
2 * Copyright (C) 2017 - Jérémie Galarneau <jeremie.galarneau@efficios.com>
3 *
4 * This library is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License, version 2.1 only,
6 * as published by the Free Software Foundation.
7 *
8 * This library is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
11 * for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this library; if not, write to the Free Software Foundation,
15 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17
18#include <lttng/notification/notification-internal.h>
19#include <lttng/condition/condition.h>
20#include <lttng/condition/evaluation.h>
21#include <assert.h>
22
23LTTNG_HIDDEN
24struct lttng_notification *lttng_notification_create(
25 struct lttng_condition *condition,
26 struct lttng_evaluation *evaluation)
27{
28 struct lttng_notification *notification = NULL;
29
30 if (!condition || !evaluation) {
31 goto end;
32 }
33
34 notification = zmalloc(sizeof(struct lttng_notification));
35 if (!notification) {
36 goto end;
37 }
38
39 notification->condition = condition;
40 notification->evaluation = evaluation;
41end:
42 return notification;
43}
44
45void lttng_notification_destroy(struct lttng_notification *notification)
46{
47 if (!notification) {
48 return;
49 }
50
51 lttng_condition_destroy(notification->condition);
52 lttng_evaluation_destroy(notification->evaluation);
53 free(notification);
54}
55
56struct lttng_condition *lttng_notification_get_condition(
57 struct lttng_notification *notification)
58{
59 return notification ? notification->condition : NULL;
60}
61
62struct lttng_evaluation *lttng_notification_get_evaluation(
63 struct lttng_notification *notification)
64{
65 return notification ? notification->evaluation : NULL;
66}
This page took 0.026464 seconds and 5 git commands to generate.