21 Error(Error&&) noexcept = default;
22 Error(const Error&) = default;
23 Error& operator=(Error&&) noexcept = default;
24 Error& operator=(const Error&) = default;
25 Error(
int val, const std::error_category& cat) noexcept;
27 const std::error_category& cat,
28 const std::
string& error_reason);
29 Error(const std::exception_ptr& exception) noexcept;
34 std::enable_if_t<std::is_error_condition_enum<EnumT>::value,
void>>
35 Error(EnumT value) : Error(make_error_condition(value)) {}
40 std::enable_if_t<std::is_error_condition_enum<EnumT>::value,
void>>
41 Error(EnumT value,
const std::string& reason)
42 : Error(make_error_condition(value, reason)) {}
47 std::enable_if_t<std::is_error_condition_enum<EnumT>::value,
void>>
48 bool operator==(EnumT val)
const {
49 return make_error_condition(val) == *
this;
56 [[nodiscard]]
const std::string& message()
const {
return _message; }
59 std::string _message{};
70 static const T& instance() {
81 :
public ErrorCategoryBase<AsyncOperationCancelled> {
93 [[nodiscard]]
const char* name() const noexcept override;
94 [[nodiscard]] std::
string message(
int ev) const override;
100class
MILLICAST_API GenericError : public ErrorCategoryBase<GenericError> {
103 EXCEPTION_THROWN = 1,
113 PEERCONNECTION_CREATE,
114 PEERCONNECTION_CREATE_OFFER,
115 PEERCONNECTION_LOCAL_DESC,
117 PEERCONNECTION_REMOTE_DESC,
119 PEERCONNECTION_ADD_TRACKS_FAILED,
120 PEERCONNECTION_NOT_ESTABLISHED,
121 PEERCONNECTION_SET_TRANSFORM_FAILED,
124 INVALID_MEDIA_PERMISSIONS
127 [[nodiscard]]
const char* name() const noexcept override;
128 [[nodiscard]] std::
string message(
int ev) const override;
131class
MILLICAST_API HttpError : public ErrorCategoryBase<HttpError> {
135 REQUEST_ABORTED = -1,
136 REQUEST_ABORTED_APPLE = 0,
137 JNI_INVALID_ARGUMENT = -101,
138 JNI_OUT_OF_RANGE = -102,
139 EMPTY_RESPONSE = -103,
143 [[nodiscard]]
const char* name() const noexcept override;
144 [[nodiscard]] std::
string message(
int ev) const override;
157 Exception(
const Error& err);
158 Exception(Error&& err);
164 [[nodiscard]]
const Error& get_error()
const;
176template <
typename EnumT>
177std::enable_if_t<std::is_error_condition_enum<EnumT>::value, Error>
178make_error_condition(EnumT value) {
179 return make_error_condition(value,
"");
188Error
MILLICAST_API make_error_condition(AsyncOperationCancelled::Value value,
189 const std::string& message);
197Error
MILLICAST_API make_error_condition(GenericError::Value value,
198 const std::string& message);
206Error
MILLICAST_API make_error_condition(HttpError::Value value,
207 const std::string& message);
213struct is_error_condition_enum<millicast::AsyncOperationCancelled::Value>
214 :
public std::true_type {};
216struct is_error_condition_enum<millicast::GenericError::Value>
217 :
public std::true_type {};
#define MILLICAST_TEMPLATE_API
Definition exports.h:46
#define MILLICAST_API
Definition exports.h:51