From c5431e4d321dbf0152e6826841c1ef5c1291ba5b Mon Sep 17 00:00:00 2001 From: Syndamia Date: Tue, 14 Jun 2022 15:38:50 +0300 Subject: Added files from project 2 (mirror) --- .../src/Generic/ConsoleInterface/Command.h | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Year 1/Object-oriented Programming/Project 2/src/Generic/ConsoleInterface/Command.h (limited to 'Year 1/Object-oriented Programming/Project 2/src/Generic/ConsoleInterface/Command.h') diff --git a/Year 1/Object-oriented Programming/Project 2/src/Generic/ConsoleInterface/Command.h b/Year 1/Object-oriented Programming/Project 2/src/Generic/ConsoleInterface/Command.h new file mode 100644 index 0000000..393d705 --- /dev/null +++ b/Year 1/Object-oriented Programming/Project 2/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 name[256]; + void (*exec)(const char* params); + +public: + //! Leaves name empty and exec function pointer to nullptr + Command(); + //! Copies contents of nameInMenu and stores exec + Command(const char* name, void (*exec)(const char* params)); + //! Executes the stored function pointer + void run(const char* params) const; + + const char* get_name() const; +}; + +#endif -- cgit v1.3.1-23-gd82d