Base application object for all BES applications. More...
#include <BESModuleApp.h>
Classes | |
struct | _bes_module |
Public Member Functions | |
string | appName (void) const |
Returns the name of the application. | |
BESModuleApp (void) | |
Default constructor. | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
virtual int | initialize (int argC, char **argV) |
Load and initialize any BES modules. | |
virtual int | main (int argC, char **argV) |
main method of 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 | ~BESModuleApp (void) |
Default destructor. | |
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 |
Base application object for all BES applications.
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.
Definition at line 59 of file BESModuleApp.h.
BESModuleApp::BESModuleApp | ( | void | ) |
Default constructor.
Initialized the static _the Applicatioon to point to this application object
Definition at line 51 of file BESModuleApp.cc.
BESModuleApp::~BESModuleApp | ( | 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.
Definition at line 61 of file BESModuleApp.cc.
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.
Definition at line 132 of file BESApp.h.
References BESApp::_appName.
Referenced by BESBaseApp::dump(), ServerApp::initialize(), CmdApp::signalBrokenPipe(), CmdApp::signalCannotConnect(), CmdApp::signalInterrupt(), and CmdApp::signalTerminate().
void BESModuleApp::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 and whether the application debugging is turned on.
strm | C++ i/o stream to dump the information to |
Reimplemented from BESBaseApp.
Reimplemented in ServerApp, and StandAloneApp.
Definition at line 219 of file BESModuleApp.cc.
int BESModuleApp::initialize | ( | int | argC, | |
char ** | argV | |||
) | [virtual] |
Load and initialize any BES modules.
argC | argc value passed to the main function | |
argV | argv value passed to the main function |
Reimplemented from BESBaseApp.
Reimplemented in ServerApp, and StandAloneApp.
Definition at line 72 of file BESModuleApp.cc.
int BESBaseApp::main | ( | int | argC, | |
char ** | argV | |||
) | [virtual, inherited] |
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.
Definition at line 75 of file BESBaseApp.cc.
References BESApp::_appName, BESBaseApp::initialize(), BESBaseApp::run(), and BESBaseApp::terminate().
Referenced by main().
int BESBaseApp::run | ( | void | ) | [virtual, inherited] |
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 CmdApp, ServerApp, and StandAloneApp.
Definition at line 141 of file BESBaseApp.cc.
Referenced by BESBaseApp::main().
int BESModuleApp::terminate | ( | int | sig = 0 |
) | [virtual] |
clean up after the application
Calls terminate on each of the loaded modules
sig | if the application is terminating due to a signal, otherwise 0 is passed. |
Reimplemented from BESBaseApp.
Reimplemented in ServerApp, and StandAloneApp.
Definition at line 179 of file BESModuleApp.cc.
References BESPluginFactory< C >::get(), and BESAbstractModule::terminate().
static BESApp* BESApp::TheApplication | ( | void | ) | [inline, static, inherited] |
Returns the BESApp application object for this application.
Definition at line 138 of file BESApp.h.
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] |
Definition at line 60 of file BESApp.h.
Referenced by BESApp::appName(), and BESBaseApp::main().
bool BESApp::_debug [protected, inherited] |
bool BESApp::_isInitialized [protected, inherited] |
Definition at line 62 of file BESApp.h.
Referenced by BESBaseApp::dump(), BESBaseApp::initialize(), and BESBaseApp::terminate().
BESApp * BESApp::_theApplication = 0 [static, protected, inherited] |
Definition at line 63 of file BESApp.h.
Referenced by BESApp::TheApplication().