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.cpp | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Year 1/Object-oriented Programming/Project 2/src/Generic/ConsoleInterface/Command.cpp (limited to 'Year 1/Object-oriented Programming/Project 2/src/Generic/ConsoleInterface/Command.cpp') diff --git a/Year 1/Object-oriented Programming/Project 2/src/Generic/ConsoleInterface/Command.cpp b/Year 1/Object-oriented Programming/Project 2/src/Generic/ConsoleInterface/Command.cpp new file mode 100644 index 0000000..d05dc8d --- /dev/null +++ b/Year 1/Object-oriented Programming/Project 2/src/Generic/ConsoleInterface/Command.cpp @@ -0,0 +1,24 @@ +#include "Command.h" +#include + +Command::Command() : Command("", nullptr) {} + +/*! \param name C-style string, class stores at most 255 characters (last character is always terminating zero) + * \param exec Function pointer that will be executed when run() is called. Can be nullptr. + */ +Command::Command(const char* name, void (*exec)(const char* params)) { + strncpy(this->name, name, 255); + this->name[255] = '\0'; + this->exec = exec; +} + +/*! Executes the stored function pointer, when it's not nullptr. Otherwise does nothing. + */ +void Command::run(const char* params) const { + if (exec != nullptr) + exec(params); +} + +const char* Command::get_name() const { + return name; +} -- cgit v1.3.1-23-gd82d