bes  Updated for version 3.17.4
BESModuleApp Class Reference

Base application object for all BES applications. More...

#include <BESModuleApp.h>

Inheritance diagram for BESModuleApp:
Inheritance graph

Public Member Functions

string appName (void) const
 Returns the name of the application. More...
 
 BESModuleApp (void)
 Default constructor. More...
 
virtual void dump (ostream &strm) const
 dumps information about this object More...
 
virtual int initialize (int argC, char **argV)
 Load and initialize any BES modules. More...
 
virtual int main (int argC, char **argV)
 main method of the BES application More...
 
virtual int run (void)
 the applications functionality is implemented in the run method More...
 
virtual int terminate (int sig=0)
 clean up after the application More...
 
virtual ~BESModuleApp (void)
 Default destructor. More...
 

Static Public Member Functions

static BESAppTheApplication (void)
 Returns the BESApp application object for this application. More...
 

Protected Attributes

string _appName
 
bool _debug
 
bool _isInitialized
 

Static Protected Attributes

static BESApp_theApplication = 0
 

Detailed Description

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.

See also
BESApp
BESGlobalIQ

Definition at line 59 of file BESModuleApp.h.

Constructor & Destructor Documentation

◆ BESModuleApp()

BESModuleApp::BESModuleApp ( void  )

Initialized the static _the Applicatioon to point to this application object

Definition at line 50 of file BESModuleApp.cc.

◆ ~BESModuleApp()

BESModuleApp::~BESModuleApp ( void  )
virtual

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 60 of file BESModuleApp.cc.

Member Function Documentation

◆ appName()

string BESApp::appName ( void  ) const
inlineinherited

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.

Returns
name of the application

Definition at line 132 of file BESApp.h.

◆ dump()

void BESModuleApp::dump ( ostream &  strm) const
virtual

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.

Parameters
strmC++ i/o stream to dump the information to

Reimplemented from BESBaseApp.

Reimplemented in ServerApp, and StandAloneApp.

Definition at line 243 of file BESModuleApp.cc.

◆ initialize()

int BESModuleApp::initialize ( int  argC,
char **  argV 
)
virtual
Returns
0 if successful and not 0 otherwise
Parameters
argCargc value passed to the main function
argVargv value passed to the main function

Reimplemented from BESBaseApp.

Reimplemented in ServerApp, and StandAloneApp.

Definition at line 70 of file BESModuleApp.cc.

References BESPluginFactory< C >::add_mapping(), BESUtil::explode(), BESPluginFactory< C >::get(), BESError::get_message(), BESKeys::get_value(), BESKeys::get_values(), BESBaseApp::initialize(), and TheBESKeys::TheKeys().

◆ main()

int BESBaseApp::main ( int  argC,
char **  argV 
)
virtualinherited

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.

Returns
0 if successful and not 0 otherwise
Parameters
argCargc value passed to the main function
argVargv value passed to the main function

Implements BESApp.

Definition at line 74 of file BESBaseApp.cc.

References BESBaseApp::initialize(), BESBaseApp::run(), and BESBaseApp::terminate().

◆ run()

int BESBaseApp::run ( void  )
virtualinherited

It is up to the derived class to implement this method.

Returns
0 if successful and not 0 otherwise
Exceptions
BESErrorif the derived class does not implement this method

Implements BESApp.

Reimplemented in CmdApp, ServerApp, and StandAloneApp.

Definition at line 109 of file BESBaseApp.cc.

◆ terminate()

int BESModuleApp::terminate ( int  sig = 0)
virtual

Calls terminate on each of the loaded modules

Returns
0 if successful and not 0 otherwise
Parameters
sigif the application is terminating due to a signal, otherwise 0 is passed.

Reimplemented from BESBaseApp.

Reimplemented in ServerApp, and StandAloneApp.

Definition at line 202 of file BESModuleApp.cc.

References BESPluginFactory< C >::get(), BESError::get_message(), and BESBaseApp::terminate().

◆ TheApplication()

static BESApp* BESApp::TheApplication ( void  )
inlinestaticinherited
Returns
The application object

Definition at line 138 of file BESApp.h.


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