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 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.
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 |
Reimplemented from BESModuleApp.
Definition at line 629 of file ServerApp.cc.
References PPTServer::dump(), UnixSocket::dump(), TcpSocket::dump(), 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().