1 #ifndef FWCore_ServiceRegistry_ActivityRegistry_h
2 #define FWCore_ServiceRegistry_ActivityRegistry_h
24 #include "boost/bind.hpp"
25 #include "boost/mem_fn.hpp"
26 #include "boost/utility.hpp"
30 #define AR_WATCH_USING_METHOD_0(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject)); }
31 #define AR_WATCH_USING_METHOD_1(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject, _1)); }
32 #define AR_WATCH_USING_METHOD_2(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject, _1, _2)); }
39 class ModuleDescription;
82 preSourceSignal_.
connect(iSlot);
98 preSourceLumiSignal_.
connect(iSlot);
114 preSourceRunSignal_.
connect(iSlot);
130 preOpenFileSignal_.
connect(iSlot);
149 preCloseFileSignal_.
connect(iSlot);
165 preProcessEventSignal_.
connect(iSlot);
181 preBeginRunSignal_.
connect(iSlot);
197 preEndRunSignal_.
connect(iSlot);
213 preBeginLumiSignal_.
connect(iSlot);
229 preEndLumiSignal_.
connect(iSlot);
245 preProcessPathSignal_.
connect(iSlot);
261 prePathBeginRunSignal_.
connect(iSlot);
277 prePathEndRunSignal_.
connect(iSlot);
293 prePathBeginLumiSignal_.
connect(iSlot);
309 prePathEndLumiSignal_.
connect(iSlot);
337 preModuleConstructionSignal_.
connect(iSlot);
355 preModuleBeginJobSignal_.
connect(iSlot);
371 preModuleEndJobSignal_.
connect(iSlot);
387 preModuleSignal_.
connect(iSlot);
403 preModuleBeginRunSignal_.
connect(iSlot);
420 preModuleEndRunSignal_.
connect(iSlot);
436 preModuleBeginLumiSignal_.
connect(iSlot);
452 preModuleEndLumiSignal_.
connect(iSlot);
468 preSourceConstructionSignal_.
connect(iSlot);
522 #undef AR_WATCH_USING_METHOD
void watchPostBeginRun(PostBeginRun::slot_type const &iSlot)
void watchPrePathEndLumi(PrePathEndLumi::slot_type const &iSlot)
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
PostSourceLumi postSourceLumiSignal_
void connectLocals(ActivityRegistry &iOther)
PreModuleBeginLumi preModuleBeginLumiSignal_
PreBeginLumi preBeginLumiSignal_
signal is emitted after the Lumi has been created by the InputSource but before any modules have seen...
PostModule postModuleSignal_
PreEndRun preEndRunSignal_
signal is emitted before the endRun is processed
void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const &iSlot)
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
PreSourceRun preSourceRunSignal_
void watchPrePathEndRun(PrePathEndRun::slot_type const &iSlot)
PostOpenFile postOpenFileSignal_
void watchPreModuleConstruction(PreModuleConstruction::slot_type const &iSlot)
PreModuleEndRun preModuleEndRunSignal_
void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const &iSlot)
PostModuleEndRun postModuleEndRunSignal_
void watchPostModule(PostModule::slot_type const &iSlot)
void connect_front(U iFunc)
PostModuleEndLumi postModuleEndLumiSignal_
void watchPreProcessEvent(PreProcessEvent::slot_type const &iSlot)
void connectGlobals(ActivityRegistry &iOther)
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
void watchPreEndLumi(PreEndLumi::slot_type const &iSlot)
void watchPostSourceConstruction(PostSourceConstruction::slot_type const &iSlot)
void watchPostPathEndRun(PostPathEndRun::slot_type const &iSlot)
void copySlotsFrom(ActivityRegistry &iOther)
PreEndLumi preEndLumiSignal_
signal is emitted before the endLumi is processed
void watchPostEndLumi(PostEndLumi::slot_type const &iSlot)
PostSourceRun postSourceRunSignal_
PostSourceConstruction postSourceConstructionSignal_
PostBeginRun postBeginRunSignal_
signal is emitted after all modules have finished processing the beginRun
void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const &iSlot)
PreSourceConstruction preSourceConstructionSignal_
PostPathEndRun postPathEndRunSignal_
void watchPostPathEndLumi(PostPathEndLumi::slot_type const &iSlot)
PostPathBeginRun postPathBeginRunSignal_
PreForkReleaseResources preForkReleaseResourcesSignal_
void watchPreEndRun(PreEndRun::slot_type const &iSlot)
void watchPreModule(PreModule::slot_type const &iSlot)
void watchJobFailure(JobFailure::slot_type const &iSlot)
convenience function for attaching to signal
signalslot::Signal< void()> PostBeginJob
PreModuleBeginRun preModuleBeginRunSignal_
void watchPreOpenFile(PreOpenFile::slot_type const &iSlot)
void watchPostProcessEvent(PostProcessEvent::slot_type const &iSlot)
void watchPostCloseFile(PostCloseFile::slot_type const &iSlot)
void watchPreModuleEndRun(PreModuleEndRun::slot_type const &iSlot)
PostForkReacquireResources postForkReacquireResourcesSignal_
PrePathBeginLumi prePathBeginLumiSignal_
void watchPrePathBeginRun(PrePathBeginRun::slot_type const &iSlot)
PrePathEndRun prePathEndRunSignal_
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
PostPathEndLumi postPathEndLumiSignal_
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
PostProcessEvent postProcessEventSignal_
signal is emitted after all modules have finished processing the Event
void watchPostModuleEndRun(PostModuleEndRun::slot_type const &iSlot)
PreModuleConstruction preModuleConstructionSignal_
PostEndRun postEndRunSignal_
signal is emitted after all modules have finished processing the Run
void watchPreSource(PreSource::slot_type const &iSlot)
PreModule preModuleSignal_
void watchPreModuleEndJob(PreModuleEndJob::slot_type const &iSlot)
std::function< void() > slot_type
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
void watchPostBeginLumi(PostBeginLumi::slot_type const &iSlot)
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
void watchPrePathBeginLumi(PrePathBeginLumi::slot_type const &iSlot)
#define AR_WATCH_USING_METHOD_1(method)
PreCloseFile preCloseFileSignal_
PostModuleBeginLumi postModuleBeginLumiSignal_
PostEndLumi postEndLumiSignal_
signal is emitted after all modules have finished processing the Lumi
void watchPostModuleBeginRun(PostModuleBeginRun::slot_type const &iSlot)
void watchPostPathBeginRun(PostPathBeginRun::slot_type const &iSlot)
PostCloseFile postCloseFileSignal_
JobFailure jobFailureSignal_
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
void watchPreCloseFile(PreCloseFile::slot_type const &iSlot)
#define AR_WATCH_USING_METHOD_0(method)
PostModuleEndJob postModuleEndJobSignal_
PostModuleBeginJob postModuleBeginJobSignal_
void connectToSubProcess(ActivityRegistry &iOther)
PreSourceLumi preSourceLumiSignal_
PostModuleBeginRun postModuleBeginRunSignal_
PrePathEndLumi prePathEndLumiSignal_
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
PreProcessPath preProcessPathSignal_
PreProcessEvent preProcessEventSignal_
signal is emitted after the Event has been created by the InputSource but before any modules have see...
void watchPostForkReacquireResources(PostForkReacquireResources::slot_type const &iSlot)
void watchPostSource(PostSource::slot_type const &iSlot)
PostSource postSourceSignal_
PreOpenFile preOpenFileSignal_
PreModuleEndLumi preModuleEndLumiSignal_
PostEndJob postEndJobSignal_
signal is emitted after all modules have gotten their endJob called
PreModuleBeginJob preModuleBeginJobSignal_
void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const &iSlot)
void watchPreBeginLumi(PreBeginLumi::slot_type const &iSlot)
void watchPostEndRun(PostEndRun::slot_type const &iSlot)
void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const &iSlot)
PostBeginJob postBeginJobSignal_
signal is emitted after all modules have gotten their beginJob called
PreModuleEndJob preModuleEndJobSignal_
#define AR_WATCH_USING_METHOD_2(method)
void watchPreProcessPath(PreProcessPath::slot_type const &iSlot)
PrePathBeginRun prePathBeginRunSignal_
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const &iSlot)
PostPathBeginLumi postPathBeginLumiSignal_
void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const &iSlot)
void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const &iSlot)
void watchPostProcessPath(PostProcessPath::slot_type const &iSlot)
PreSource preSourceSignal_
PostProcessPath postProcessPathSignal_
PreBeginRun preBeginRunSignal_
signal is emitted after the Run has been created by the InputSource but before any modules have seen ...
void watchPreBeginRun(PreBeginRun::slot_type const &iSlot)
PostBeginLumi postBeginLumiSignal_
signal is emitted after all modules have finished processing the beginLumi
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void connect(ActivityRegistry &iOther)
forwards our signals to slots connected to iOther
PostModuleConstruction postModuleConstructionSignal_