mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 09:31:45 +00:00
FairMQ: Implement Take/ReleaseDeviceControl plugin API
The main function of this API is to make sure only one plugin is controlling the device state transitions at a time. The ReleaseDeviceControl() signal is used to implement a function WaitForPluginsToReleaseDeviceControl() which is used to block the main thread if a control plugin is used.
This commit is contained in:
committed by
Mohammad Al-Turany
parent
dfb2bac4bc
commit
2af3ae99eb
@@ -77,6 +77,8 @@ class PluginManager
|
||||
template<typename... Args>
|
||||
auto EmplacePluginServices(Args&&... args) -> void { fPluginServices = fair::mq::tools::make_unique<PluginServices>(std::forward<Args>(args)...); };
|
||||
|
||||
auto WaitForPluginsToReleaseDeviceControl() -> void { fPluginServices->WaitForReleaseDeviceControl(); }
|
||||
|
||||
private:
|
||||
|
||||
static auto ValidateSearchPath(const boost::filesystem::path&) -> void;
|
||||
|
Reference in New Issue
Block a user