10#ifndef ZEP_CLIENT_INTERFACE_HPP_
11#define ZEP_CLIENT_INTERFACE_HPP_
18#include "audio/FactoryInterface.hpp"
19#include "control/FactoryInterface.hpp"
20#include "serial/FactoryInterface.hpp"
21#include "video/FactoryInterface.hpp"
23namespace spdlog {
class logger; }
27class TimestampInterface;
121 std::intmax_t numerator, std::intmax_t denominator) = 0;
129 template <class Ratio>
144 const std::shared_ptr<ClientCallbackInterface>& listener,
145 bool use_weak_ptr =
false) = 0;
156 std::unique_ptr<ClientCallbackInterface>&& listener) = 0;
Client control callback interface.
Definition ClientInterface.hpp:164
クライアント制御のコールバックインターフェース
Definition ClientInterface.hpp:164
virtual void OnConnectCloud()
クラウド側と接続されたときに呼び出されるコールバック。
Definition ClientInterface.hpp:184
virtual void OnDisconnectCloud()
クラウド側から切断されたときに呼び出されるコールバック。
Definition ClientInterface.hpp:189
virtual void OnUnlink(bool stopped)
クライアントプロセスとリンク(連携)が解除された時に 呼び出されるコールバック。
Definition ClientInterface.hpp:179
virtual void OnLink()
クライアントプロセスとリンク(連携)されたときに 呼び出されるコールバック。
Definition ClientInterface.hpp:170
エンドポイントのクライアント制御インターフェース
Definition ClientInterface.hpp:33
virtual std::unique_ptr< video::FactoryInterface > CreateVideoFactory()=0
このClientに紐付いたVideoFactoryを生成する。
virtual const std::string & GetLinkPath() const noexcept=0
リンクに用いるパス文字列(プレフィックス付き)を取得する。
virtual std::unique_ptr< audio::FactoryInterface > CreateAudioFactory()=0
このClientに紐付いたAudioFactoryを生成する。
virtual void RegisterCallback(std::unique_ptr< ClientCallbackInterface > &&listener)=0
コールバックの送信先をunique_ptrで登録する
virtual std::unique_ptr< serial::FactoryInterface > CreateSerialFactory()=0
このClientに紐付いたSerialFactoryを生成する。
virtual void SetLinkPath(const std::string &link_path)=0
リンクに用いるパス文字列(プレフィックス付き)を設定する。
std::shared_ptr< TimestampInterface > CreateTimestamp()
タイムスタンプ管理オブジェクトをstd::ratioによる比率指示で生成する。
Definition ClientInterface.hpp:130
virtual std::shared_future< std::string > GetLinkStatus() const =0
リンク(連携)の確立状態を返却するshared_futureを取得する。
virtual void StartLink()=0
クライアントとのリンク(連携)を開始する
virtual bool IsLinked() const noexcept=0
現在リンク(連携)が成立しているか確認する。
virtual void StopLink()=0
現在リンク(連携)しているクライアントと連携を解除する
virtual void RegisterCallback(const std::shared_ptr< ClientCallbackInterface > &listener, bool use_weak_ptr=false)=0
コールバックの送信先をshared_ptrまたはweak_ptrで登録する
virtual std::unique_ptr< control::FactoryInterface > CreateControlFactory()=0
このClientに紐付いたControlFactoryを生成する。
virtual bool IsConnectedToCloud() const noexcept=0
クラウドと接続されているか確認する。
virtual std::shared_future< void > GetCloudConnectionStatus() const =0
クラウドとの接続状態を返却するshared_futureを取得する。
Interface to timestamp management functions.
Definition TimestampInterface.hpp:20
Namespace for ZEP SDK.
Definition FactoryInterface.hpp:19