Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ApplicationMgr Class Reference

The Application Manager class. More...

#include <ApplicationMgr.h>

Inheritance diagram for ApplicationMgr:

IClassManager IProperty IEventProcessor IObjManager ICnvManager IAlgManager ISvcManager ISvcLocator IAppMgrUI List of all members.

Public Types

typedef std::list<IService*> ListSvc
typedef std::list<std::string> ListName
typedef std::vector<std::string> VectorName

Public Methods

 ApplicationMgr (IInterface* = 0)
virtual ~ApplicationMgr ()
virtual unsigned long addRef ()
virtual unsigned long release ()
virtual StatusCode queryInterface (const IID& iid, void** pinterface)
virtual StatusCode run ()
virtual StatusCode configure ()
virtual StatusCode terminate ()
virtual StatusCode initialize ()
virtual StatusCode finalize ()
virtual StatusCode nextEvent (int maxevt)
virtual const std::string& state () const
virtual const std::string& name () const
virtual StatusCode executeEvent (void* par)
 implementation of IEventProcessor::executeEvent(void* par). More...

virtual StatusCode getService ( const std::string& name, IService*& svc)
virtual StatusCode getService ( const std::string& name, const IID& iid, IInterface*& pinterface)
virtual bool existsService ( const std::string& name) const
virtual StatusCode getService ( const std::string& name, IService*& svc, bool createIf)
virtual std::list<IService*>& getServices ( ) const
virtual StatusCode addService ( IService* svc)
virtual StatusCode removeService ( IService* svc)
virtual StatusCode declareSvcCreator ( ISvcManager::SvcCreator creator, const std::string& svctype )
virtual StatusCode declareSvcModule ( const std::string& module, const std::string& svctype )
virtual StatusCode declareSvcFactory ( const ISvcFactory& factory, const std::string& svctype )
virtual StatusCode createService ( const std::string& svctype, const std::string& svcname, IService*& svc )
virtual StatusCode addAlgorithm ( IAlgorithm* alg)
virtual StatusCode removeAlgorithm ( IAlgorithm* alg)
virtual StatusCode declareAlgCreator ( IAlgManager::AlgCreator creator, const std::string& algtype )
virtual StatusCode declareAlgModule ( const std::string& module, const std::string& algtype )
virtual StatusCode declareAlgFactory ( const IAlgFactory& factory, const std::string& algtype )
virtual StatusCode createAlgorithm ( const std::string& algtype, const std::string& algname, IAlgorithm*& alg)
virtual StatusCode getAlgorithm ( const std::string& name, IAlgorithm*& alg) const
virtual bool existsAlgorithm ( const std::string& name) const
virtual std::list<IAlgorithm*>& getAlgorithms ( ) const
virtual StatusCode declareCnvFactory ( const ICnvFactory& factory )
virtual bool existsConverter ( const unsigned char repSvctype, const CLID& objtype ) const
virtual const ICnvFactory* factory ( const unsigned char repSvctype, const CLID& objtype ) const
virtual CnvIterator cnvBegin ()
virtual CnvIterator cnvEnd ()
virtual bool existsObjFactory ( const std::string& objtype ) const
 IObjManager Interface implementation. More...

virtual const IFactory* objFactory ( const std::string& objtype ) const
virtual StatusCode declareObjFactory ( const IFactory& factory )
virtual ObjIterator objBegin ()
virtual ObjIterator objEnd ()
virtual StatusCode setProperty (const Property& value)
virtual StatusCode setProperty ( std::istream& s )
 Set the property by istream. More...

virtual StatusCode setProperty ( const std::string& n, const std::string& v )
 Set the property by std::string. More...

virtual StatusCode getProperty (Property* value) const
const Property& getProperty ( const std::string& name ) const
const std::vector<Property*>& getProperties ( ) const
virtual StatusCode getProperty ( const std::string& n, std::string& v ) const
 Get the property by std::string. More...

virtual StatusCode declareFactory ( const IFactory& factory )
virtual StatusCode loadModule ( const std::string& module )
void SIGoHandler ( Property& theProp )
void SIExitHandler ( Property& theProp )
void evtLoopPropertyHandler ( Property& theProp )
StatusCode decodeExtSvcNameList ( )
void extSvcNameListHandler ( Property& theProp )
StatusCode decodeDllNameList ( )
void dllNameListHandler ( Property& theProp )

