8#ifndef DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_CONCEPTS_REQUESTHANDLERCONCEPT_HPP_
9#define DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_CONCEPTS_REQUESTHANDLERCONCEPT_HPP_
23namespace datahandlinglibs {
25template<
class ReadoutType,
class LatencyBufferType>
42 virtual void scrap(
const nlohmann::json& args) = 0;
43 virtual void start(
const nlohmann::json& args) = 0;
44 virtual void stop(
const nlohmann::json& args) = 0;
45 virtual void record(
const nlohmann::json& args) = 0;
94 std::unique_ptr<daqdataformats::Fragment>
fragment;
virtual void record(const nlohmann::json &args)=0
virtual void periodic_data_transmission()=0
Periodic data transmission - relevant for trigger in particular.
virtual void start(const nlohmann::json &args)=0
virtual void stop(const nlohmann::json &args)=0
const std::string & resultCodeAsString(ResultCode rc)
RequestHandlerConcept(const RequestHandlerConcept &)=delete
RequestHandlerConcept is not copy-constructible.
virtual RequestResult data_request(dfmessages::DataRequest)=0
RequestHandlerConcept & operator=(RequestHandlerConcept &&)=delete
RequestHandlerConcept is not move-assignable.
std::map< ResultCode, std::string > ResultCodeStrings
virtual void cleanup_check()=0
Check if cleanup is necessary and execute it if necessary.
virtual void scrap(const nlohmann::json &args)=0
RequestHandlerConcept & operator=(const RequestHandlerConcept &)=delete
RequestHandlerConcept is not copy-assginable.
virtual ~RequestHandlerConcept()
virtual void conf(const appmodel::DataHandlerModule *conf)=0
virtual void issue_request(dfmessages::DataRequest, bool)=0
Issue a data request to the request handler.
RequestHandlerConcept(RequestHandlerConcept &&)=delete
RequestHandlerConcept is not move-constructible.
dfmessages::DataRequest data_request
RequestResult(ResultCode rc, dfmessages::DataRequest dr)
RequestResult(ResultCode rc, dfmessages::DataRequest dr, daqdataformats::Fragment &&frag)
std::unique_ptr< daqdataformats::Fragment > fragment
This message represents a request for data sent to a single component of the DAQ.