AppMgrRunable Class Reference

Class definition of AppMgrRunable. More...

#include <src/ApplicationMgr/AppMgrRunable.h>

Inheritance diagram for AppMgrRunable:
Collaboration diagram for AppMgrRunable:

Public Member Functions

 AppMgrRunable (const std::string &nam, ISvcLocator *svcLoc)
 Standard Constructor. More...
 
 ~AppMgrRunable () override=default
 Standard Destructor. More...
 
StatusCode initialize () override
 IService implementation: initialize the service. More...
 
StatusCode start () override
 IService implementation: start the service. More...
 
StatusCode stop () override
 IService implementation: stop the service. More...
 
StatusCode finalize () override
 IService implementation: finalize the service. More...
 
StatusCode run () override
 IRunable implementation : Run the class implementation. More...
 
- Public Member Functions inherited from extends< BASE, Interfaces >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
- Public Member Functions inherited from extend_interfaces< Interfaces...>
 ~extend_interfaces () override=default
 Virtual destructor. More...
 
 ~extend_interfaces () override=default
 Virtual destructor. More...
 

Protected Attributes

IAppMgrUIm_appMgrUI = nullptr
 Reference to application manager UI. More...
 
int m_evtMax
 Number of events to be processed. More...
 

Additional Inherited Members

- Public Types inherited from extends< BASE, Interfaces >
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces...>
 Typedef to the base of this class. More...
 
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces...>
 Typedef to the base of this class. More...
 
- Public Types inherited from extend_interfaces< Interfaces...>
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 

Detailed Description

Class definition of AppMgrRunable.

This is the default runnable of the application manager. The runable handles the actual run() implementation of the ApplicationMgr object. This implementation just calls ApplicationMgr::nextEvent(...).

History:

 +---------+----------------------------------------------+---------+
 |    Date |                 Comment                      | Who     |
 +---------+----------------------------------------------+---------+
 |13/12/00 | Initial version                              | M.Frank |
 +---------+----------------------------------------------+---------+
 
Author
Markus Frank
Version
1.0

Definition at line 28 of file AppMgrRunable.h.

Constructor & Destructor Documentation

AppMgrRunable::AppMgrRunable ( const std::string &  nam,
ISvcLocator svcLoc 
)

Standard Constructor.

Definition at line 14 of file AppMgrRunable.cpp.

15 : base_class(nam, svcLoc)
16 {
17  declareProperty("EvtMax", m_evtMax=0xFEEDBABE);
18 }
extends base_class
Typedef to this class.
Definition: extends.h:14
int m_evtMax
Number of events to be processed.
Definition: AppMgrRunable.h:33
AppMgrRunable::~AppMgrRunable ( )
overridedefault

Standard Destructor.

Member Function Documentation

StatusCode AppMgrRunable::finalize ( )
override

IService implementation: finalize the service.

Definition at line 47 of file AppMgrRunable.cpp.

47  {
49  if ( m_appMgrUI ) m_appMgrUI->release();
50  m_appMgrUI = nullptr;
51  return sc;
52 }
StatusCode finalize() override
Definition: Service.cpp:188
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
virtual unsigned long release()=0
Release Interface instance.
IAppMgrUI * m_appMgrUI
Reference to application manager UI.
Definition: AppMgrRunable.h:31
StatusCode AppMgrRunable::initialize ( )
override

IService implementation: initialize the service.

Definition at line 21 of file AppMgrRunable.cpp.

21  {
23  if ( sc.isSuccess() ) {
24  sc = serviceLocator()->queryInterface(IAppMgrUI::interfaceID(), pp_cast<void>(&m_appMgrUI));
25  // get property from application manager
26  if ( m_evtMax == (int)0xFEEDBABE ) {
27  auto props = serviceLocator()->as<IProperty>();
28  setProperty(props->getProperty("EvtMax")).ignore();
29  }
30  }
31  return sc;
32 }
StatusCode initialize() override
Definition: Service.cpp:63
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
int m_evtMax
Number of events to be processed.
Definition: AppMgrRunable.h:33
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
bool PyHelper() setProperty(IInterface *p, char *name, char *value)
Definition: Bootstrap.cpp:254
The IProperty is the basic interface for all components which have properties that can be set or get...
Definition: IProperty.h:21
static const InterfaceID & interfaceID()
Return an instance of InterfaceID identifying the interface.
Definition: IInterface.h:243
IAppMgrUI * m_appMgrUI
Reference to application manager UI.
Definition: AppMgrRunable.h:31
StatusCode AppMgrRunable::run ( )
override

IRunable implementation : Run the class implementation.

Definition at line 55 of file AppMgrRunable.cpp.

55  {
56  if ( m_appMgrUI ) {
57  // loop over the events
58  return m_appMgrUI->nextEvent(m_evtMax);
59  }
60  return StatusCode::FAILURE;
61 }
virtual StatusCode nextEvent(int maxevt)=0
Process the next maxevt events.
int m_evtMax
Number of events to be processed.
Definition: AppMgrRunable.h:33
IAppMgrUI * m_appMgrUI
Reference to application manager UI.
Definition: AppMgrRunable.h:31
StatusCode AppMgrRunable::start ( )
override

IService implementation: start the service.

Definition at line 35 of file AppMgrRunable.cpp.

35  {
37  return sc;
38 }
StatusCode start() override
Definition: Service.cpp:147
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode AppMgrRunable::stop ( )
override

IService implementation: stop the service.

Definition at line 41 of file AppMgrRunable.cpp.

41  {
43  return sc;
44 }
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode stop() override
Definition: Service.cpp:141

Member Data Documentation

IAppMgrUI* AppMgrRunable::m_appMgrUI = nullptr
protected

Reference to application manager UI.

Definition at line 31 of file AppMgrRunable.h.

int AppMgrRunable::m_evtMax
protected

Number of events to be processed.

Definition at line 33 of file AppMgrRunable.h.


The documentation for this class was generated from the following files: