diff options
Diffstat (limited to 'main/mcp_handler.h')
| -rw-r--r-- | main/mcp_handler.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/main/mcp_handler.h b/main/mcp_handler.h new file mode 100644 index 0000000..e42b5ee --- /dev/null +++ b/main/mcp_handler.h | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | #ifndef MCP_HANDLER_H | ||
| 2 | #define MCP_HANDLER_H | ||
| 3 | |||
| 4 | #include <stdint.h> | ||
| 5 | #include <stdbool.h> | ||
| 6 | |||
| 7 | typedef enum { | ||
| 8 | MCP_TOOL_GET_CONFIG = 0, | ||
| 9 | MCP_TOOL_SET_CONFIG = 1, | ||
| 10 | MCP_TOOL_GET_BALANCE = 2, | ||
| 11 | MCP_TOOL_WALLET_SEND = 3, | ||
| 12 | MCP_TOOL_UNKNOWN = 99 | ||
| 13 | } mcp_tool_t; | ||
| 14 | |||
| 15 | typedef struct { | ||
| 16 | mcp_tool_t tool; | ||
| 17 | char method[64]; | ||
| 18 | char params_json[1024]; | ||
| 19 | } mcp_request_t; | ||
| 20 | |||
| 21 | typedef struct { | ||
| 22 | bool success; | ||
| 23 | char result_json[2048]; | ||
| 24 | char error[256]; | ||
| 25 | } mcp_response_t; | ||
| 26 | |||
| 27 | mcp_tool_t mcp_parse_tool(const char *method); | ||
| 28 | |||
| 29 | mcp_response_t mcp_handle_get_config(void); | ||
| 30 | mcp_response_t mcp_handle_set_config(const char *params_json); | ||
| 31 | mcp_response_t mcp_handle_get_balance(void); | ||
| 32 | mcp_response_t mcp_handle_wallet_send(const char *params_json); | ||
| 33 | |||
| 34 | mcp_response_t mcp_dispatch(const mcp_request_t *req); | ||
| 35 | |||
| 36 | #endif | ||