Protected Types

enum  State { OFFLINE, CONFIGURED, FINALIZED, INITIALIZED }

Protected Methods

StatusCode i_startup ()
 Internal startup routine. More...

IService* i_connectService (const std::string& typ, const std::string& name)
 Connect to service (Check existence; if needed, create). More...


Protected Attributes

int m_refcount
 Reference count. More...

IObjManagerm_objFactory
 Reference to the object factory. More...

ServiceFactorym_svcFactory
 Reference to the service factory. More...

AlgorithmFactorym_algFactory
 Reference to the algorimth factory. More...

ConverterFactorym_cnvFactory
 Reference to the converter factory. More...

DLLClassManagerm_classManager
 Reference to the class manager. More...

ISvcLocatorm_svcLocator
 Reference to its own service locator. More...

IntegerProperty m_SIGo
 For SI's "Go" command via callback. More...

IntegerProperty m_SIExit
 For SI's "Exit" command via callback. More...

StringArrayProperty m_topAlgNameList
 List of top level algorithms names. More...

StringArrayProperty m_outStreamNameList
 List of output stream names. More...

ListSvc m_topSvcList
 List of top level services. More...

ListName m_topSvcNameList
 List of top level services names. More...

std::string m_name
 Name. More...

State m_state
 Internal State. More...

VectorName m_stateName
 Vector is State Names. More...

VectorName m_defServices
 Vector default services names. More...

PropertyMgr* m_propertyMgr
 Reference to Property Manager. More...

IMessageSvcm_messageSvc
 Reference to the message service. More...

IRunablem_runable
 Reference to the runable object. More...

IAppMgrUIm_processingMgr
 Reference to processing manager object. More...

int m_evtMax
 Number of events to be processed. More...

StringArrayProperty m_extSvcNameList
 List of external services names. More...

StringArrayProperty m_dllNameList
 List of DDL's names. More...

std::string m_jobOptionsType
 Source type (e.g. dbase, file...). More...

std::string m_jobOptionsPath
 The "file" to look for properties. More...

std::string m_runableType
 Runable type. More...

std::string m_eventLoopMgr
 Processing manager type. More...

std::string m_evtsel
 Event selection. More...

std::string m_histPersName
 CGL: Name of the Hist Pers Svc. More...


Detailed Description

The Application Manager class.

The main purpose of the Application Manager is to steer any data processing application. This includes all data processing applications for LHCb data in all stages: simulation, reconstruction, analysis, high level triggers, etc. Specific implementations of the ApplicationMgr will be developed to cope with the different environments (on-line, off-line, interactive, batch, etc.).

Author(s):
Pere Mato

Definition at line 45 of file ApplicationMgr.h.


Member Typedef Documentation

typedef std::list<std::string> ApplicationMgr::ListName
 

Definition at line 56 of file ApplicationMgr.h.

typedef std::list<IService*> ApplicationMgr::ListSvc
 

Definition at line 55 of file ApplicationMgr.h.

typedef std::vector<std::string> ApplicationMgr::VectorName
 

Definition at line 57 of file ApplicationMgr.h.


Member Enumeration Documentation

enum ApplicationMgr::State [protected]
 

Enumeration values:
OFFLINE  
CONFIGURED  
FINALIZED  
INITIALIZED  

Definition at line 205 of file ApplicationMgr.h.


Constructor & Destructor Documentation

ApplicationMgr::ApplicationMgr ( IInterface * = 0 )
 

Definition at line 36 of file ApplicationMgr.cpp.

ApplicationMgr::~ApplicationMgr ( ) [virtual]
 

Definition at line 92 of file ApplicationMgr.cpp.


Member Function Documentation

void ApplicationMgr::SIExitHandler ( Property & theProp )
 

Definition at line 776 of file ApplicationMgr.cpp.

void ApplicationMgr::SIGoHandler ( Property & theProp )
 

Definition at line 764 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::addAlgorithm ( IAlgorithm * alg ) [virtual]
 

Definition at line 656 of file ApplicationMgr.cpp.

unsigned long ApplicationMgr::addRef ( ) [virtual]
 

Definition at line 104 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::addService ( IService * svc ) [virtual]
 

Definition at line 569 of file ApplicationMgr.cpp.

ICnvManager::CnvIterator ApplicationMgr::cnvBegin ( ) [virtual]
 

Definition at line 717 of file ApplicationMgr.cpp.

ICnvManager::CnvIterator ApplicationMgr::cnvEnd ( ) [virtual]
 

Definition at line 722 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::configure ( ) [virtual]
 

Definition at line 238 of file ApplicationMgr.cpp.

Referenced by run().

StatusCode ApplicationMgr::createAlgorithm ( const std::string & algtype,
const std::string & algname,
IAlgorithm *& alg ) [virtual]
 

Definition at line 684 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::createService ( const std::string & svctype,
const std::string & svcname,
IService *& svc ) [virtual]
 

Definition at line 597 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::declareAlgCreator ( IAlgManager::AlgCreator creator,
const std::string & algtype ) [virtual]
 

Definition at line 666 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::declareAlgFactory ( const IAlgFactory & factory,
const std::string & algtype ) [virtual]
 

Definition at line 678 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::declareAlgModule ( const std::string & module,
const std::string & algtype ) [virtual]
 

Definition at line 672 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::declareCnvFactory ( const ICnvFactory & factory ) [virtual]
 

Definition at line 697 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::declareFactory ( const IFactory & factory ) [virtual]
 

Definition at line 752 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::declareObjFactory ( const IFactory & factory ) [virtual]
 

Definition at line 747 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::declareSvcCreator ( ISvcManager::SvcCreator creator,
const std::string & svctype ) [virtual]
 

Definition at line 579 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::declareSvcFactory ( const ISvcFactory & factory,
const std::string & svctype ) [virtual]
 

Definition at line 591 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::declareSvcModule ( const std::string & module,
const std::string & svctype ) [virtual]
 

Definition at line 585 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::decodeDllNameList ( )
 

Definition at line 848 of file ApplicationMgr.cpp.

Referenced by configure(), and dllNameListHandler().

StatusCode ApplicationMgr::decodeExtSvcNameList ( )
 

Definition at line 805 of file ApplicationMgr.cpp.

Referenced by configure(), and extSvcNameListHandler().

void ApplicationMgr::dllNameListHandler ( Property & theProp )
 

Definition at line 841 of file ApplicationMgr.cpp.

void ApplicationMgr::evtLoopPropertyHandler ( Property & p )
 

Definition at line 786 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::executeEvent ( void * par ) [virtual]
 

implementation of IEventProcessor::executeEvent(void* par).

Definition at line 531 of file ApplicationMgr.cpp.

bool ApplicationMgr::existsAlgorithm ( const std::string & name ) const [virtual]
 

Definition at line 651 of file ApplicationMgr.cpp.

bool ApplicationMgr::existsConverter ( const unsigned char repSvcType,
const CLID & objtype ) const [virtual]
 

Definition at line 702 of file ApplicationMgr.cpp.

bool ApplicationMgr::existsObjFactory ( const std::string & objtype ) const [virtual]
 

IObjManager Interface implementation.

Definition at line 727 of file ApplicationMgr.cpp.

bool ApplicationMgr::existsService ( const std::string & name ) const [virtual]
 

Definition at line 564 of file ApplicationMgr.cpp.

void ApplicationMgr::extSvcNameListHandler ( Property & theProp )
 

Definition at line 798 of file ApplicationMgr.cpp.

const ICnvFactory * ApplicationMgr::factory ( const unsigned char repSvctype,
const CLID & objtype ) const [virtual]
 

Definition at line 709 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::finalize ( ) [virtual]
 

Definition at line 424 of file ApplicationMgr.cpp.

Referenced by SIExitHandler(), and run().

StatusCode ApplicationMgr::getAlgorithm ( const std::string & name,
IAlgorithm *& alg ) const [virtual]
 

Definition at line 646 of file ApplicationMgr.cpp.

std::list< IAlgorithm *>& ApplicationMgr::getAlgorithms ( ) const [virtual]
 

Definition at line 691 of file ApplicationMgr.cpp.

const std::vector< Property *>& ApplicationMgr::getProperties ( ) const
 

