bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
ServerApp Class Reference
Inheritance diagram for ServerApp:
Inheritance graph
Collaboration diagram for ServerApp:
Collaboration graph

Public Member Functions

std::string appName () const
 Returns the name of the application.
 
void dump (std::ostream &strm) const override
 dumps information about this object
 
int initialize (int argC, char **argV) override
 Load and initialize any BES modules.
 
virtual int main (int argC, char **argV)
 main routine, the main entry point for any BES applications.
 
int run () override
 The body of the application, implementing the primary functionality of the BES application.
 
int terminate (int status=0) override
 clean up after the application
 

Static Public Member Functions

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

Protected Attributes

std::string _appName
 
bool _debug {false}
 
bool _isInitialized {false}
 

Static Protected Attributes

static BESApp_theApplication = nullptr
 

Detailed Description

Definition at line 41 of file ServerApp.h.

Constructor & Destructor Documentation

◆ ServerApp()

ServerApp::ServerApp ( )

Definition at line 258 of file ServerApp.cc.

Member Function Documentation

◆ appName()

std::string BESApp::appName ( ) const
inlineinherited

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.

Returns
name of the application

Definition at line 130 of file BESApp.h.

◆ dump()

void ServerApp::dump ( std::ostream & strm) const
overridevirtual

dumps information about this object

Displays the pointer value of this instance

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

Reimplemented from BESModuleApp.

Definition at line 614 of file ServerApp.cc.

◆ initialize()

int ServerApp::initialize ( int argC,
char ** argV )
overridevirtual

Load and initialize any BES modules.

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 263 of file ServerApp.cc.

◆ main()

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

main routine, the main entry point for any BES applications.

main method of the BES application

It is up to the derived classes of BESApp to implement the main routine. However, the main method should call initialize, run and terminate in that order and should pass to the initialize routine the arguments argc and argv passed to the main function.

Parameters
argCnumber of arguments passed to the application, which is argc passed to the main function.
argVarguments passed to the application, which is argv passed to the main function.

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

Definition at line 52 of file BESApp.cc.

◆ run()

int ServerApp::run ( )
overridevirtual

The body of the application, implementing the primary functionality of the BES application.

the applications functionality is implemented in the run method

It is up to the derived classes of BESApp to implement the run method.

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 BESApp.

Definition at line 456 of file ServerApp.cc.

◆ terminate()

int ServerApp::terminate ( int sig = 0)
overridevirtual

clean up after the application

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 560 of file ServerApp.cc.

◆ TheApplication()

static BESApp * BESApp::TheApplication ( )
inlinestaticinherited

Returns the BESApp application object for this application.

Returns
The application object

Definition at line 139 of file BESApp.h.

Member Data Documentation

◆ _appName

std::string BESApp::_appName
protectedinherited

Definition at line 58 of file BESApp.h.

◆ _debug

bool BESApp::_debug {false}
protectedinherited

Definition at line 59 of file BESApp.h.

◆ _isInitialized

bool BESApp::_isInitialized {false}
protectedinherited

Definition at line 60 of file BESApp.h.

◆ _theApplication

BESApp * BESApp::_theApplication = nullptr
staticprotectedinherited

Definition at line 61 of file BESApp.h.


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