#include <BESBaseApp.h>
Public Member Functions | |
BESBaseApp (void) | |
Default constructor. | |
virtual | ~BESBaseApp (void) |
Default destructor. | |
virtual int | main (int argC, char **argV) |
main method of the BES application | |
virtual int | initialize (int argC, char **argV) |
initialize the BES application | |
virtual int | run (void) |
the applications functionality is implemented in the run method | |
virtual int | terminate (int sig=0) |
clean up after the application | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
string | appName (void) const |
Returns the name of the application. | |
Static Public Member Functions | |
static BESApp * | TheApplication (void) |
Returns the BESApp application object for this application. | |
Protected Attributes | |
string | _appName |
bool | _debug |
bool | _isInitialized |
Static Protected Attributes | |
static BESApp * | _theApplication = 0 |
Implements the initialization method to initialize all global objects registered with the Global Initialization routines of BES.
Implements the terminate method to clean up any global objects registered with the Global Initialization routines of BES.
It is up to the derived classes to implement the run method.
BESBaseApp::BESBaseApp | ( | void | ) |
Default constructor.
Initialized the static _the Applicatioon to point to this application object
BESBaseApp::~BESBaseApp | ( | void | ) | [virtual] |
Default destructor.
sets the static _theApplicaiton to null. Does not call terminate. It is up to the main method to call the terminate method.
int BESBaseApp::main | ( | int | argC, | |
char ** | argV | |||
) | [virtual] |
main method of the BES application
sets the appName to argv[0], then calls initialize, run, and terminate in that order. Exceptions should be caught in the individual methods initialize, run and terminate and handled there.
argC | argc value passed to the main function | |
argV | argv value passed to the main function |
Implements BESApp.
References BESApp::_appName, initialize(), run(), and terminate().
Referenced by main().
int BESBaseApp::initialize | ( | int | argC, | |
char ** | argV | |||
) | [virtual] |
initialize the BES application
uses the BESGlobalIQ static method BESGlobalInit to initialize any global variables needed by this application
argC | argc value passed to the main function | |
argV | argv value passed to the main function |
BESError | if any exceptions or errors are encountered |
Implements BESApp.
Reimplemented in BESModuleApp, ServerApp, and CmdApp.
References BESApp::_isInitialized, BESGlobalIQ::BESGlobalInit(), and BESError::get_message().
Referenced by CmdApp::initialize(), BESModuleApp::initialize(), and main().
int BESBaseApp::run | ( | void | ) | [virtual] |
the applications functionality is implemented in the run method
It is up to the derived class to implement this method.
BESError | if the derived class does not implement this method |
Implements BESApp.
Reimplemented in ServerApp, and CmdApp.
Referenced by main().
int BESBaseApp::terminate | ( | int | sig = 0 |
) | [virtual] |
clean up after the application
Cleans up any global variables registered with BESGlobalIQ
sig | if the application is terminating due to a signal, otherwise 0 is passed. |
Implements BESApp.
Reimplemented in BESModuleApp, and ServerApp.
References BESApp::_isInitialized, and BESGlobalIQ::BESGlobalQuit().
Referenced by main(), and BESModuleApp::terminate().
void BESBaseApp::dump | ( | ostream & | strm | ) | const [virtual] |
dumps information about this object
Displays the pointer value of this instance along with the name of the application, whether the application is initialized or not
strm | C++ i/o stream to dump the information to |
Implements BESApp.
Reimplemented in BESModuleApp, ServerApp, and CmdApp.
References BESApp::_isInitialized, BESApp::appName(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
Referenced by CmdApp::dump().
string BESApp::appName | ( | void | ) | const [inline, inherited] |
Returns the name of the application.
The name of the application is typically argv[0] passed into the main function. But could be passed into the application or derived in a different way.
References BESApp::_appName.
Referenced by dump(), ServerApp::initialize(), CmdApp::signalBrokenPipe(), CmdApp::signalCannotConnect(), CmdApp::signalInterrupt(), and CmdApp::signalTerminate().
static BESApp* BESApp::TheApplication | ( | void | ) | [inline, static, inherited] |
Returns the BESApp application object for this application.
References BESApp::_theApplication.
Referenced by ServerApp::initialize(), CmdApp::signalBrokenPipe(), CmdApp::signalCannotConnect(), ServerApp::signalInterrupt(), CmdApp::signalInterrupt(), ServerApp::signalRestart(), ServerApp::signalTerminate(), and CmdApp::signalTerminate().
string BESApp::_appName [protected, inherited] |
Referenced by BESApp::appName(), and main().
bool BESApp::_debug [protected, inherited] |
bool BESApp::_isInitialized [protected, inherited] |
Referenced by dump(), initialize(), and terminate().
BESApp * BESApp::_theApplication = 0 [static, protected, inherited] |
Referenced by BESApp::TheApplication().