Definition at line 638 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::getProperty ( const std::string & n,
std::string & v ) const [virtual]
 

Get the property by std::string.

Definition at line 633 of file ApplicationMgr.cpp.

const Property & ApplicationMgr::getProperty ( const std::string & name ) const
 

Definition at line 628 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::getProperty ( Property * p ) const [virtual]
 

Definition at line 623 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::getService ( const std::string & name,
IService *& svc,
bool createIf ) [virtual]
 

Definition at line 554 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::getService ( const std::string & name,
const IID & iid,
IInterface *& pinterface ) [virtual]
 

Definition at line 549 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::getService ( const std::string & name,
IService *& svc ) [virtual]
 

Definition at line 544 of file ApplicationMgr.cpp.

Referenced by i_connectService().

std::list< IService *>& ApplicationMgr::getServices ( ) const [virtual]
 

Definition at line 559 of file ApplicationMgr.cpp.

IService * ApplicationMgr::i_connectService ( const std::string & typ,
const std::string & name ) [protected]
 

Connect to service (Check existence; if needed, create).

Definition at line 162 of file ApplicationMgr.cpp.

Referenced by configure(), and decodeExtSvcNameList().

StatusCode ApplicationMgr::i_startup ( ) [protected]
 

Internal startup routine.

Definition at line 186 of file ApplicationMgr.cpp.

Referenced by configure().

StatusCode ApplicationMgr::initialize ( ) [virtual]
 

Definition at line 372 of file ApplicationMgr.cpp.

Referenced by run().

StatusCode ApplicationMgr::loadModule ( const std::string & module ) [virtual]
 

Definition at line 757 of file ApplicationMgr.cpp.

const std::string & ApplicationMgr::name ( ) const [virtual]
 

Definition at line 604 of file ApplicationMgr.cpp.

Referenced by SIGoHandler(), configure(), executeEvent(), finalize(), i_connectService(), i_startup(), initialize(), nextEvent(), run(), and terminate().

StatusCode ApplicationMgr::nextEvent ( int maxevt ) [virtual]
 

Definition at line 407 of file ApplicationMgr.cpp.

IObjManager::ObjIterator ApplicationMgr::objBegin ( ) [virtual]
 

Definition at line 737 of file ApplicationMgr.cpp.

IObjManager::ObjIterator ApplicationMgr::objEnd ( ) [virtual]
 

Definition at line 742 of file ApplicationMgr.cpp.

const IFactory * ApplicationMgr::objFactory ( const std::string & objtype ) const [virtual]
 

Definition at line 732 of file ApplicationMgr.cpp.

virtual StatusCode ApplicationMgr::queryInterface ( const IID & iid,
void ** pinterface ) [virtual]
 

unsigned long ApplicationMgr::release ( ) [virtual]
 

Definition at line 112 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::removeAlgorithm ( IAlgorithm * alg ) [virtual]
 

Definition at line 661 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::removeService ( IService * svc ) [virtual]
 

Definition at line 574 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::run ( ) [virtual]
 

Definition at line 487 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::setProperty ( const std::string & n,
const std::string & v ) [virtual]
 

Set the property by std::string.

Definition at line 618 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::setProperty ( std::istream & s ) [virtual]
 

Set the property by istream.

Definition at line 613 of file ApplicationMgr.cpp.

StatusCode ApplicationMgr::setProperty ( const Property & p ) [virtual]
 

Definition at line 609 of file ApplicationMgr.cpp.

const std::string & ApplicationMgr::state ( ) const [virtual]
 

Definition at line 524 of file ApplicationMgr.cpp.

Referenced by executeEvent(), and nextEvent().

StatusCode ApplicationMgr::terminate ( ) [virtual]
 

Definition at line 467 of file ApplicationMgr.cpp.

Referenced by SIExitHandler(), and run().


Member Data Documentation

IntegerProperty ApplicationMgr::m_SIExit [protected]
 

For SI's "Exit" command via callback.

Definition at line 217 of file ApplicationMgr.h.

IntegerProperty ApplicationMgr::m_SIGo [protected]
 

For SI's "Go" command via callback.

Definition at line 216 of file ApplicationMgr.h.

