1 #ifndef ZEP_CLIENT_INTERFACE_HPP_ 2 #define ZEP_CLIENT_INTERFACE_HPP_ 9 #include "audio/FactoryInterface.hpp" 10 #include "control/FactoryInterface.hpp" 11 #include "serial/FactoryInterface.hpp" 12 #include "video/FactoryInterface.hpp" 14 namespace spdlog {
class logger; }
18 class TimestampInterface;
19 class ClientCallbackInterface;
32 virtual void SetLinkPath(
const std::string& link_path) = 0;
38 virtual const std::string& GetLinkPath()
const noexcept = 0;
45 virtual void StartLink() = 0;
50 virtual void StopLink() = 0;
58 virtual bool IsLinked()
const noexcept = 0;
66 virtual std::shared_future<std::string> GetLinkStatus()
const = 0;
74 virtual bool IsConnectedToCloud()
const noexcept = 0;
81 virtual std::shared_future<
void > GetCloudConnectionStatus()
87 virtual std::unique_ptr<video::FactoryInterface> CreateVideoFactory() = 0;
92 virtual std::unique_ptr<audio::FactoryInterface> CreateAudioFactory() = 0;
97 virtual std::unique_ptr<serial::FactoryInterface> CreateSerialFactory() = 0;
102 virtual std::unique_ptr<control::FactoryInterface> CreateControlFactory() = 0;
111 virtual std::shared_ptr<TimestampInterface> CreateTimestamp(
112 std::intmax_t numerator, std::intmax_t denominator) = 0;
120 template <
class Ratio>
122 return CreateTimestamp(Ratio::num, Ratio::den);
134 virtual void RegisterCallback(
135 const std::shared_ptr<ClientCallbackInterface>& listener,
136 bool use_weak_ptr =
false) = 0;
146 virtual void RegisterCallback(
147 std::unique_ptr<ClientCallbackInterface>&& listener) = 0;
187 #endif // ZEP_CLIENT_INTERFACE_HPP_ クライアント制御のコールバックインターフェース
Definition: ClientInterface.hpp:155
ZEP SDK用名前空間
Definition: FactoryInterface.hpp:10
std::shared_ptr< TimestampInterface > CreateTimestamp()
タイムスタンプ管理オブジェクトをstd::ratioによる比率指示で生成する。
Definition: ClientInterface.hpp:121
virtual void OnLink()
クライアントプロセスとリンク(連携)されたときに 呼び出されるコールバック。
Definition: ClientInterface.hpp:161
Definition: ClientInterface.hpp:14
エンドポイントのクライアント制御インターフェース
Definition: ClientInterface.hpp:24
virtual void OnDisconnectCloud()
クラウド側から切断されたときに呼び出されるコールバック。
Definition: ClientInterface.hpp:180
virtual void OnUnlink(bool stopped)
クライアントプロセスとリンク(連携)が解除された時に 呼び出されるコールバック。
Definition: ClientInterface.hpp:170
virtual void OnConnectCloud()
クラウド側と接続されたときに呼び出されるコールバック。
Definition: ClientInterface.hpp:175