#include <ServerApp.h>
Inheritance diagram for ServerApp:
Public Member Functions | |
ServerApp () | |
virtual | ~ServerApp () |
virtual int | initialize (int argc, char **argv) |
Load and initialize any BES modules. | |
virtual int | run () |
the applications functionality is implemented in the run method | |
virtual int | terminate (int sig=0) |
clean up after the application | |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
virtual int | main (int argC, char **argV) |
main method of the BES application | |
string | appName (void) const |
Returns the name of the application. | |
Static Public Member Functions | |
static void | signalTerminate (int sig) |
static void | signalInterrupt (int sig) |
static void | signalRestart (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 |
Definition at line 43 of file ServerApp.h.
ServerApp::ServerApp | ( | ) |
Definition at line 68 of file ServerApp.cc.
ServerApp::~ServerApp | ( | ) | [virtual] |
Definition at line 82 of file ServerApp.cc.
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 243 of file ServerApp.cc.
References BESApp::appName(), BESDEBUG, TheBESKeys::ConfigFile, BESKeys::get_key(), BESModuleApp::initialize(), BESDefaultCommands::initialize(), BESDefaultModule::initialize(), SERVER_EXIT_FATAL_CAN_NOT_START, BESDebug::SetUp(), BESServerUtils::show_usage(), BESServerUtils::show_version(), signalInterrupt(), signalRestart(), signalTerminate(), BESApp::TheApplication(), and TheBESKeys::TheKeys().
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.
BESException | if the derived class does not implement this method |
Reimplemented from BESBaseApp.
Definition at line 416 of file ServerApp.cc.
References BESDEBUG, PPTException::getMessage(), PPTServer::initConnection(), BESMemoryManager::initialize_memory_pool(), and SocketListener::listen().
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
sig | if the application is terminating due to a signal, otherwise 0 is passed. |
Reimplemented from BESModuleApp.
Definition at line 467 of file ServerApp.cc.
References BESDEBUG, UnixSocket::close(), Socket::close(), BESModuleApp::terminate(), BESDefaultCommands::terminate(), and BESDefaultModule::terminate().
Here is the call graph for this function:
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 508 of file ServerApp.cc.
References BESModuleApp::dump(), PPTServer::dump(), UnixSocket::dump(), TcpSocket::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
Here is the call graph for this function:
void ServerApp::signalTerminate | ( | int | sig | ) | [static] |
Definition at line 87 of file ServerApp.cc.
References SERVER_EXIT_NORMAL_SHUTDOWN, BESApp::terminate(), and BESApp::TheApplication().
Referenced by initialize().
Here is the call graph for this function:
void ServerApp::signalInterrupt | ( | int | sig | ) | [static] |
Definition at line 97 of file ServerApp.cc.
References SERVER_EXIT_NORMAL_SHUTDOWN, BESApp::terminate(), and BESApp::TheApplication().
Referenced by initialize().
Here is the call graph for this function:
void ServerApp::signalRestart | ( | int | sig | ) | [static] |
Definition at line 107 of file ServerApp.cc.
References SERVER_EXIT_RESTART, BESApp::terminate(), and BESApp::TheApplication().
Referenced by initialize().
Here is the call graph for this function:
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().
Here is the call graph for this function:
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().
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] |
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 [static, protected, inherited] |
Definition at line 63 of file BESApp.h.
Referenced by BESBaseApp::BESBaseApp(), BESApp::TheApplication(), and BESBaseApp::~BESBaseApp().