diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/commands.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/include/commands.h b/include/commands.h index 1b4cd9ca..1e0a1452 100644 --- a/include/commands.h +++ b/include/commands.h | |||
@@ -1,22 +1,34 @@ | |||
1 | #ifndef _SWAY_COMMANDS_H | 1 | #ifndef _SWAY_COMMANDS_H |
2 | #define _SWAY_COMMANDS_H | 2 | #define _SWAY_COMMANDS_H |
3 | #include <stdbool.h> | 3 | #include <stdbool.h> |
4 | #include <json-c/json.h> | ||
4 | #include "config.h" | 5 | #include "config.h" |
5 | 6 | ||
6 | 7 | ||
7 | enum cmd_status { | 8 | enum cmd_status { |
8 | CMD_SUCCESS, | 9 | CMD_SUCCESS, |
9 | CMD_FAILURE, | 10 | CMD_FAILURE, // was or at least could be executed |
10 | CMD_INVALID, | 11 | CMD_INVALID, // unknown or parse error |
11 | CMD_DEFER, | 12 | CMD_DEFER, |
12 | // Config Blocks | 13 | // Config Blocks |
13 | CMD_BLOCK_END, | 14 | CMD_BLOCK_END, |
14 | CMD_BLOCK_MODE, | 15 | CMD_BLOCK_MODE, |
15 | }; | 16 | }; |
16 | 17 | ||
17 | enum cmd_status handle_command(char *command); | 18 | struct cmd_results { |
19 | enum cmd_status status; | ||
20 | |||
21 | const char *input; | ||
22 | char *error; | ||
23 | }; | ||
24 | |||
25 | struct cmd_results *handle_command(char *command); | ||
18 | // Handles commands during config | 26 | // Handles commands during config |
19 | enum cmd_status config_command(char *command); | 27 | struct cmd_results *config_command(char *command); |
28 | |||
29 | struct cmd_results *cmd_results_new(enum cmd_status status, const char* input, const char *error, ...); | ||
30 | void free_cmd_results(struct cmd_results *results); | ||
31 | const char *cmd_results_to_json(struct cmd_results *results); | ||
20 | 32 | ||
21 | void remove_view_from_scratchpad(); | 33 | void remove_view_from_scratchpad(); |
22 | 34 | ||