ifw-daq
2.1.0-pre1
IFW Data Acquisition modules
|
Go to the documentation of this file.
8 #ifndef DAQ_DPMCLIENT_HPP
9 #define DAQ_DPMCLIENT_HPP
14 #include <boost/asio/io_context.hpp>
15 #include <boost/signals2/signal.hpp>
16 #include <boost/thread/future.hpp>
22 class DpmDaqControlAsync;
28 namespace mal = ::elt::mal;
40 using StorageSignal = boost::signals2::signal<void(std::filesystem::space_info)>;
46 virtual auto ScheduleAsync(std::string
const& spec) -> boost::future<State> = 0;
52 AbortAsync(std::string
const&
id) -> boost::future<State> = 0;
77 std::chrono::seconds
timeout = std::chrono::seconds(5);
93 virtual auto ScheduleAsync(std::string
const& spec) -> boost::future<State>
override;
99 AbortAsync(std::string
const&
id) -> boost::future<State>
override;
107 -> boost::signals2::connection
override;
115 -> boost::signals2::connection
override;
119 boost::asio::io_context& m_io_ctx;
128 std::shared_ptr<daqif::DpmDaqControlAsync> m_dpmif;
129 std::unique_ptr<Subscriptions> m_subs;
virtual auto ScheduleAsync(std::string const &spec) -> boost::future< State >=0
Schedule merging.
boost::signals2::signal< void(Status)> StatusSignal
virtual auto AbortAsync(std::string const &id) -> boost::future< State > override
Abort merging.
virtual auto ConnectStatusSignal(StatusSignal::slot_type const &slot) -> boost::signals2::connection override
Connect slot to status change signal.
Adapts boost::asio::io_context into a compatible boost::thread Executor type.
virtual auto ConnectStatusSignal(StatusSignal::slot_type const &slot) -> boost::signals2::connection=0
Connect slot to status change signal.
std::chrono::seconds timeout
Config class header file.
Contains declaration for Status and ObservableStatus.
boost::signals2::signal< void(std::filesystem::space_info)> StorageSignal
virtual auto ConnectStorageSignal(StorageSignal::slot_type const &slot) -> boost::signals2::connection=0
Connect slot to storage change signal.
Non observable status object that keeps stores status of data acquisition.
virtual auto AbortAsync(std::string const &id) -> boost::future< State >=0
Abort merging.
virtual auto ConnectStorageSignal(StorageSignal::slot_type const &slot) -> boost::signals2::connection override
Connect slot to storage change signal.
Connection parameters for DPM.
virtual auto ScheduleAsync(std::string const &spec) -> boost::future< State > override
Schedule merging.
DpmClientImpl(boost::asio::io_context &io_ctx, mal::Mal &mal, DpmClientParams params)