cmd.type = NOTIFICATION_COMMAND_TYPE_REGISTER_TRIGGER;
lttng_trigger_get(trigger);
- cmd.parameters.trigger = trigger;
+ cmd.parameters.register_trigger.trigger = trigger;
ret = run_command_wait(handle, &cmd);
if (ret) {
enum lttng_error_code notification_thread_command_unregister_trigger(
struct notification_thread_handle *handle,
- struct lttng_trigger *trigger)
+ const struct lttng_trigger *trigger)
{
int ret;
enum lttng_error_code ret_code;
init_notification_thread_command(&cmd);
cmd.type = NOTIFICATION_COMMAND_TYPE_UNREGISTER_TRIGGER;
- cmd.parameters.trigger = trigger;
+ cmd.parameters.unregister_trigger.trigger = trigger;
ret = run_command_wait(handle, &cmd);
if (ret) {
cmd.parameters.client_communication_update.status = transmission_status;
return run_command_no_wait(handle, &cmd);
}
+
+LTTNG_HIDDEN
+struct lttng_event_notifier_notification *
+lttng_event_notifier_notification_create(uint64_t tracer_token,
+ enum lttng_domain_type domain)
+{
+ struct lttng_event_notifier_notification *notification = NULL;
+
+ assert(domain != LTTNG_DOMAIN_NONE);
+
+ notification = zmalloc(
+ sizeof(struct lttng_event_notifier_notification));
+ if (notification == NULL) {
+ ERR("[notification-thread] Error allocating notification");
+ goto end;
+ }
+
+ notification->tracer_token = tracer_token;
+ notification->type = domain;
+
+end:
+ return notification;
+}
+
+LTTNG_HIDDEN
+void lttng_event_notifier_notification_destroy(
+ struct lttng_event_notifier_notification *notification)
+{
+ if (!notification) {
+ return;
+ }
+
+ free(notification);
+}