ConsoleRules Class Reference

#include <ConsoleRules.h>

List of all members.

Public Member Functions

 ConsoleRules ()
virtual ~ConsoleRules ()
void addLine (Console *console, const char *line)
void addRule (ConsoleRule *rule)
void removeRule (ConsoleRule *rule)
std::string matchRule (const char *line, std::vector< ConsoleRule * > &matches)
void dump (std::vector< std::string > &resultList)

Protected Types

typedef
std::multimap
< std::string,
ConsoleRule * > 
RulesMap

Protected Member Functions

bool parseLine (const char *line, std::vector< ConsoleRuleValue > &split)
void parseAddLine (int position, const char *line, std::vector< ConsoleRuleValue > &split)
ConsoleRulematchRule (std::vector< ConsoleRuleValue > &values, std::vector< ConsoleRule * > &closeMatches)
void getMatchedRules (std::vector< ConsoleRule * > &result, std::multimap< int, ConsoleRule * > &matchedRules, int argCount)

Protected Attributes

RulesMap rules_


Detailed Description

Definition at line 27 of file ConsoleRules.h.


Member Typedef Documentation

typedef std::multimap<std::string, ConsoleRule *> ConsoleRules::RulesMap [protected]

Definition at line 43 of file ConsoleRules.h.


Constructor & Destructor Documentation

ConsoleRules::ConsoleRules (  ) 

Definition at line 25 of file ConsoleRules.cpp.

ConsoleRules::~ConsoleRules (  )  [virtual]

Definition at line 30 of file ConsoleRules.cpp.


Member Function Documentation

void ConsoleRules::addLine ( Console console,
const char *  line 
)

Definition at line 136 of file ConsoleRules.cpp.

References Console::addLine(), S3D::formatStringBuffer(), matchRule(), parseLine(), ConsoleRule::runRule(), and ConsoleRule::valuesToString().

Referenced by ConsoleImpl::addLine().

void ConsoleRules::addRule ( ConsoleRule rule  ) 

Definition at line 35 of file ConsoleRules.cpp.

References _strlwr, ConsoleRule::getName(), removeRule(), and rules_.

Referenced by ConsoleImpl::addRule().

void ConsoleRules::removeRule ( ConsoleRule rule  ) 

Definition at line 44 of file ConsoleRules.cpp.

References rules_.

Referenced by addRule(), and ConsoleImpl::removeRule().

std::string ConsoleRules::matchRule ( const char *  line,
std::vector< ConsoleRule * > &  matches 
)

Definition at line 60 of file ConsoleRules.cpp.

References _strnicmp, ConsoleRule::getName(), int(), ConsoleRule::matchesPartialParams(), parseLine(), rules_, stricmp, LangStringUtil::strlen(), ConsoleRule::toString(), and ConsoleRuleValue::valueString.

Referenced by addLine(), and ConsoleImpl::keyboardCheck().

void ConsoleRules::dump ( std::vector< std::string > &  resultList  ) 

Definition at line 332 of file ConsoleRules.cpp.

References rules_, and ConsoleRule::toString().

Referenced by ConsoleImpl::help().

bool ConsoleRules::parseLine ( const char *  line,
std::vector< ConsoleRuleValue > &  split 
) [protected]

Definition at line 239 of file ConsoleRules.cpp.

References int(), parseAddLine(), and LangStringUtil::strlen().

Referenced by addLine(), and matchRule().

void ConsoleRules::parseAddLine ( int  position,
const char *  line,
std::vector< ConsoleRuleValue > &  split 
) [protected]

Definition at line 283 of file ConsoleRules.cpp.

References ConsoleRuleTypeBoolean, ConsoleRuleTypeNumber, ConsoleRuleTypeString, int(), ConsoleRuleValue::position, LangStringUtil::strcmp(), LangStringUtil::strlen(), ConsoleRuleValue::type, ConsoleRuleValue::valueBool, ConsoleRuleValue::valueNumber, and ConsoleRuleValue::valueString.

Referenced by parseLine().

ConsoleRule * ConsoleRules::matchRule ( std::vector< ConsoleRuleValue > &  values,
std::vector< ConsoleRule * > &  closeMatches 
) [protected]

Definition at line 178 of file ConsoleRules.cpp.

References _strlwr, getMatchedRules(), ConsoleRule::getParams(), ConsoleRule::matchesExactParams(), rules_, and ConsoleRuleValue::valueString.

void ConsoleRules::getMatchedRules ( std::vector< ConsoleRule * > &  result,
std::multimap< int, ConsoleRule * > &  matchedRules,
int  argCount 
) [protected]

Definition at line 220 of file ConsoleRules.cpp.

Referenced by matchRule().


Member Data Documentation

RulesMap ConsoleRules::rules_ [protected]

Definition at line 44 of file ConsoleRules.h.

Referenced by addRule(), dump(), matchRule(), and removeRule().


The documentation for this class was generated from the following files:
Generated on Mon Feb 16 15:15:01 2009 for Scorched3D by  doxygen 1.5.3