Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.0.0 (2024-12-24)
Loading...
Searching...
No Matches
ChunkSinkBufferDequeueResult.hpp
1#ifndef ZAO_ENDPOINT_SERIAL_CHUNK_SINK_BUFFER_DEQUEUE_RESULT_HPP_
2#define ZAO_ENDPOINT_SERIAL_CHUNK_SINK_BUFFER_DEQUEUE_RESULT_HPP_
3
4#include <memory>
5
6#include "ChunkSinkBufferInterface.hpp"
7
8namespace zao {
9namespace endpoint {
10namespace serial {
11
18 public:
23 enum class ErrorType {
28 kNone,
29
35
41 };
42
43 public:
53 std::unique_ptr<ChunkSinkBufferInterface> buffer) noexcept
54 : buffer_(std::move(buffer)) {}
55
65 ChunkSinkBufferDequeueResult(ErrorType error) noexcept : error_(error) {}
66
72
78 delete;
79
88 default;
89
98 ChunkSinkBufferDequeueResult&& other) noexcept = default;
99
104 std::unique_ptr<ChunkSinkBufferInterface> TakeBuffer() noexcept {
105 return std::move(buffer_);
106 }
107
112 bool HasError() const noexcept { return error_ != ErrorType::kNone; }
113
118 bool HasAbortedError() const noexcept {
119 return error_ == ErrorType::kAborted;
120 }
121
126 bool HasNotConfiguredError() const noexcept {
127 return error_ == ErrorType::kNotConfigured;
128 }
129
134 const char* What() const noexcept {
135 switch (error_) {
136 case ErrorType::kNone:
137 return "No error.";
139 return "Aborted by FlushQueue.";
141 return "Queue is not configured.";
142 default:
143 return "Unknown error.";
144 }
145 }
146
147 private:
148 std::unique_ptr<ChunkSinkBufferInterface> buffer_;
150};
151
152} // namespace serial
153} // namespace endpoint
154} // namespace zao
155
156#endif // ZAO_ENDPOINT_SERIAL_CHUNK_SINK_BUFFER_DEQUEUE_RESULT_HPP_
シリアルデータ断片受信用バッファの取り出し結果を示す型。
Definition ChunkSinkBufferDequeueResult.hpp:17
ChunkSinkBufferDequeueResult(const ChunkSinkBufferDequeueResult &)=delete
コピー構築禁止。
ChunkSinkBufferDequeueResult(ErrorType error) noexcept
エラー状態を指定して ChunkSinkBufferDequeueResult オブジェクトを構築する。
Definition ChunkSinkBufferDequeueResult.hpp:65
ChunkSinkBufferDequeueResult(std::unique_ptr< ChunkSinkBufferInterface > buffer) noexcept
バッファを指定して ChunkSinkBufferDequeueResult オブジェクトを構築する。
Definition ChunkSinkBufferDequeueResult.hpp:52
ChunkSinkBufferDequeueResult(ChunkSinkBufferDequeueResult &&other) noexcept=default
ムーブ構築する。
bool HasAbortedError() const noexcept
エラーが発生したか否か(FlushQueue により中断された)。
Definition ChunkSinkBufferDequeueResult.hpp:118
ChunkSinkBufferDequeueResult & operator=(const ChunkSinkBufferDequeueResult &)=delete
コピー代入禁止。
ErrorType
エラーの種類を示す列挙型。
Definition ChunkSinkBufferDequeueResult.hpp:23
@ kNotConfigured
キューが設定されていない。
@ kAborted
FlushQueue により中断された。
bool HasNotConfiguredError() const noexcept
エラーが発生したか否か(キューが設定されていない)。
Definition ChunkSinkBufferDequeueResult.hpp:126
const char * What() const noexcept
エラー内容を説明する文字列を取得する。
Definition ChunkSinkBufferDequeueResult.hpp:134
std::unique_ptr< ChunkSinkBufferInterface > TakeBuffer() noexcept
所有権付きでバッファを得る。
Definition ChunkSinkBufferDequeueResult.hpp:104
ChunkSinkBufferDequeueResult & operator=(ChunkSinkBufferDequeueResult &&other) noexcept=default
ムーブ代入する。
bool HasError() const noexcept
エラーが発生したか否か。
Definition ChunkSinkBufferDequeueResult.hpp:112
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11