SoW-2019-0002: Dynamic Snapshot
[lttng-tools.git] / src / common / actions / notify.c
1 /*
2 * Copyright (C) 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 *
6 */
7
8 #include <lttng/action/action-internal.h>
9 #include <lttng/action/notify-internal.h>
10 #include <common/macros.h>
11 #include <assert.h>
12
13 static
14 void lttng_action_notify_destroy(struct lttng_action *action)
15 {
16 free(action);
17 }
18
19 static
20 int lttng_action_notify_serialize(struct lttng_action *action,
21 struct lttng_dynamic_buffer *buf)
22 {
23 return 0;
24 }
25
26 static
27 bool lttng_action_notify_is_equal(const struct lttng_action *a,
28 const struct lttng_action *b)
29 {
30 /* TODO check type ??? */
31 return true;
32 }
33
34 struct lttng_action *lttng_action_notify_create(void)
35 {
36 struct lttng_action_notify *notify;
37
38 notify = zmalloc(sizeof(struct lttng_action_notify));
39 if (!notify) {
40 goto end;
41 }
42
43 lttng_action_init(&notify->parent, LTTNG_ACTION_TYPE_NOTIFY, NULL,
44 lttng_action_notify_serialize,
45 lttng_action_notify_is_equal,
46 lttng_action_notify_destroy);
47 end:
48 return &notify->parent;
49 }
50
51 ssize_t lttng_action_notify_create_from_buffer(
52 const struct lttng_buffer_view *view,
53 struct lttng_action **action)
54 {
55 ssize_t consumed_length;
56
57 *action = lttng_action_notify_create();
58 if (!*action) {
59 consumed_length = -1;
60 goto end;
61 }
62
63 consumed_length = 0;
64 end:
65 return consumed_length;
66 }
This page took 0.043719 seconds and 5 git commands to generate.