OPeNDAP Hyrax Back End Server (BES) Updated for version 3.8.3
|
#include <ServerApp.h>
Public Member Functions | |
string | appName (void) const |
Returns the name of the application. | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
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 () |
the applications functionality is implemented in the run method | |
ServerApp () | |
virtual int | terminate (int sig=0) |
clean up after the application | |
virtual | ~ServerApp () |
Static Public Member Functions | |
static void | signalInterrupt (int sig) |
static void | signalRestart (int sig) |
static void | signalTerminate (int sig) |
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 |
Definition at line 43 of file ServerApp.h.
ServerApp::ServerApp | ( | ) |
Definition at line 69 of file ServerApp.cc.
ServerApp::~ServerApp | ( | ) | [virtual] |
Definition at line 83 of file ServerApp.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(), 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
strm | C++ i/o stream to dump the information to |
Definition at line 629 of file ServerApp.cc.
References PPTServer::dump(), UnixSocket::dump(), TcpSocket::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
void BESModuleApp::dump | ( | ostream & | strm | ) | const [virtual, inherited] |
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.
Definition at line 254 of file BESModuleApp.cc.
References BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
int ServerApp::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 BESModuleApp.
Definition at line 285 of file ServerApp.cc.
References BESApp::appName(), BESDEBUG, TheBESKeys::ConfigFile, BESError::get_message(), BESKeys::get_value(), BESDebug::Register(), SERVER_EXIT_FATAL_CAN_NOT_START, BESDebug::SetUp(), BESServerUtils::show_usage(), BESServerUtils::show_version(), signalInterrupt(), signalRestart(), signalTerminate(), BESApp::TheApplication(), TheBESKeys::TheKeys(), and BESLog::TheLog().
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 ServerApp::run | ( | void | ) | [virtual] |
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 |
Reimplemented from BESBaseApp.
Definition at line 536 of file ServerApp.cc.
References BESDEBUG, BESError::get_message(), PPTServer::initConnection(), BESMemoryManager::initialize_memory_pool(), SocketListener::listen(), and BESLog::TheLog().
void ServerApp::signalInterrupt | ( | int | sig | ) | [static] |
Definition at line 98 of file ServerApp.cc.
References SERVER_EXIT_NORMAL_SHUTDOWN, BESApp::terminate(), and BESApp::TheApplication().
Referenced by initialize().
void ServerApp::signalRestart | ( | int | sig | ) | [static] |
Definition at line 108 of file ServerApp.cc.
References SERVER_EXIT_RESTART, BESApp::terminate(), and BESApp::TheApplication().
Referenced by initialize().
void ServerApp::signalTerminate | ( | int | sig | ) | [static] |
Definition at line 88 of file ServerApp.cc.
References SERVER_EXIT_NORMAL_SHUTDOWN, BESApp::terminate(), and BESApp::TheApplication().
Referenced by initialize().
int ServerApp::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 BESModuleApp.
Definition at line 586 of file ServerApp.cc.
References BESDEBUG, UnixSocket::close(), Socket::close(), and PPTServer::closeConnection().
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 initialize(), CmdApp::signalBrokenPipe(), CmdApp::signalCannotConnect(), signalInterrupt(), CmdApp::signalInterrupt(), signalRestart(), 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().