From 6a36d7e889fb3b683c03607428ad88cd5fadaceb Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 2 Sep 2021 08:45:47 +0300 Subject: (1) Moved code files to src folder --- commandHandler.c | 13 ------------- commandHandler.h | 13 ------------- commandRouter.c | 20 -------------------- defaultCommands.c | 26 -------------------------- main.c | 35 ----------------------------------- src/commandHandler.c | 13 +++++++++++++ src/commandHandler.h | 13 +++++++++++++ src/commandRouter.c | 20 ++++++++++++++++++++ src/defaultCommands.c | 26 ++++++++++++++++++++++++++ src/main.c | 35 +++++++++++++++++++++++++++++++++++ 10 files changed, 107 insertions(+), 107 deletions(-) delete mode 100644 commandHandler.c delete mode 100644 commandHandler.h delete mode 100644 commandRouter.c delete mode 100644 defaultCommands.c delete mode 100644 main.c create mode 100644 src/commandHandler.c create mode 100644 src/commandHandler.h create mode 100644 src/commandRouter.c create mode 100644 src/defaultCommands.c create mode 100644 src/main.c diff --git a/commandHandler.c b/commandHandler.c deleted file mode 100644 index 9d158f3..0000000 --- a/commandHandler.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "commandHandler.h" - -struct CommandHandler handlers[MAX_HANDLERS]; - -int handlerCount = 0; - -void registerHandler(char *name, F_EXECUTOR executor) { - struct CommandHandler newCH; - newCH.p_name = name; - newCH.p_executor = executor; - - handlers[handlerCount++] = newCH; -} diff --git a/commandHandler.h b/commandHandler.h deleted file mode 100644 index d344abb..0000000 --- a/commandHandler.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef COMMAND_HANDLER_HEADER -#define COMMAND_HANDLER_HEADER - -#define MAX_HANDLERS 32 - -typedef void (*F_EXECUTOR)(char *); - -struct CommandHandler { - char *p_name; - F_EXECUTOR p_executor; -}; - -#endif diff --git a/commandRouter.c b/commandRouter.c deleted file mode 100644 index 3d41ddd..0000000 --- a/commandRouter.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include -#include -#include -#include "commandHandler.h" - -extern struct CommandHandler handlers[MAX_HANDLERS]; -extern int handlerCount; - -bool route(char *command) { - command = strtok(command, " "); - - for (int i = 0; i < handlerCount; i++) { - if (strcasecmp(handlers[i].p_name, command) == 0) { - handlers[i].p_executor(command); - return true; - } - } - return false; -} diff --git a/defaultCommands.c b/defaultCommands.c deleted file mode 100644 index cd3442e..0000000 --- a/defaultCommands.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "commandHandler.h" -#include - -void help(char *args) { - printf("This is the help message"); -} - -void about(char *args) { - printf("This is the about message"); -} - -void version(char *args) { - printf("This is the version message"); -} - -extern void registerHandler(char *name, F_EXECUTOR executor); - -void registerDefaultHandlers() { - registerHandler("help", &help); - registerHandler("h", &help); - registerHandler("?", &help); - registerHandler("about", &about); - registerHandler("a", &about); - registerHandler("version", &version); - registerHandler("v", &version); -} diff --git a/main.c b/main.c deleted file mode 100644 index 3f2bba6..0000000 --- a/main.c +++ /dev/null @@ -1,35 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#define SHELL_STRING "> " - -extern void registerDefaultHandlers(); -void printDefault(); -extern bool route(char *command); - -int main() { - char buffer[LINE_MAX]; - buffer[0] = 0; - - registerDefaultHandlers(); - - printf("Welcome!\n\n"); - do { - // Removes the Line Feed character at the "end", if it exists - char *toChange = strchr(buffer, 0x0A); - if (toChange != NULL) - toChange[0] = 0; - - if (buffer[0] > 0) - if (route(buffer)) - printf("\n"); - - printf(SHELL_STRING); - } while (fgets(buffer, LINE_MAX, stdin)); - - return 0; -} diff --git a/src/commandHandler.c b/src/commandHandler.c new file mode 100644 index 0000000..9d158f3 --- /dev/null +++ b/src/commandHandler.c @@ -0,0 +1,13 @@ +#include "commandHandler.h" + +struct CommandHandler handlers[MAX_HANDLERS]; + +int handlerCount = 0; + +void registerHandler(char *name, F_EXECUTOR executor) { + struct CommandHandler newCH; + newCH.p_name = name; + newCH.p_executor = executor; + + handlers[handlerCount++] = newCH; +} diff --git a/src/commandHandler.h b/src/commandHandler.h new file mode 100644 index 0000000..d344abb --- /dev/null +++ b/src/commandHandler.h @@ -0,0 +1,13 @@ +#ifndef COMMAND_HANDLER_HEADER +#define COMMAND_HANDLER_HEADER + +#define MAX_HANDLERS 32 + +typedef void (*F_EXECUTOR)(char *); + +struct CommandHandler { + char *p_name; + F_EXECUTOR p_executor; +}; + +#endif diff --git a/src/commandRouter.c b/src/commandRouter.c new file mode 100644 index 0000000..3d41ddd --- /dev/null +++ b/src/commandRouter.c @@ -0,0 +1,20 @@ +#include +#include +#include +#include +#include "commandHandler.h" + +extern struct CommandHandler handlers[MAX_HANDLERS]; +extern int handlerCount; + +bool route(char *command) { + command = strtok(command, " "); + + for (int i = 0; i < handlerCount; i++) { + if (strcasecmp(handlers[i].p_name, command) == 0) { + handlers[i].p_executor(command); + return true; + } + } + return false; +} diff --git a/src/defaultCommands.c b/src/defaultCommands.c new file mode 100644 index 0000000..cd3442e --- /dev/null +++ b/src/defaultCommands.c @@ -0,0 +1,26 @@ +#include "commandHandler.h" +#include + +void help(char *args) { + printf("This is the help message"); +} + +void about(char *args) { + printf("This is the about message"); +} + +void version(char *args) { + printf("This is the version message"); +} + +extern void registerHandler(char *name, F_EXECUTOR executor); + +void registerDefaultHandlers() { + registerHandler("help", &help); + registerHandler("h", &help); + registerHandler("?", &help); + registerHandler("about", &about); + registerHandler("a", &about); + registerHandler("version", &version); + registerHandler("v", &version); +} diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..3f2bba6 --- /dev/null +++ b/src/main.c @@ -0,0 +1,35 @@ +#include +#include +#include +#include +#include +#include + +#define SHELL_STRING "> " + +extern void registerDefaultHandlers(); +void printDefault(); +extern bool route(char *command); + +int main() { + char buffer[LINE_MAX]; + buffer[0] = 0; + + registerDefaultHandlers(); + + printf("Welcome!\n\n"); + do { + // Removes the Line Feed character at the "end", if it exists + char *toChange = strchr(buffer, 0x0A); + if (toChange != NULL) + toChange[0] = 0; + + if (buffer[0] > 0) + if (route(buffer)) + printf("\n"); + + printf(SHELL_STRING); + } while (fgets(buffer, LINE_MAX, stdin)); + + return 0; +} -- cgit v1.2.3