123456789101112131415161718192021222324252627282930313233343536 |
- #include "CommandManager.h"
- #include "commands/TestCommand.h"
- #include "CommandUtils.h"
- CommandManager::CommandManager()
- {
- registerCommand(new TestCommand());
- }
- CommandManager::~CommandManager()
- {
- }
- void CommandManager::registerCommand(BaseCommand* command)
- {
- commands.insert(pair<string, unique_ptr<BaseCommand>> (command->getName(), command));
- }
- void CommandManager::execute(ICommandSource& cs, const string& rawCommand) const
- {
- vector<string> args;
-
- string command;
- if(CommandUtils::splitString(rawCommand, command, args))
- {
- cout << "Invalid command syntax: '" << rawCommand << "'" << endl;
- return;
- }
- if(commands.find(command) == commands.end())
- {
- cout << "Unknown command: '" << command << "'" << endl;
- return;
- }
- commands.begin()->second->execute(cs, args);
- }
|