13#ifndef RTCTK_RTCSUPERVISOR_RTCOBJECT_HPP
14#define RTCTK_RTCSUPERVISOR_RTCOBJECT_HPP
24#include <fmt/format.h>
93 virtual std::string
WaitAsync(std::optional<unsigned> timeout) = 0;
113 std::string
WaitAsync(std::optional<unsigned> timeout)
override;
116 log4cplus::Logger& m_logger;
121 std::string
const& m_name;
124 std::shared_ptr<stdif::StdCmdsAsync> m_stdif_async;
125 std::shared_ptr<rtctkif::UpdateCmdsAsync> m_ucif_async;
128 elt::mal::future<std::string> m_reply_future;
131 bool m_component_caused_exception;
143struct fmt::formatter<
rtctk::rtcSupervisor::RtcCommand> : formatter<string_view> {
144 template <
typename FormatContext>
146 string_view name =
"unknown";
170 name =
"GET_VERSION";
176 return formatter<string_view>::format(name, ctx);
Interface class for RtcObject.
Definition: rtcObject.hpp:69
virtual std::string WaitAsync(std::optional< unsigned > timeout)=0
Weits for a previously started command request to conclude.
virtual ~RtcObjectIf()=default
virtual void RunAsync(RtcCommand cmd)=0
Starts an async command request.
virtual RtcObjectInfo GetInfo() const =0
Get basic object information.
Concrete RtcObject implementation.
Definition: rtcObject.hpp:102
virtual ~RtcObject()=default
RtcObjectInfo GetInfo() const override
Get basic object information.
Definition: rtcObject.cpp:99
void RunAsync(RtcCommand cmd) override
Starts an async command request.
Definition: rtcObject.cpp:103
std::string WaitAsync(std::optional< unsigned > timeout) override
Weits for a previously started command request to conclude.
Definition: rtcObject.cpp:160
Logging Support Library based on log4cplus.
Definition: rtcSupervisor.cpp:21
RtcCommand
List of commands that can be issued by the RtcSupervisor.
Definition: rtcObject.hpp:51
Definition: commandReplier.cpp:22
Basic information necessary to construct an RtcObject.
Definition: rtcObject.hpp:34
std::string ps_uri
publish/subscribe uri
Definition: rtcObject.hpp:42
std::string rr_uri
request/response uri
Definition: rtcObject.hpp:39
std::string name
component name
Definition: rtcObject.hpp:36