8 #ifndef OCM_DAQ_OP_AWAIT_STATE_HPP_ 
    9 #define OCM_DAQ_OP_AWAIT_STATE_HPP_ 
   10 #include "../config.hpp" 
   12 #include <boost/asio/steady_timer.hpp> 
   13 #include <boost/signals2/connection.hpp> 
   14 #include <boost/thread/future.hpp> 
   15 #include <log4cplus/logger.h> 
   17 #include "../status.hpp" 
   18 #include "../utility.hpp" 
   44                              std::shared_ptr<ObservableStatus> status,
 
   46                              std::chrono::milliseconds timeout);
 
   58     [[nodiscard]] boost::future<ResultType> 
Initiate();
 
   63     void Abort() noexcept;
 
   66     bool IsConditionSatisfied() const;
 
   67     boost::asio::io_context& m_io_ctx;
 
   70     std::chrono::milliseconds m_timeout;
 
   83     boost::asio::steady_timer m_timer;
 
   84     boost::signals2::scoped_connection m_connection;
 
   85     log4cplus::Logger m_logger;
 
   90 #endif  // #ifndef OCM_DAQ_OP_AWAIT_STATE_HPP_