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

#include <CmdApp.h>

Inheritance diagram for CmdApp:
Inheritance graph
Collaboration diagram for CmdApp:
Collaboration graph

List of all members.

Public Member Functions

string appName (void) const
 Returns the name of the application.
CmdClientclient ()
 CmdApp ()
virtual void dump (ostream &strm) const
 dumps information about this object
virtual int initialize (int argC, char **argV)
 initialize the BES application
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
virtual int terminate (int sig=0)
 clean up after the application
virtual ~CmdApp ()

Static Public Member Functions

static void signalBrokenPipe (int sig)
static void signalCannotConnect (int sig)
static void signalInterrupt (int sig)
static void signalTerminate (int sig)
static BESAppTheApplication (void)
 Returns the BESApp application object for this application.

Protected Attributes

string _appName
bool _debug
bool _isInitialized

Static Protected Attributes

static BESApp_theApplication = 0

Detailed Description

Definition at line 42 of file CmdApp.h.


Constructor & Destructor Documentation

CmdApp::CmdApp ( )

Definition at line 61 of file CmdApp.cc.

CmdApp::~CmdApp ( )
virtual

Definition at line 75 of file CmdApp.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(), ServerApp::initialize(), signalBrokenPipe(), signalCannotConnect(), signalInterrupt(), and signalTerminate().

CmdClient* CmdApp::client ( )
inline

Definition at line 67 of file CmdApp.h.

Referenced by signalBrokenPipe(), and signalCannotConnect().

void CmdApp::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 BESBaseApp.

Definition at line 511 of file CmdApp.cc.

References CmdClient::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

Here is the call graph for this function:

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

initialize the BES application

uses the BESGlobalIQ static method BESGlobalInit to initialize any global variables needed by this application

Returns:
0 if successful and not 0 otherwise
Parameters:
argCargc value passed to the main function
argVargv value passed to the main function
Exceptions:
BESErrorif any exceptions or errors are encountered
See also:
BESGlobalIQ

Reimplemented from BESBaseApp.

Definition at line 231 of file CmdApp.cc.

References BES_CMDLN_DEFAULT_TIMEOUT, BESDEBUG, and BESDebug::SetUp().

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 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:

int CmdApp::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 407 of file CmdApp.cc.

References BESDEBUG, CmdClient::executeCommands(), BESError::get_message(), CmdClient::interact(), CmdClient::setOutput(), CmdClient::shutdownClient(), and CmdClient::startClient().

Here is the call graph for this function:

void CmdApp::signalBrokenPipe ( int  sig)
static

Definition at line 160 of file CmdApp.cc.

References BESApp::appName(), CmdClient::brokenPipe(), client(), CmdClient::shutdownClient(), and BESApp::TheApplication().

Here is the call graph for this function:

void CmdApp::signalCannotConnect ( int  sig)
static

Definition at line 110 of file CmdApp.cc.

References BESApp::appName(), client(), CmdClient::isConnected(), and BESApp::TheApplication().

Here is the call graph for this function:

void CmdApp::signalInterrupt ( int  sig)
static

Definition at line 130 of file CmdApp.cc.

References BESApp::appName(), and BESApp::TheApplication().

Here is the call graph for this function:

void CmdApp::signalTerminate ( int  sig)
static

Definition at line 145 of file CmdApp.cc.

References BESApp::appName(), and BESApp::TheApplication().

Here is the call graph for this function:

int BESBaseApp::terminate ( int  sig = 0)
virtualinherited

clean up after the application

Cleans up any global variables registered with BESGlobalIQ

Returns:
0 if successful and not 0 otherwise
Parameters:
sigif the application is terminating due to a signal, otherwise 0 is passed.
See also:
BESGlobalIQ

Implements BESApp.

Reimplemented in BESModuleApp, ServerApp, and StandAloneApp.

Definition at line 154 of file BESBaseApp.cc.

References BESApp::_isInitialized, and BESGlobalIQ::BESGlobalQuit().

Referenced by BESBaseApp::main().

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 ServerApp::initialize(), signalBrokenPipe(), signalCannotConnect(), ServerApp::signalInterrupt(), signalInterrupt(), ServerApp::signalRestart(), ServerApp::signalTerminate(), and 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: