9 #ifndef FAIR_MQ_DEVICERUNNER_H 10 #define FAIR_MQ_DEVICERUNNER_H 12 #include <fairmq/EventManager.h> 13 #include <fairmq/PluginManager.h> 14 #include <FairMQDevice.h> 15 #include <FairMQLogger.h> 16 #include <options/FairMQProgOptions.h> 54 DeviceRunner(
int argc,
char*
const argv[],
bool printLogo =
true);
57 auto RunWithExceptionHandlers() -> int;
60 auto AddHook(std::function<
void(
DeviceRunner&)> hook) ->
void 62 fEvents.Subscribe<H>(
"runner", hook);
65 auto RemoveHook() ->
void 67 fEvents.Unsubscribe<H>(
"runner");
70 std::vector<std::string> fRawCmdLineArgs;
72 std::unique_ptr<FairMQDevice> fDevice;
74 const bool fPrintLogo;
Utility class to facilitate a convenient top-level device launch/shutdown.
Definition: DeviceRunner.h:51
Definition: EventManager.h:33
Definition: DeviceRunner.h:81
Manages event callbacks from different subscribers.
Definition: EventManager.h:53
manages and owns plugin instances
Definition: PluginManager.h:47
Definition: FairMQProgOptions.h:37
Definition: DeviceRunner.h:83
Definition: DeviceRunner.h:84
Definition: DeviceRunner.h:82
Tools for interfacing containers to the transport via polymorphic allocators.
Definition: DeviceRunner.h:23