Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.0.0 (2024-12-24)
Loading...
Searching...
No Matches
EventSourceInterface.hpp
1#ifndef ZAO_ENDPOINT_EVENT_SOURCE_INTERFACE_HPP_
2#define ZAO_ENDPOINT_EVENT_SOURCE_INTERFACE_HPP_
3
4#include <memory>
5#include <type_traits>
6
7namespace zao {
8namespace endpoint {
9
16 explicit StoreAsWeakPtrType() = default;
17};
18
25
30template <class T>
32 public:
50 virtual void RegisterCallback(std::shared_ptr<T> listener) = 0;
51
69 virtual void RegisterCallback(std::weak_ptr<T> listener_weak,
71
89 virtual void RegisterCallback(std::unique_ptr<T> listener) = 0;
90
95 virtual ~EventSourceInterface() noexcept = default;
96};
97
98} // namespace endpoint
99} // namespace zao
100
101#endif // ZAO_ENDPOINT_EVENT_SOURCE_INTERFACE_HPP_
イベントを生成するクラスの共通インターフェース
Definition EventSourceInterface.hpp:31
virtual void RegisterCallback(std::shared_ptr< T > listener)=0
コールバックの送信先をshared_ptrで登録する
virtual ~EventSourceInterface() noexcept=default
EventSourceInterface オブジェクトを破棄する。
virtual void RegisterCallback(std::unique_ptr< T > listener)=0
コールバックの送信先をunique_ptrで登録する
virtual void RegisterCallback(std::weak_ptr< T > listener_weak, StoreAsWeakPtrType)=0
コールバックの送信先をweak_ptrで登録する
constexpr StoreAsWeakPtrType StoreAsWeakPtr
所有権を持たずweak_ptrとして記憶することを明示するためのタグ。
Definition EventSourceInterface.hpp:24
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11
所有権を持たずweak_ptrとして記憶することを明示するためのタグの型。
Definition EventSourceInterface.hpp:15