Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

HexProgram Class Reference

Program for playing Hex. More...

#include <HexProgram.hpp>

List of all members.

Public Member Functions

virtual void Initialize (int argc, char **argv)
 Parses cmd-line arguments, starts up Hex system, etc.
virtual void Shutdown ()
 Shuts down the program and the Hex system.
void SetInfo (std::string name, std::string version, std::string date)
 Sets the name, version, etc, for this program.
void PrintStartupMessage ()
 Prints program information and some license details.
std::string getName () const
 Returns the name of the program.
std::string getVersion () const
 Returns the version string of the program.
std::string getBuild () const
 Returns the build number of the program.
std::string getDate () const
 Returns the build date of the program.
int BoardSize () const
 Boardsize as parsed from the cmd-line options.
std::string ConfigFileToExecute () const
 Returns the configuration file that should be parsed.

Static Public Member Functions

static HexProgram & Get ()
 Creates new HexProgram if non exists, or returns existing instance.

Protected Member Functions

virtual void RegisterCmdLineArguments ()
 Registers all command-line arguments.
void Usage () const
 Prints all registered cmd-line arguments and their usage.

Protected Attributes

std::string m_name
std::string m_version
std::string m_date
std::string m_executable_name
std::string m_executable_path
bool m_initialized
 Cmd-line options.
boost::program_options::options_description m_options_desc
int m_boardsize
int m_random_seed
bool m_use_logfile
std::string m_logfile_name
std::string m_logfile_level
std::string m_config_file
LogLevel m_stderr_level

Private Member Functions

 HexProgram ()
 Constructor.
virtual ~HexProgram ()
 Destructor.
void InitLog ()
void InitRandom ()
void InitializeHexSystem ()
 Start the Hex system.
void ProcessCmdLineArguments (int argc, char **argv)
void ShutdownLog ()

Detailed Description

Program for playing Hex.

Parses command-line arguments and initializes the Hex system.

Definition at line 24 of file HexProgram.hpp.


Constructor & Destructor Documentation

HexProgram::HexProgram (  )  [private]

Constructor.

Definition at line 32 of file HexProgram.cpp.

HexProgram::~HexProgram (  )  [private, virtual]

Destructor.

Definition at line 38 of file HexProgram.cpp.


Member Function Documentation

int HexProgram::BoardSize (  )  const [inline]

Boardsize as parsed from the cmd-line options.

Definition at line 137 of file HexProgram.hpp.

References m_boardsize.

Referenced by main().

std::string HexProgram::ConfigFileToExecute (  )  const [inline]

Returns the configuration file that should be parsed.

This will be non-empty if the cmd-line option '--config' was parsed during the call to Initialize().

Definition at line 142 of file HexProgram.hpp.

References m_config_file.

Referenced by main().

HexProgram & HexProgram::Get (  )  [static]

Creates new HexProgram if non exists, or returns existing instance.

Definition at line 42 of file HexProgram.cpp.

Referenced by HexAssertShutdown(), and main().

std::string HexProgram::getBuild (  )  const

Returns the build number of the program.

std::string HexProgram::getDate (  )  const [inline]

Returns the build date of the program.

Definition at line 132 of file HexProgram.hpp.

References m_date.

std::string HexProgram::getName (  )  const [inline]

Returns the name of the program.

Definition at line 122 of file HexProgram.hpp.

References m_name.

std::string HexProgram::getVersion (  )  const [inline]

Returns the version string of the program.

Definition at line 127 of file HexProgram.hpp.

References m_version.

void HexProgram::Initialize ( int  argc,
char **  argv 
) [virtual]

Parses cmd-line arguments, starts up Hex system, etc.

Does nothing if called a second time.

Definition at line 140 of file HexProgram.cpp.

References InitializeHexSystem(), m_executable_name, m_executable_path, m_initialized, ProcessCmdLineArguments(), and RegisterCmdLineArguments().

Referenced by InitializeHexSystem(), and main().

void HexProgram::InitializeHexSystem (  )  [private]

Start the Hex system.

Definition at line 128 of file HexProgram.cpp.

