aboutsummaryrefslogtreecommitdiff
path: root/include/commands.h
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2015-10-23 10:34:38 -0400
committerDrew DeVault <sir@cmpwn.com>2015-10-23 10:34:38 -0400
commit988a0bd67e02755308b478d369a3825c712a842e (patch)
treec29db67ec97907448084a36909c1e51d74cd8eaf /include/commands.h
parent8a57c48dffda7c49e59d1c56739f857c6f28b07d (diff)
parent362413bd5031aa709ab5d7a39c0d5912554e545b (diff)
Merge pull request #201 from sce/cmd_results
Replace cmd_status with cmd_results struct
Diffstat (limited to 'include/commands.h')
-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();