bes  Updated for version 3.17.4
ServerApp Class Reference
Inheritance diagram for ServerApp:
Inheritance graph

Public Member Functions

string appName (void) const
 Returns the name of the application. 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 ()
 the applications functionality is implemented in the run method More...
 
virtual int terminate (int sig=0)
 clean up after the application 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

Definition at line 41 of file ServerApp.h.

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 ServerApp::dump ( ostream &  strm) const
virtual

Displays the pointer value of this instance

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

Reimplemented from BESModuleApp.

Definition at line 625 of file ServerApp.cc.

References PPTServer::dump(), BESModuleApp::dump(), UnixSocket::dump(), and TcpSocket::dump().

◆ initialize()

int ServerApp::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 BESModuleApp.

Definition at line 270 of file ServerApp.cc.

References BESApp::appName(), TheBESKeys::ConfigFile, BESError::get_message(), BESKeys::get_value(), BESXMLDefaultCommands::initialize(), BESModuleApp::initialize(), BESDebug::Register(), BESDebug::SetUp(), BESApp::TheApplication(), 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 ServerApp::run ( void  )
virtual

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

Reimplemented from BESBaseApp.

Definition at line 464 of file ServerApp.cc.

References BESError::get_message(), and PPTServer::initConnection().

◆ terminate()

int ServerApp::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 BESModuleApp.

Definition at line 579 of file ServerApp.cc.

References BESXMLDefaultCommands::terminate(), and BESModuleApp::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: