2#ifndef OCM_DAQ_TEST_MOCK_ASYNC_OPERATIONS_HPP_
3#define OCM_DAQ_TEST_MOCK_ASYNC_OPERATIONS_HPP_
5#include <gmock/gmock.h>
34 return {AwaitPrim(params), [&]() ->
bool {
return mock_abort.Abort(); }};
44 auto& ops = std::get<daq::OcmAsyncOperations>(res);
45 auto* mock_ptr = std::get<std::unique_ptr<MockAsyncOperations>>(res).get();
49 return mock_ptr->Abort(policy, params);
52 return mock_ptr->Stop(policy, params);
55 return mock_ptr->AwaitPrimHelper(params);
Adapts boost::asio::io_context into a compatible boost::thread Executor type.
std::tuple< std::unique_ptr< MockAsyncOperations >, daq::OcmAsyncOperations > CreateMockAsyncOperations(rad::IoExecutor &ex)
ErrorPolicy
Error policy supported by certain operations.
Utility class that represents a result and an error.
Contains declaration for for DaqController.
Simple class that facilitates mocking of the freestanding asynchronous operations in daq::op:
MOCK_METHOD0(Abort, bool())
MOCK_METHOD2(Stop, boost::future< daq::Result< daq::DpParts > >(daq::ErrorPolicy, daq::op::AsyncOpParams))
MOCK_METHOD1(AwaitPrim, boost::future< daq::Result< daq::DpParts > >(daq::op::AwaitOpParams))
daq::OcmAsyncOperations::AwaitReturnType AwaitPrimHelper(daq::op::AwaitOpParams params)
MOCK_METHOD1(Start, boost::future< void >(daq::op::AsyncOpParams))
MOCK_METHOD2(Abort, boost::future< daq::Result< void > >(daq::ErrorPolicy, daq::op::AsyncOpParams))
std::pair< boost::future< Result< DpParts > >, std::function< bool()> > AwaitReturnType
Parameters required for each async operation.
Await specific parameters that is not provided with AsyncOpParams.