Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.0.0 (2024-12-24)
Loading...
Searching...
No Matches
FrameSourceBufferDequeueResult.hpp
1#ifndef ZAO_ENDPOINT_IP_FRAME_SOURCE_BUFFER_DEQUEUE_RESULT_HPP_
2#define ZAO_ENDPOINT_IP_FRAME_SOURCE_BUFFER_DEQUEUE_RESULT_HPP_
3
4#include <cassert>
5#include <memory>
6
7#include "FrameSourceBufferInterface.hpp"
8
9namespace zao {
10namespace endpoint {
11namespace ip {
12
19 public:
24 enum class ErrorType {
29 kNone,
30
36
42
48 };
49
50 public:
61 std::unique_ptr<FrameSourceBufferInterface> buffer) noexcept
62 : buffer_(std::move(buffer)) {
63 assert(buffer_);
64 }
65
75 FrameSourceBufferDequeueResult(ErrorType error) noexcept : error_(error) {}
76
82 delete;
83
89 const FrameSourceBufferDequeueResult&) = delete;
90
99 FrameSourceBufferDequeueResult&& other) noexcept = default;
100
109 FrameSourceBufferDequeueResult&& other) noexcept = default;
110
115 std::unique_ptr<FrameSourceBufferInterface> TakeBuffer() noexcept {
116 return std::move(buffer_);
117 }
118
123 bool HasError() const noexcept { return error_ != ErrorType::kNone; }
124
129 bool HasAbortedError() const noexcept {
130 return error_ == ErrorType::kAborted;
131 }
132
137 bool HasNotConnectedError() const noexcept {
138 return error_ == ErrorType::kNotConnected;
139 }
140
145 bool HasNotConfiguredError() const noexcept {
146 return error_ == ErrorType::kNotConfigured;
147 }
148
153 const char* What() const noexcept {
154 switch (error_) {
155 case ErrorType::kNone:
156 return "No error.";
158 return "Aborted by FlushQueue.";
160 return "Queue is not connected.";
162 return "Queue is not configured.";
163 default:
164 return "Unknown error.";
165 }
166 }
167
168 private:
169 std::unique_ptr<FrameSourceBufferInterface> buffer_;
171};
172
173} // namespace ip
174} // namespace endpoint
175} // namespace zao
176
177#endif // ZAO_ENDPOINT_IP_FRAME_SOURCE_BUFFER_DEQUEUE_RESULT_HPP_
IPフレーム送信用バッファの取り出し結果を示す型。
Definition FrameSourceBufferDequeueResult.hpp:18
bool HasNotConfiguredError() const noexcept
エラーが発生したか否か(キューが設定されていない)。
Definition FrameSourceBufferDequeueResult.hpp:145
FrameSourceBufferDequeueResult & operator=(FrameSourceBufferDequeueResult &&other) noexcept=default
ムーブ代入する。
const char * What() const noexcept
エラー内容を説明する文字列を取得する。
Definition FrameSourceBufferDequeueResult.hpp:153
FrameSourceBufferDequeueResult & operator=(const FrameSourceBufferDequeueResult &)=delete
コピー代入禁止。
bool HasError() const noexcept
エラーが発生したか否か。
Definition FrameSourceBufferDequeueResult.hpp:123
bool HasNotConnectedError() const noexcept
エラーが発生したか否か(キューが相手先に接続されていない)。
Definition FrameSourceBufferDequeueResult.hpp:137
FrameSourceBufferDequeueResult(std::unique_ptr< FrameSourceBufferInterface > buffer) noexcept
バッファを指定して FrameSourceBufferDequeueResult オブジェクトを構築する。
Definition FrameSourceBufferDequeueResult.hpp:60
FrameSourceBufferDequeueResult(ErrorType error) noexcept
エラー状態を指定して FrameSourceBufferDequeueResult オブジェクトを構築する。
Definition FrameSourceBufferDequeueResult.hpp:75
FrameSourceBufferDequeueResult(FrameSourceBufferDequeueResult &&other) noexcept=default
ムーブ構築する。
ErrorType
エラーの種類を示す列挙型。
Definition FrameSourceBufferDequeueResult.hpp:24
@ kNotConnected
キューが相手先に接続されていない。
@ kNotConfigured
キューが設定されていない。
@ kAborted
FlushQueue により中断された。
std::unique_ptr< FrameSourceBufferInterface > TakeBuffer() noexcept
所有権付きでバッファを得る。
Definition FrameSourceBufferDequeueResult.hpp:115
bool HasAbortedError() const noexcept
エラーが発生したか否か(FlushQueue により中断された)。
Definition FrameSourceBufferDequeueResult.hpp:129
FrameSourceBufferDequeueResult(const FrameSourceBufferDequeueResult &)=delete
コピー構築禁止。
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11