#ifndef COMMANDMANAGER_H
#define COMMANDMANAGER_H

#include "server/commands/ServerCommands.h"
#include "common/utils/String.h"
#include "common/utils/SplitString.h"
#include "common/utils/HashMap.h"
#include "common/utils/HashedString.h"

class CommandManager {
public:
    CommandManager();

    void execute(ServerCommands& sc, const String& rawCommand);
    
private:
    typedef void (*Command) (ServerCommands&, const SplitString&);

    HashMap<HashedString, Command, 16> commands;
};

#endif