From 24bdf39e6c21ab846f6c86803761d78a094e05c0 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 26 May 2022 20:31:26 +0300 Subject: Added files from project 1 (mirror) --- .../src/Generic/ConsoleInterface/Command.h | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Year 1/Object-oriented Programming/Project 1/src/Generic/ConsoleInterface/Command.h (limited to 'Year 1/Object-oriented Programming/Project 1/src/Generic/ConsoleInterface/Command.h') diff --git a/Year 1/Object-oriented Programming/Project 1/src/Generic/ConsoleInterface/Command.h b/Year 1/Object-oriented Programming/Project 1/src/Generic/ConsoleInterface/Command.h new file mode 100644 index 0000000..f1eb55b --- /dev/null +++ b/Year 1/Object-oriented Programming/Project 1/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 -- cgit v1.3.1-23-gd82d