AlgorithmFactory * ApplicationMgr::m_algFactory [protected]
 

Reference to the algorimth factory.

Definition at line 211 of file ApplicationMgr.h.

DLLClassManager * ApplicationMgr::m_classManager [protected]
 

Reference to the class manager.

Definition at line 213 of file ApplicationMgr.h.

ConverterFactory * ApplicationMgr::m_cnvFactory [protected]
 

Reference to the converter factory.

Definition at line 212 of file ApplicationMgr.h.

VectorName ApplicationMgr::m_defServices [protected]
 

Vector default services names.

Definition at line 229 of file ApplicationMgr.h.

StringArrayProperty ApplicationMgr::m_dllNameList [protected]
 

List of DDL's names.

Definition at line 242 of file ApplicationMgr.h.

std::string ApplicationMgr::m_eventLoopMgr [protected]
 

Processing manager type.

Definition at line 246 of file ApplicationMgr.h.

int ApplicationMgr::m_evtMax [protected]
 

Number of events to be processed.

Definition at line 240 of file ApplicationMgr.h.

std::string ApplicationMgr::m_evtsel [protected]
 

Event selection.

Definition at line 247 of file ApplicationMgr.h.

StringArrayProperty ApplicationMgr::m_extSvcNameList [protected]
 

List of external services names.

Definition at line 241 of file ApplicationMgr.h.

std::string ApplicationMgr::m_histPersName [protected]
 

CGL: Name of the Hist Pers Svc.

Definition at line 248 of file ApplicationMgr.h.

std::string ApplicationMgr::m_jobOptionsPath [protected]
 

The "file" to look for properties.

Definition at line 244 of file ApplicationMgr.h.

std::string ApplicationMgr::m_jobOptionsType [protected]
 

Source type (e.g. dbase, file...).

Definition at line 243 of file ApplicationMgr.h.

IMessageSvc * ApplicationMgr::m_messageSvc [protected]
 

Reference to the message service.

Definition at line 232 of file ApplicationMgr.h.

std::string ApplicationMgr::m_name [protected]
 

Name.

Definition at line 225 of file ApplicationMgr.h.

IObjManager * ApplicationMgr::m_objFactory [protected]
 

Reference to the object factory.

Definition at line 209 of file ApplicationMgr.h.

StringArrayProperty ApplicationMgr::m_outStreamNameList [protected]
 

List of output stream names.

Definition at line 219 of file ApplicationMgr.h.

IAppMgrUI * ApplicationMgr::m_processingMgr [protected]
 

Reference to processing manager object.

Definition at line 234 of file ApplicationMgr.h.

PropertyMgr * ApplicationMgr::m_propertyMgr [protected]
 

Reference to Property Manager.

Definition at line 231 of file ApplicationMgr.h.

int ApplicationMgr::m_refcount [protected]
 

Reference count.

Definition at line 208 of file ApplicationMgr.h.

IRunable * ApplicationMgr::m_runable [protected]
 

Reference to the runable object.

Definition at line 233 of file ApplicationMgr.h.

std::string ApplicationMgr::m_runableType [protected]
 

Runable type.

Definition at line 245 of file ApplicationMgr.h.

State ApplicationMgr::m_state [protected]
 

Internal State.

Definition at line 226 of file ApplicationMgr.h.

VectorName ApplicationMgr::m_stateName [protected]
 

Vector is State Names.

Definition at line 228 of file ApplicationMgr.h.

ServiceFactory * ApplicationMgr::m_svcFactory [protected]
 

Reference to the service factory.

Definition at line 210 of file ApplicationMgr.h.

ISvcLocator * ApplicationMgr::m_svcLocator [protected]
 

Reference to its own service locator.

Definition at line 214 of file ApplicationMgr.h.

StringArrayProperty ApplicationMgr::m_topAlgNameList [protected]
 

List of top level algorithms names.

Definition at line 218 of file ApplicationMgr.h.

ListSvc ApplicationMgr::m_topSvcList [protected]
 

List of top level services.

Definition at line 222 of file ApplicationMgr.h.

ListName ApplicationMgr::m_topSvcNameList [protected]
 

List of top level services names.

Definition at line 223 of file ApplicationMgr.h.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 12:22:32 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000