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;