#ifndef COMET_ACTION_H #define COMET_ACTION_H #include #include "config.h" typedef enum { ACTION_TARGET, ACTION_SET_PAIR, ACTION_RUN_SYNC, ACTION_RUN_ASYNC, ACTION_TRIGGER, } action_type_t; typedef struct { action_type_t type; char *key; char *value; } action_part_t; struct action { char *label; action_part_t *parts; size_t length; bool validated; bool resolved; }; typedef struct action action_t; bool action_perform(action_t *action, block_t *block, config_t *config); int action_validate(action_t *action, config_t *config); bool action_resolve(action_t *action, config_t *config); void action_clean(action_t *action); #endif