OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
ServerApp Class Reference

#include <ServerApp.h>

Inheritance diagram for ServerApp:
Inheritance graph
Collaboration diagram for ServerApp:
Collaboration 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...
 
 ServerApp ()
 
virtual int terminate (int sig=0)
 clean up after the application More...
 
virtual ~ServerApp ()
 

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 43 of file ServerApp.h.

Constructor & Destructor Documentation

ServerApp::ServerApp ( )

Definition at line 71 of file ServerApp.cc.

ServerApp::~ServerApp ( )
virtual

Definition at line 77 of file ServerApp.cc.

Member Function Documentation

string BESApp::appName ( void  ) 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 132 of file BESApp.h.

References BESApp::_appName.

Referenced by BESBaseApp::dump(), initialize(), CmdApp::signalBrokenPipe(), CmdApp::signalCannotConnect(), CmdApp::signalInterrupt(), and CmdApp::signalTerminate().

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

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

References PPTServer::dump(), BESModuleApp::dump(), UnixSocket::dump(), TcpSocket::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

Here is the call graph for this function:

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

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

References BESApp::appName(), BESDEBUG, TheBESKeys::ConfigFile, BESError::get_message(), BESKeys::get_value(), BESDefaultModule::initialize(), BESXMLDefaultCommands::initialize(), BESModuleApp::initialize(), BESDebug::Register(), SERVER_EXIT_FATAL_CAN_NOT_START, BESDebug::SetUp(), BESServerUtils::show_usage(), BESServerUtils::show_version(), BESApp::TheApplication(), TheBESKeys::TheKeys(), and BESLog::TheLog().

Here is the call graph for this function:

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

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.

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 BESApp::_appName, BESBaseApp::initialize(), BESBaseApp::run(), and BESBaseApp::terminate().

Referenced by main().

Here is the call graph for this function:

int ServerApp::run ( void  )
virtual

the applications functionality is implemented in 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 BESBaseApp.

Definition at line 378 of file ServerApp.cc.

References BESDEBUG, BESLISTENER_PIPE_FD, BESLISTENER_RUNNING, PPTServer::closeConnection(), BESError::get_message(), PPTServer::initConnection(), BESMemoryManager::initialize_memory_pool(), SocketListener::listen(), SERVER_EXIT_FATAL_CAN_NOT_START, and BESLog::TheLog().

Here is the call graph for this function:

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

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

References BESDEBUG, UnixSocket::close(), Socket::close(), PPTServer::closeConnection(), BESDefaultModule::terminate(), BESXMLDefaultCommands::terminate(), and BESModuleApp::terminate().

Here is the call graph for this function:

static BESApp* BESApp::TheApplication ( void  )
inlinestaticinherited

Returns the BESApp application object for this application.

Returns
The application object

Definition at line 138 of file BESApp.h.

References BESApp::_theApplication.

Referenced by initialize(), CmdApp::signalBrokenPipe(), CmdApp::signalCannotConnect(), CmdApp::signalInterrupt(), and CmdApp::signalTerminate().

Member Data Documentation

string BESApp::_appName
protectedinherited

Definition at line 60 of file BESApp.h.

Referenced by BESApp::appName(), and BESBaseApp::main().

bool BESApp::_debug
protectedinherited

Definition at line 61 of file BESApp.h.

bool BESApp::_isInitialized
protectedinherited

Definition at line 62 of file BESApp.h.

Referenced by BESBaseApp::dump(), BESBaseApp::initialize(), and BESBaseApp::terminate().

BESApp * BESApp::_theApplication = 0
staticprotectedinherited

Definition at line 63 of file BESApp.h.

Referenced by BESApp::TheApplication().


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