Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Generic / ConsoleInterface / Command.cpp
blob: c14bcc8693a57e55b777edf52b39520fff387f62 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "Command.h"
#include <cstring>

Command::Command() : Command("", nullptr) {}

/*! \param nameInMenu 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* nameInMenu, void (*exec)()) {
	strncpy(this->nameInMenu, nameInMenu, 255);
	this->nameInMenu[255] = '\0';
	this->exec = exec;
}

/*! Executes the stored function pointer, when it's not nullptr. Otherwise does nothing.
 */
void Command::run() const {
	if (exec != nullptr)
		exec();
}

const char* Command::get_nameInMenu() const {
	return nameInMenu;
}