References HexProp::Init(), Initialize(), BoardUtils::InitializeDecompositions(), InitLog(), InitRandom(), LogConfig(), m_date, m_name, and m_version.

Referenced by Initialize().

void HexProgram::InitLog (  )  [private]
void HexProgram::InitRandom (  )  [private]

Definition at line 118 of file HexProgram.cpp.

References LogConfig(), and m_random_seed.

Referenced by InitializeHexSystem().

void HexProgram::PrintStartupMessage (  ) 

Prints program information and some license details.

Definition at line 56 of file HexProgram.cpp.

References m_date, m_name, and m_version.

Referenced by main().

void HexProgram::ProcessCmdLineArguments ( int  argc,
char **  argv 
) [private]
void HexProgram::RegisterCmdLineArguments (  )  [protected, virtual]

Registers all command-line arguments.

Definition at line 68 of file HexProgram.cpp.

References m_boardsize, m_config_file, m_logfile_level, m_logfile_name, m_options_desc, m_random_seed, and m_use_logfile.

Referenced by Initialize().

void HexProgram::SetInfo ( std::string  name,
std::string  version,
std::string  date 
)

Sets the name, version, etc, for this program.

Definition at line 48 of file HexProgram.cpp.

References m_date, m_name, and m_version.

Referenced by main().

void HexProgram::Shutdown (  )  [virtual]

Shuts down the program and the Hex system.

Definition at line 179 of file HexProgram.cpp.

References LogConfig(), and ShutdownLog().

Referenced by HexAssertShutdown(), main(), and ProcessCmdLineArguments().

void HexProgram::ShutdownLog (  )  [private]

Definition at line 168 of file HexProgram.cpp.

References Logger::Flush(), and Logger::Global().

Referenced by Shutdown().

void HexProgram::Usage (  )  const [protected]

Prints all registered cmd-line arguments and their usage.

Definition at line 226 of file HexProgram.cpp.

References m_executable_name, and m_options_desc.

Referenced by ProcessCmdLineArguments().


Member Data Documentation

int HexProgram::m_boardsize [protected]

Definition at line 92 of file HexProgram.hpp.

Referenced by BoardSize(), and RegisterCmdLineArguments().

std::string HexProgram::m_config_file [protected]

Definition at line 97 of file HexProgram.hpp.

Referenced by ConfigFileToExecute(), and RegisterCmdLineArguments().

std::string HexProgram::m_date [protected]
std::string HexProgram::m_executable_name [protected]

Definition at line 85 of file HexProgram.hpp.

Referenced by Initialize(), and Usage().

std::string HexProgram::m_executable_path [protected]

Definition at line 86 of file HexProgram.hpp.

Referenced by Initialize().

bool HexProgram::m_initialized [protected]

Cmd-line options.

Definition at line 89 of file HexProgram.hpp.

Referenced by Initialize().

std::string HexProgram::m_logfile_level [protected]

Definition at line 96 of file HexProgram.hpp.

Referenced by InitLog(), and RegisterCmdLineArguments().

std::string HexProgram::m_logfile_name [protected]

Definition at line 95 of file HexProgram.hpp.

Referenced by InitLog(), and RegisterCmdLineArguments().

std::string HexProgram::m_name [protected]
boost::program_options::options_description HexProgram::m_options_desc [protected]

Definition at line 90 of file HexProgram.hpp.

Referenced by ProcessCmdLineArguments(), RegisterCmdLineArguments(), and Usage().

int HexProgram::m_random_seed [protected]

Definition at line 93 of file HexProgram.hpp.

Referenced by InitRandom(), and RegisterCmdLineArguments().

Definition at line 98 of file HexProgram.hpp.

Referenced by InitLog(), and ProcessCmdLineArguments().

bool HexProgram::m_use_logfile [protected]

Definition at line 94 of file HexProgram.hpp.

Referenced by InitLog(), and RegisterCmdLineArguments().

std::string HexProgram::m_version [protected]

The documentation for this class was generated from the following files:


6 Jan 2011 Doxygen 1.6.3