X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Faction%2Faction-internal.h;fp=include%2Flttng%2Faction%2Faction-internal.h;h=e97d4f032bd430b919c9b5837a2cbbb233e20ecf;hp=0649333f2d4d73a85250fa573e6ceeb811b4e12e;hb=6a751b953a43c566b74818ec6325db0978e16c66;hpb=1aa9c49c60b7d7370ceafc3ac076de423de22b7f diff --git a/include/lttng/action/action-internal.h b/include/lttng/action/action-internal.h index 0649333f2..e97d4f032 100644 --- a/include/lttng/action/action-internal.h +++ b/include/lttng/action/action-internal.h @@ -20,6 +20,9 @@ #include struct lttng_rate_policy; +struct mi_writer; +struct mi_lttng_error_query_callbacks; +struct lttng_trigger; typedef bool (*action_validate_cb)(struct lttng_action *action); typedef void (*action_destroy_cb)(struct lttng_action *action); @@ -35,6 +38,8 @@ typedef const struct lttng_rate_policy *(*action_get_rate_policy_cb)( typedef enum lttng_action_status (*action_add_error_query_results_cb)( const struct lttng_action *action, struct lttng_error_query_results *results); +typedef enum lttng_error_code (*action_mi_serialize_cb)( + const struct lttng_action *condition, struct mi_writer *writer); struct lttng_action { struct urcu_ref ref; @@ -45,6 +50,7 @@ struct lttng_action { action_destroy_cb destroy; action_get_rate_policy_cb get_rate_policy; action_add_error_query_results_cb add_error_query_results; + action_mi_serialize_cb mi_serialize; /* Internal use only. */ @@ -76,7 +82,8 @@ void lttng_action_init(struct lttng_action *action, action_equal_cb equal, action_destroy_cb destroy, action_get_rate_policy_cb get_rate_policy, - action_add_error_query_results_cb add_error_query_results); + action_add_error_query_results_cb add_error_query_results, + action_mi_serialize_cb mi); LTTNG_HIDDEN bool lttng_action_validate(struct lttng_action *action); @@ -128,5 +135,12 @@ LTTNG_HIDDEN enum lttng_action_status lttng_action_generic_add_error_query_results( const struct lttng_action *action, struct lttng_error_query_results *results); +LTTNG_HIDDEN +enum lttng_error_code lttng_action_mi_serialize(const struct lttng_trigger *trigger, + const struct lttng_action *action, + struct mi_writer *writer, + const struct mi_lttng_error_query_callbacks + *error_query_callbacks, + struct lttng_dynamic_array *action_path_indexes); #endif /* LTTNG_ACTION_INTERNAL_H */