Fix: sessiond: previously created channel cannot be enabled
[lttng-tools.git] / src / bin / lttng-sessiond / action-executor.h
CommitLineData
f2b3ef9f
JG
1/*
2 * Copyright (C) 2020 Jérémie Galarneau <jeremie.galarneau@efficios.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 */
7
8#ifndef ACTION_EXECUTOR_H
9#define ACTION_EXECUTOR_H
10
11struct action_executor;
12struct notification_thread_handle;
13struct lttng_evaluation;
14struct lttng_trigger;
15struct notification_client_list;
16struct lttng_credentials;
17
18enum action_executor_status {
19 ACTION_EXECUTOR_STATUS_OK,
20 ACTION_EXECUTOR_STATUS_OVERFLOW,
21 ACTION_EXECUTOR_STATUS_ERROR,
22 ACTION_EXECUTOR_STATUS_INVALID,
23};
24
25struct action_executor *action_executor_create(
26 struct notification_thread_handle *handle);
27
28void action_executor_destroy(struct action_executor *executor);
29
f3509d2a
JG
30/*
31 * Enqueue a job on an action executor's work queue to perform the actions
32 * associated with a trigger.
33 *
34 * A reference to `trigger` is acquired.
35 * A reference to `list` is acquired.
36 *
37 * This function assumes the ownership of the `evaluation` both on success and
38 * failure: the caller should no longer access it once the function returns.
39 */
72365501 40enum action_executor_status action_executor_enqueue_trigger(
f2b3ef9f
JG
41 struct action_executor *executor,
42 struct lttng_trigger *trigger,
43 struct lttng_evaluation *evaluation,
44 const struct lttng_credentials *object_creds,
45 struct notification_client_list *list);
46
47#endif /* ACTION_EXECUTOR_H */
This page took 0.029903 seconds and 4 git commands to generate.