12 #ifndef RTCTK_COMPONENTFRAMEWORK_COMMANDREQUESTOR_HPP
13 #define RTCTK_COMPONENTFRAMEWORK_COMMANDREQUESTOR_HPP
15 #include <Rtctkif.hpp>
17 #include <mal/Cii.hpp>
18 #include <mal/utility/Uri.hpp>
38 std::optional<std::chrono::milliseconds> timeout = std::nullopt);
48 std::string
SendCommandSync(std::string
const&
id, std::string
const& args);
55 elt::mal::future<std::string>
67 return m_factory.getClient<T>(elt::mal::Uri(m_uri +
name), m_qos, m_props);
77 std::function<elt::mal::future<std::string>(std::string
const&)> fun);
81 elt::mal::Mal::Properties m_props;
82 elt::mal::CiiFactory& m_factory;
83 std::vector<std::shared_ptr<elt::mal::rr::qos::QoS>> m_qos;
85 std::map<std::string, std::function<elt::mal::future<std::string>(std::string
const&)>> m_cmds;
87 std::unique_ptr<stdif::StdCmdsAsync>
stdif;
88 std::unique_ptr<rtctkif::UpdateCmdsAsync> ucif;
89 std::unique_ptr<rtctkif::FuncCmdsAsync> fcif;
90 std::unique_ptr<rtctkif::MeasCmdsAsync> mcif;
91 std::unique_ptr<rtctkif::OptCmdsAsync> ocif;
92 std::unique_ptr<rtctkif::LoopCmdsAsync> lcif;
93 std::unique_ptr<rtctkif::SuspCmdsAsync> lsif;
98 #endif // RTCTK_COMPONENTFRAMEWORK_COMMANDREQUESTOR_HPP