pjmsg_mcap_wrapper
Loading...
Searching...
No Matches
errors.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
5namespace mcap {
6
7/**
8 * @brief Status codes for MCAP readers and writers.
9 */
32
33/**
34 * @brief Wraps a status code and string message carrying additional context.
35 */
36struct [[nodiscard]] Status {
39
41 : code(StatusCode::Success) {}
42
44 : code(code) {
45 switch (code) {
46 case StatusCode::Success:
47 break;
48 case StatusCode::NotOpen:
49 message = "not open";
50 break;
51 case StatusCode::InvalidSchemaId:
52 message = "invalid schema id";
53 break;
54 case StatusCode::InvalidChannelId:
55 message = "invalid channel id";
56 break;
57 case StatusCode::FileTooSmall:
58 message = "file too small";
59 break;
60 case StatusCode::ReadFailed:
61 message = "read failed";
62 break;
63 case StatusCode::MagicMismatch:
64 message = "magic mismatch";
65 break;
66 case StatusCode::InvalidFile:
67 message = "invalid file";
68 break;
69 case StatusCode::InvalidRecord:
70 message = "invalid record";
71 break;
72 case StatusCode::InvalidOpCode:
73 message = "invalid opcode";
74 break;
75 case StatusCode::InvalidChunkOffset:
76 message = "invalid chunk offset";
77 break;
78 case StatusCode::InvalidFooter:
79 message = "invalid footer";
80 break;
81 case StatusCode::DecompressionFailed:
82 message = "decompression failed";
83 break;
84 case StatusCode::DecompressionSizeMismatch:
85 message = "decompression size mismatch";
86 break;
87 case StatusCode::UnrecognizedCompression:
88 message = "unrecognized compression";
89 break;
90 case StatusCode::OpenFailed:
91 message = "open failed";
92 break;
93 case StatusCode::MissingStatistics:
94 message = "missing statistics";
95 break;
96 case StatusCode::InvalidMessageReadOptions:
97 message = "message read options conflict";
98 break;
99 case StatusCode::NoMessageIndexesAvailable:
100 message = "file has no message indices";
101 break;
102 case StatusCode::UnsupportedCompression:
103 message = "unsupported compression";
104 break;
105 default:
106 message = "unknown";
107 break;
108 }
109 }
110
111 Status(StatusCode code, const std::string& message)
112 : code(code)
113 , message(message) {}
114
115 bool ok() const {
116 return code == StatusCode::Success;
117 }
118};
119
120} // namespace mcap
Definition crc32.hpp:5
StatusCode
Status codes for MCAP readers and writers.
Definition errors.hpp:10
Wraps a status code and string message carrying additional context.
Definition errors.hpp:36
Status(StatusCode code)
Definition errors.hpp:43
bool ok() const
Definition errors.hpp:115
StatusCode code
Definition errors.hpp:37
Status(StatusCode code, const std::string &message)
Definition errors.hpp:111
std::string message
Definition errors.hpp:38