Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.1.0 (2025-01-15)
Loading...
Searching...
No Matches
FrameSinkBufferDequeueResult.hpp
1#ifndef ZAO_ENDPOINT_IP_FRAME_SINK_BUFFER_DEQUEUE_RESULT_HPP_
2#define ZAO_ENDPOINT_IP_FRAME_SINK_BUFFER_DEQUEUE_RESULT_HPP_
3
4#include <cassert>
5#include <memory>
6
7#include "FrameSinkBufferInterface.hpp"
8
9namespace zao {
10namespace endpoint {
11namespace ip {
12
19 public:
24 enum class ErrorType {
29 kNone,
30
36
42
48 };
49
50 public:
60 std::unique_ptr<FrameSinkBufferInterface> buffer) noexcept
61 : buffer_(std::move(buffer)) {
62 assert(buffer_);
63 }
64
74 FrameSinkBufferDequeueResult(ErrorType error) noexcept : error_(error) {}
75
81
87 delete;
88
97 default;
98
107 FrameSinkBufferDequeueResult&& other) noexcept = default;
108
113 std::unique_ptr<FrameSinkBufferInterface> TakeBuffer() noexcept {
114 return std::move(buffer_);
115 }
116
121 bool HasError() const noexcept { return error_ != ErrorType::kNone; }
122
127 bool HasAbortedError() const noexcept {
128 return error_ == ErrorType::kAborted;
129 }
130
135 bool HasNotConnectedError() const noexcept {
136 return error_ == ErrorType::kNotConnected;
137 }
138
143 bool HasNotConfiguredError() const noexcept {
144 return error_ == ErrorType::kNotConfigured;
145 }
146
151 const char* What() const noexcept {
152 switch (error_) {
153 case ErrorType::kNone:
154 return "No error.";
156 return "Aborted by FlushQueue.";
158 return "Queue is not connected.";
160 return "Queue is not configured.";
161 default:
162 return "Unknown error.";
163 }
164 }
165
166 private:
167 std::unique_ptr<FrameSinkBufferInterface> buffer_;
169};
170
171} // namespace ip
172} // namespace endpoint
173} // namespace zao
174
175#endif // ZAO_ENDPOINT_IP_FRAME_SINK_BUFFER_DEQUEUE_RESULT_HPP_
IPフレーム受信用バッファの取り出し結果を示す型。
Definition FrameSinkBufferDequeueResult.hpp:18
ErrorType
エラーの種類を示す列挙型。
Definition FrameSinkBufferDequeueResult.hpp:24
@ kNotConnected
キューが相手先に接続されていない。
@ kNotConfigured
キューが設定されていない。
@ kAborted
FlushQueue により中断された。
std::unique_ptr< FrameSinkBufferInterface > TakeBuffer() noexcept
所有権付きでバッファを得る。
Definition FrameSinkBufferDequeueResult.hpp:113
bool HasNotConnectedError() const noexcept
エラーが発生したか否か(キューが相手先に接続されていない)。
Definition FrameSinkBufferDequeueResult.hpp:135
FrameSinkBufferDequeueResult & operator=(const FrameSinkBufferDequeueResult &)=delete
コピー代入禁止。
FrameSinkBufferDequeueResult(std::unique_ptr< FrameSinkBufferInterface > buffer) noexcept
バッファを指定して FrameSinkBufferDequeueResult オブジェクトを構築する。
Definition FrameSinkBufferDequeueResult.hpp:59
const char * What() const noexcept
エラー内容を説明する文字列を取得する。
Definition FrameSinkBufferDequeueResult.hpp:151
bool HasError() const noexcept
エラーが発生したか否か。
Definition FrameSinkBufferDequeueResult.hpp:121
bool HasAbortedError() const noexcept
エラーが発生したか否か(FlushQueue により中断された)。
Definition FrameSinkBufferDequeueResult.hpp:127
bool HasNotConfiguredError() const noexcept
エラーが発生したか否か(キューが設定されていない)。
Definition FrameSinkBufferDequeueResult.hpp:143
FrameSinkBufferDequeueResult(FrameSinkBufferDequeueResult &&other) noexcept=default
ムーブ構築する。
FrameSinkBufferDequeueResult & operator=(FrameSinkBufferDequeueResult &&other) noexcept=default
ムーブ代入する。
FrameSinkBufferDequeueResult(ErrorType error) noexcept
エラー状態を指定して FrameSinkBufferDequeueResult オブジェクトを構築する。
Definition FrameSinkBufferDequeueResult.hpp:74
FrameSinkBufferDequeueResult(const FrameSinkBufferDequeueResult &)=delete
コピー構築禁止。
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11