X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Factions%2Fnotify.c;h=fc7d170c70e8c3ac949c306eb49b267004356855;hp=00d1a0ef4e0e9828f0a55d150fb408e55b843a57;hb=c0a66c84b5b2484b75798aec7543b680b4d4ab6c;hpb=03bb2358875cfca96394e78357c96baaa1e91efa diff --git a/src/common/actions/notify.c b/src/common/actions/notify.c index 00d1a0ef4..fc7d170c7 100644 --- a/src/common/actions/notify.c +++ b/src/common/actions/notify.c @@ -18,11 +18,19 @@ void lttng_action_notify_destroy(struct lttng_action *action) static int lttng_action_notify_serialize(struct lttng_action *action, - struct lttng_dynamic_buffer *buf) + struct lttng_payload *payload) { return 0; } +static +bool lttng_action_notify_is_equal(const struct lttng_action *a, + const struct lttng_action *b) +{ + /* There is no discriminant between notify actions. */ + return true; +} + struct lttng_action *lttng_action_notify_create(void) { struct lttng_action_notify *notify; @@ -32,9 +40,27 @@ struct lttng_action *lttng_action_notify_create(void) goto end; } - notify->parent.type = LTTNG_ACTION_TYPE_NOTIFY; - notify->parent.serialize = lttng_action_notify_serialize; - notify->parent.destroy = lttng_action_notify_destroy; + lttng_action_init(¬ify->parent, LTTNG_ACTION_TYPE_NOTIFY, NULL, + lttng_action_notify_serialize, + lttng_action_notify_is_equal, + lttng_action_notify_destroy); end: return ¬ify->parent; } + +ssize_t lttng_action_notify_create_from_payload( + struct lttng_payload_view *view, + struct lttng_action **action) +{ + ssize_t consumed_length; + + *action = lttng_action_notify_create(); + if (!*action) { + consumed_length = -1; + goto end; + } + + consumed_length = 0; +end: + return consumed_length; +}