Zao SDK for Jetson / libzep API Reference
Loading...
Searching...
No Matches
CloudControlInterface.hpp
1/*
2 * Copyright (c) 2022-2023, Soliton Systems K.K. All rights reserved.
3 * Use in source and binary forms, with or without modification,
4 * is permitted provided that the following a condition is met:
5 *
6 * Use is permitted only in accordance with the terms and
7 * conditions set forth in the Software License Agreement available
8 * at https://zao-sdk.org/license-agreement/.
9 */
10#ifndef ZEP_CONTROL_CLOUD_CONTROL_INTERFACE_HPP_
11#define ZEP_CONTROL_CLOUD_CONTROL_INTERFACE_HPP_
12
13#include <future>
14#include <memory>
15#include <string>
16#include <vector>
17
18#include "RoomGroupList.hpp"
19#include "StreamingControlInterface.hpp"
20
21namespace zep {
22namespace control {
23
24class CloudControlCallbackInterface;
25
29class CloudControlInterface : public StreamingControlInterface {
30 public:
37 virtual void StartCloud(const std::string& rest_api_url,
38 const bool cert_insecure) = 0;
39
44 virtual void StopCloud() = 0;
45
49 virtual void RequestSuid() = 0;
50
54 virtual void RequestVersion() = 0;
55
60 virtual void RequestPairing() = 0;
61
65 virtual void ResetPairing() = 0;
66
70 virtual void RequestRoomGroupList() = 0;
71
76 virtual bool SelectRoomGroupId(const std::uint32_t group_id) = 0;
77
81 virtual void ConnectCloudView() = 0;
82
86 virtual void DisconnectCloudView() = 0;
87
97 virtual void RegisterCallback(
98 const std::shared_ptr<CloudControlCallbackInterface>& listener,
99 bool use_weak_ptr = false) = 0;
100
109 virtual void RegisterCallback(
110 std::unique_ptr<CloudControlCallbackInterface>&& listener) = 0;
111
112 virtual ~CloudControlInterface() noexcept = default;
113};
114
119 public:
123 enum class cloud_status_t {
124 START_CLOUD, // クラウド接続開始
125 STOP_CLOUD, // クラウド接続停止
126 FAILED, // 接続失敗
127 NOT_PAIRED, // 未ペアリング状態
128 PAIRING, // ペアリング番号取得
129 PAIRED, // ペアリング番号確認状態
130 ROOM_UPDATE, // ROOM GROUP LIST 更新済状態
131 ROOM_EMPTY, // ROOM GROUP LIST 空の状態
132 };
133
137 virtual void OnConnectingCloudView() {}
138
142 virtual void OnConnectCloudView() {}
143
147 virtual void OnDisconnectCloudView() {}
148
152 virtual void OnReceiveSuid(const std::string& suid) {}
153
157 virtual void OnReceiveVersion(const std::string& package_ver) {}
158
164 virtual void OnReceivePairingNumber(const std::string& pairing_number) {}
165
171 virtual void OnReceiveGroupIdList(const RoomGroupList& room_group_list) {}
172
178 virtual void OnNotifyCloudStatus(cloud_status_t cloud_status) {}
179
180 virtual ~CloudControlCallbackInterface() noexcept = default;
181};
182
183} // namespace control
184} // namespace zep
185
186#endif // ZEP_CONTROL_CLOUD_CONTROL_INTERFACE_HPP_
Cloud connection control function callback interface.
Definition CloudControlInterface.hpp:117
virtual void OnDisconnectCloudView()
Cloud View から切断されたときに呼び出されるコールバック。
Definition CloudControlInterface.hpp:147
virtual void OnReceivePairingNumber(const std::string &pairing_number)
ペアリング番号を取得したときに呼び出されるコールバック。
Definition CloudControlInterface.hpp:164
virtual void OnConnectingCloudView()
Cloud View に接続要求が開始されたときに呼び出されるコールバック。
Definition CloudControlInterface.hpp:137
virtual void OnConnectCloudView()
Cloud View に接続されたときに呼び出されるコールバック。
Definition CloudControlInterface.hpp:142
cloud_status_t
CloudStatus type.
Definition CloudControlInterface.hpp:122
virtual void OnReceiveGroupIdList(const RoomGroupList &room_group_list)
会議室番号一覧を受信したときに呼び出されるコールバック。
Definition CloudControlInterface.hpp:171
virtual void OnReceiveSuid(const std::string &suid)
SUID を取得できたときに呼び出されるコールバック。
Definition CloudControlInterface.hpp:152
virtual void OnNotifyCloudStatus(cloud_status_t cloud_status)
Cloud の状態変化を受信したときに呼び出されるコールバック。
Definition CloudControlInterface.hpp:178
virtual void OnReceiveVersion(const std::string &package_ver)
Version を取得できたときに呼び出されるコールバック。
Definition CloudControlInterface.hpp:157
Interface for Cloud connection control function.
Definition CloudControlInterface.hpp:29
virtual void RegisterCallback(std::unique_ptr< CloudControlCallbackInterface > &&listener)=0
コールバックの送信先をunique_ptrで登録する
virtual void RequestRoomGroupList()=0
ルームグループリストの取得を要求する。
virtual void ConnectCloudView()=0
Cloud View への接続を要求する。
virtual void RequestVersion()=0
Versionを要求する。
virtual void ResetPairing()=0
ペアリングをリセット要求する。
virtual void RequestPairing()=0
ペアリングを要求する.
virtual void StopCloud()=0
REST_APIへの切断を要求する。
virtual void StartCloud(const std::string &rest_api_url, const bool cert_insecure)=0
REST_APIとの接続を要求する。
virtual void DisconnectCloudView()=0
Cloud View との切断を要求する。
virtual bool SelectRoomGroupId(const std::uint32_t group_id)=0
ルームグループリストIDを選択する。
virtual void RegisterCallback(const std::shared_ptr< CloudControlCallbackInterface > &listener, bool use_weak_ptr=false)=0
コールバックの送信先をshared_ptrまたはweak_ptrで登録する
virtual void RequestSuid()=0
SUIDを要求する。
ストリーミング制御機能のコールバックインターフェース
Definition StreamingControlInterface.hpp:46
Namespace for ZEP SDK.
Definition FactoryInterface.hpp:19