///////////////////////////////////////////////////////////
///////////////// Have an itch? Scratch it! ///////////////
///////////////////////// SCRATCH /////////////////////////
///////////////////// A MUD Server ////////////////////
///////////////////// By: Jared Devall ////////////////////
///////////////////// Thanks: ////////////////////
///////////////////// DIKU/Merc/ROM ////////////////////
///////////////////// Aetas/Deus Gang ////////////////////
///////////////////// Beej ////////////////////
///////////////////////////////////////////////////////////
#ifndef __COMMANDTABLE_H_
#define __COMMANDTABLE_H_
#include <list>
#include "avatar.h"
#include "commands.h"
// The Command Table
class CommandTable {
public:
std::list< Command * > _commands;
CommandTable();
bool Execute( Avatar *, const std::string & );
bool LoadCommands( void );
bool LoadDisabledCommands( void );
Command * FindCommand( Avatar *, const std::string &, bool shortcut );
static CommandTable &Instance();
};
// Our singleton instance
inline CommandTable &CommandTable::Instance() {
static CommandTable instance;
return instance;
}
#endif // __commandtable_h