diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/commands.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/include/commands.h b/include/commands.h index 1b4cd9ca..8e53c74d 100644 --- a/include/commands.h +++ b/include/commands.h @@ -1,22 +1,33 @@ #ifndef _SWAY_COMMANDS_H #define _SWAY_COMMANDS_H #include <stdbool.h> +#include <json-c/json.h> #include "config.h" enum cmd_status { CMD_SUCCESS, - CMD_FAILURE, - CMD_INVALID, + CMD_FAILURE, // was or at least could be executed + CMD_INVALID, // unknown or parse error CMD_DEFER, // Config Blocks CMD_BLOCK_END, CMD_BLOCK_MODE, }; -enum cmd_status handle_command(char *command); +struct cmd_results { + enum cmd_status status; + char *input; + char *error; +}; + +struct cmd_results *handle_command(char *command); // Handles commands during config -enum cmd_status config_command(char *command); +struct cmd_results *config_command(char *command); + +struct cmd_results *cmd_results_new(enum cmd_status status, const char* input, const char *error, ...); +void free_cmd_results(struct cmd_results *results); +const char *cmd_results_to_json(struct cmd_results *results); void remove_view_from_scratchpad(); |