Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Generic / ConsoleInterface / Command.h
diff options
context:
space:
mode:
Commit3098e987d83a7fa2ea33e66b901e6941233a9879 (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-05-28 09:33:26 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-05-28 09:33:26 +0300
Files8fe54cd3f7c29b24b822762d7249e6310ae97d6a /src/Generic/ConsoleInterface/Command.h
FMI-OOP-P2_Tables-3098e987d83a7fa2ea33e66b901e6941233a9879.tar
FMI-OOP-P2_Tables-3098e987d83a7fa2ea33e66b901e6941233a9879.tar.gz
FMI-OOP-P2_Tables-3098e987d83a7fa2ea33e66b901e6941233a9879.zip
Parent12df7aa3b9ec4bc6d9b74ae86ef0248d049f8785 (diff)
Added generic stuff from previous project
1 files changed, 27 insertions, 0 deletions
-rw-r--r--src/Generic/ConsoleInterface/Command.h27
diff --git a/src/Generic/ConsoleInterface/Command.h b/src/Generic/ConsoleInterface/Command.h
new file mode 100644
index 0000000..f1eb55b
--- /dev/null
+++ b/src/Generic/ConsoleInterface/Command.h
@@ -0,0 +1,27 @@
+#ifndef HEADER_CONSOLEINTERFACE_COMMAND
+#define HEADER_CONSOLEINTERFACE_COMMAND
+
+/*! \file Command.h
+ * \brief Stores the declaration of class Command
+ */
+
+/*! \brief Stores a 256 character name and a function pointer to be executed when calling run()
+ *
+ * Menu uses this class for a more generic implementation of it's navigate function.
+ */
+class Command {
+ char nameInMenu[256];
+ void (*exec)();
+
+public:
+ //! Leaves name empty and exec function pointer to nullptr
+ Command();
+ //! Copies contents of nameInMenu and stores exec
+ Command(const char* nameInMenu, void (*exec)());
+ //! Executes the stored function pointer
+ void run() const;
+
+ const char* get_nameInMenu() const;
+};
+
+#endif