9 #ifndef FAIR_MQ_DEVICERUNNER_H 10 #define FAIR_MQ_DEVICERUNNER_H 12 #include <fairmq/EventManager.h> 13 #include <fairmq/PluginManager.h> 14 #include <fairmq/ProgOptions.h> 15 #include <FairMQDevice.h> 16 #include <FairMQLogger.h> 54 DeviceRunner(
int argc,
char*
const* argv,
bool printLogo =
true);
57 auto RunWithExceptionHandlers() -> int;
61 void SubscribeForConfigChange();
62 void UnsubscribeFromConfigChange();
65 auto AddHook(std::function<
void(
DeviceRunner&)> hook) ->
void 67 fEvents.Subscribe<H>(
"runner", hook);
70 auto RemoveHook() ->
void 72 fEvents.Unsubscribe<H>(
"runner");
75 std::vector<std::string> fRawCmdLineArgs;
77 std::unique_ptr<FairMQDevice> fDevice;
79 const bool fPrintLogo;
Utility class to facilitate a convenient top-level device launch/shutdown.
Definition: DeviceRunner.h:51
Definition: EventManager.h:31
Definition: DeviceRunner.h:86
Manages event callbacks from different subscribers.
Definition: EventManager.h:51
manages and owns plugin instances
Definition: PluginManager.h:49
Definition: ProgOptions.h:36
Definition: DeviceRunner.h:88
Definition: DeviceRunner.h:89
Definition: DeviceRunner.h:87
Tools for interfacing containers to the transport via polymorphic allocators.
Definition: DeviceRunner.h:23