aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/commands.h19
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();