10#ifndef DAQ_DPM_DPMREPLIER_HPP
11#define DAQ_DPM_DPMREPLIER_HPP
14#include <boost/asio/executor_work_guard.hpp>
15#include <boost/asio/signal_set.hpp>
16#include <log4cplus/logger.h>
39class DpmService :
public ::daqif::AsyncDpmControl,
public ::daqif::AsyncDpmDaqControl {
62 boost::future<std::string>
Exit()
override;
64 boost::future<std::string>
GetVersion()
override;
70 boost::future<std::shared_ptr<::daqif::DaqReply>>
71 QueueDaq(std::string
const& status, std::string
const& specification)
override;
73 boost::future<std::shared_ptr<::daqif::DaqReply>>
AbortDaq(
const std::string&
id)
override;
75 boost::future<std::shared_ptr<::daqif::DaqStatus>>
GetDaqStatus(
const std::string&
id)
override;
77 boost::future<std::vector<std::shared_ptr<::daqif::DaqStatus>>>
GetActiveDaqs()
override;
83 void InitiateSignalHandler();
88 std::shared_ptr<daqif::DaqStatus> GetDaqStatusSync(std::string
const&
id);
99 boost::asio::executor_work_guard<boost::asio::io_context::executor_type> m_work_guard;
100 boost::asio::signal_set m_sigset;
101 log4cplus::Logger m_logger;
daqif::DpmControl and DpmDaqControl implementation.
boost::future< std::string > GetVersion() override
Cancels any started merges and terminates application.
boost::future< std::shared_ptr<::daqif::StorageStatus > > QueryStorageStatus() override
Cancels any started merges and terminates application.
boost::future< std::string > Exit() override
Cancels any started merges and terminates application.
static constexpr char const * LOGGER_NAME
boost::future< std::vector< std::shared_ptr<::daqif::DaqStatus > > > GetActiveDaqs() override
boost::future< std::shared_ptr<::daqif::DaqReply > > AbortDaq(const std::string &id) override
boost::future< std::string > GetInternalDaqStatus(const std::string &id) override
boost::future< std::shared_ptr<::daqif::DaqStatus > > GetDaqStatus(const std::string &id) override
boost::future< std::shared_ptr<::daqif::DaqReply > > QueueDaq(std::string const &status, std::string const &specification) override
Schedules asynchronous activities that results in merged Data Product and delivery.
Interface to interact with DPM workspace.
Adapts boost::asio::io_context into a compatible boost::thread Executor type.
daq::dpm::Workspace interface and implementation declaration
Declares daq::State and related functions.
daq::dpm::Scheduler and related class declarations.