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