iceoryx2
C++ Bindings
Loading...
Searching...
No Matches
enum_translation.hpp
Go to the documentation of this file.
1// Copyright (c) 2024 Contributors to the Eclipse Foundation
2//
3// See the NOTICE file(s) distributed with this work for additional
4// information regarding copyright ownership.
5//
6// This program and the accompanying materials are made available under the
7// terms of the Apache Software License 2.0 which is available at
8// https://www.apache.org/licenses/LICENSE-2.0, or the MIT license
9// which is available at https://opensource.org/licenses/MIT.
10//
11// SPDX-License-Identifier: Apache-2.0 OR MIT
12
13#ifndef IOX2_ENUM_TRANSLATION_HPP
14#define IOX2_ENUM_TRANSLATION_HPP
15
21#include "iox2/bb/into.hpp"
24#include "iox2/client_error.hpp"
31#include "iox2/iceoryx2.h"
33#include "iox2/log_level.hpp"
38#include "iox2/port_error.hpp"
40#include "iox2/reader_error.hpp"
41#include "iox2/server_error.hpp"
47#include "iox2/service_type.hpp"
50#include "iox2/type_variant.hpp"
53#include "iox2/writer_error.hpp"
54
55namespace iox2 {
56namespace bb {
57template <>
59 const auto error = static_cast<iox2_semantic_string_error_e>(value);
60 switch (error) {
61 case iox2_semantic_string_error_e_INVALID_CONTENT:
63 case iox2_semantic_string_error_e_EXCEEDS_MAXIMUM_LENGTH:
65 }
66
68}
69
70template <>
71constexpr auto
73 -> iox2_semantic_string_error_e {
74 switch (value) {
76 return iox2_semantic_string_error_e_INVALID_CONTENT;
78 return iox2_semantic_string_error_e_EXCEEDS_MAXIMUM_LENGTH;
79 }
80
82}
83
84template <>
86 -> const char* {
87 return iox2_semantic_string_error_string(iox2::bb::into<iox2_semantic_string_error_e>(value));
88}
89
90template <>
91constexpr auto from<int, iox2::ServiceType>(const int value) noexcept -> iox2::ServiceType {
92 const auto service_type = static_cast<iox2_service_type_e>(value);
93 switch (service_type) {
94 case iox2_service_type_e_IPC:
96 case iox2_service_type_e_LOCAL:
98 }
99
101}
102
103template <>
105 -> iox2_service_type_e {
106 switch (value) {
108 return iox2_service_type_e_IPC;
110 return iox2_service_type_e_LOCAL;
111 }
112
114}
115
116template <>
117constexpr auto from<int, iox2::NodeCreationFailure>(const int value) noexcept -> iox2::NodeCreationFailure {
118 const auto error = static_cast<iox2_node_creation_failure_e>(value);
119 switch (error) {
120 case iox2_node_creation_failure_e_INSUFFICIENT_PERMISSIONS:
122 case iox2_node_creation_failure_e_INTERNAL_ERROR:
124 case iox2_node_creation_failure_e_SYSTEM_CORRUPTED:
126 case iox2_node_creation_failure_e_UNABLE_TO_GENERATE_UNIQUE_NODE_ID:
128 }
129
131}
132
133template <>
134constexpr auto
136 -> iox2_node_creation_failure_e {
137 switch (value) {
139 return iox2_node_creation_failure_e_INSUFFICIENT_PERMISSIONS;
141 return iox2_node_creation_failure_e_INTERNAL_ERROR;
143 return iox2_node_creation_failure_e_SYSTEM_CORRUPTED;
145 return iox2_node_creation_failure_e_UNABLE_TO_GENERATE_UNIQUE_NODE_ID;
146 }
147
149}
150
151template <>
153 char* {
154 return iox2_node_creation_failure_string(iox2::bb::into<iox2_node_creation_failure_e>(value));
155}
156
157template <>
158constexpr auto from<int, iox2::CallbackProgression>(const int value) noexcept -> iox2::CallbackProgression {
159 const auto error = static_cast<iox2_callback_progression_e>(value);
160 switch (error) {
161 case iox2_callback_progression_e_CONTINUE:
163 case iox2_callback_progression_e_STOP:
165 }
166
168}
169
170template <>
171constexpr auto
173 -> iox2_callback_progression_e {
174 switch (value) {
176 return iox2_callback_progression_e_CONTINUE;
178 return iox2_callback_progression_e_STOP;
179 }
180
182}
183
184template <>
185constexpr auto from<int, iox2::NodeListFailure>(const int value) noexcept -> iox2::NodeListFailure {
186 const auto error = static_cast<iox2_node_list_failure_e>(value);
187 switch (error) {
188 case iox2_node_list_failure_e_INSUFFICIENT_PERMISSIONS:
190 case iox2_node_list_failure_e_INTERNAL_ERROR:
192 case iox2_node_list_failure_e_INTERRUPT:
194 }
195
197}
198
199template <>
201 -> iox2_node_list_failure_e {
202 switch (value) {
204 return iox2_node_list_failure_e_INSUFFICIENT_PERMISSIONS;
206 return iox2_node_list_failure_e_INTERNAL_ERROR;
208 return iox2_node_list_failure_e_INTERRUPT;
209 }
210
212}
213
214template <>
215inline auto from<iox2::NodeListFailure, const char*>(const iox2::NodeListFailure value) noexcept -> const char* {
216 return iox2_node_list_failure_string(iox2::bb::into<iox2_node_list_failure_e>(value));
217}
218
219template <>
220constexpr auto from<int, iox2::NodeWaitFailure>(const int value) noexcept -> iox2::NodeWaitFailure {
221 const auto error = static_cast<iox2_node_wait_failure_e>(value);
222 switch (error) {
223 case iox2_node_wait_failure_e_TERMINATION_REQUEST:
225 case iox2_node_wait_failure_e_INTERRUPT:
227 }
228
230}
231
232template <>
234 -> iox2_node_wait_failure_e {
235 switch (value) {
237 return iox2_node_wait_failure_e_TERMINATION_REQUEST;
239 return iox2_node_wait_failure_e_INTERRUPT;
240 }
241
243}
244
245template <>
246inline auto from<iox2::NodeWaitFailure, const char*>(const iox2::NodeWaitFailure value) noexcept -> const char* {
247 return iox2_node_wait_failure_string(iox2::bb::into<iox2_node_wait_failure_e>(value));
248}
249
250template <>
252 -> iox2_messaging_pattern_e {
253 switch (value) {
255 return iox2_messaging_pattern_e_PUBLISH_SUBSCRIBE;
257 return iox2_messaging_pattern_e_EVENT;
259 return iox2_messaging_pattern_e_REQUEST_RESPONSE;
261 return iox2_messaging_pattern_e_BLACKBOARD;
262 }
263
265}
266
267template <>
268constexpr auto from<int, iox2::ServiceDetailsError>(const int value) noexcept -> iox2::ServiceDetailsError {
269 const auto error = static_cast<iox2_service_details_error_e>(value);
270 switch (error) {
271 case iox2_service_details_error_e_INTERRUPT:
273 case iox2_service_details_error_e_INSUFFICIENT_PERMISSIONS:
275 case iox2_service_details_error_e_FAILED_TO_OPEN_STATIC_SERVICE_INFO:
277 case iox2_service_details_error_e_FAILED_TO_READ_STATIC_SERVICE_INFO:
279 case iox2_service_details_error_e_FAILED_TO_ACQUIRE_NODE_STATE:
281 case iox2_service_details_error_e_FAILED_TO_DESERIALIZE_STATIC_SERVICE_INFO:
283 case iox2_service_details_error_e_INTERNAL_ERROR:
285 case iox2_service_details_error_e_SERVICE_IN_INCONSISTENT_STATE:
287 case iox2_service_details_error_e_VERSION_MISMATCH:
289 }
290
292}
293
294template <>
295constexpr auto
297 -> iox2_service_details_error_e {
298 switch (value) {
300 return iox2_service_details_error_e_INTERRUPT;
302 return iox2_service_details_error_e_INSUFFICIENT_PERMISSIONS;
304 return iox2_service_details_error_e_FAILED_TO_OPEN_STATIC_SERVICE_INFO;
306 return iox2_service_details_error_e_FAILED_TO_READ_STATIC_SERVICE_INFO;
308 return iox2_service_details_error_e_FAILED_TO_ACQUIRE_NODE_STATE;
310 return iox2_service_details_error_e_FAILED_TO_DESERIALIZE_STATIC_SERVICE_INFO;
312 return iox2_service_details_error_e_INTERNAL_ERROR;
314 return iox2_service_details_error_e_SERVICE_IN_INCONSISTENT_STATE;
316 return iox2_service_details_error_e_VERSION_MISMATCH;
317 }
318
320}
321
322template <>
324 char* {
325 return iox2_service_details_error_string(iox2::bb::into<iox2_service_details_error_e>(value));
326}
327
328template <>
330 const auto error = static_cast<iox2_event_open_or_create_error_e>(value);
331 switch (error) {
332 case iox2_event_open_or_create_error_e_O_INTERRUPT:
334 case iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
336 case iox2_event_open_or_create_error_e_O_VERSION_MISMATCH:
338 case iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST:
340 case iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
342 case iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
344 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
346 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
348 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE:
350 case iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE:
352 case iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION:
354 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS:
356 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS:
358 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID:
360 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
362 case iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
364 case iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
366 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT:
368 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT:
370 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT:
372
373 case iox2_event_open_or_create_error_e_C_INTERRUPT:
375 case iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
377 case iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE:
379 case iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
381 case iox2_event_open_or_create_error_e_C_ALREADY_EXISTS:
383 case iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
385 case iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE:
387 case iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
389 case iox2_event_open_or_create_error_e_C_EVENT_ID_EXCEEDS_MAX_SUPPORTED_VALUE:
391 case iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
393 case iox2_event_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
395
396 case iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX:
398 }
399
401}
402
403template <>
404constexpr auto
406 -> iox2_event_open_or_create_error_e {
407 switch (value) {
409 return iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST;
411 return iox2_event_open_or_create_error_e_O_INTERRUPT;
413 return iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
415 return iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
417 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
419 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
421 return iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE;
423 return iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION;
425 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS;
427 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS;
429 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID;
431 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
433 return iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
435 return iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
437 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT;
439 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE;
441 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT;
443 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT;
445 return iox2_event_open_or_create_error_e_O_VERSION_MISMATCH;
447 return iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
448
450 return iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX;
451
453 return iox2_event_open_or_create_error_e_C_INTERRUPT;
455 return iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
457 return iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
459 return iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE;
461 return iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
463 return iox2_event_open_or_create_error_e_C_ALREADY_EXISTS;
465 return iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
467 return iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE;
469 return iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
471 return iox2_event_open_or_create_error_e_C_EVENT_ID_EXCEEDS_MAX_SUPPORTED_VALUE;
473 return iox2_event_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID;
474 }
475
477}
478
479template <>
481 char* {
482 return iox2_event_open_or_create_error_string(iox2::bb::into<iox2_event_open_or_create_error_e>(value));
483}
484
485template <>
486constexpr auto from<int, iox2::EventOpenError>(const int value) noexcept -> iox2::EventOpenError {
487 const auto error = static_cast<iox2_event_open_or_create_error_e>(value);
488 switch (error) {
489 case iox2_event_open_or_create_error_e_O_INTERRUPT:
491 case iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST:
493 case iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
495 case iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
497 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
499 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
501 case iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE:
503 case iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION:
505 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS:
507 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS:
509 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID:
511 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
513 case iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
515 case iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
517 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE:
519 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT:
521 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT:
523 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT:
525 case iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
527 case iox2_event_open_or_create_error_e_O_VERSION_MISMATCH:
529 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
530 case iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
532 case iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE:
534 case iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
536 case iox2_event_open_or_create_error_e_C_ALREADY_EXISTS:
538 case iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
540 case iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE:
542 case iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
544 case iox2_event_open_or_create_error_e_C_EVENT_ID_EXCEEDS_MAX_SUPPORTED_VALUE:
546 case iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
548 case iox2_event_open_or_create_error_e_C_INTERRUPT:
550 case iox2_event_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
552 case iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX:
554 // NOLINTEND(bugprone-branch-clone)
555 }
557}
558
559template <>
561 -> iox2_event_open_or_create_error_e {
562 switch (value) {
564 return iox2_event_open_or_create_error_e_O_INTERRUPT;
566 return iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST;
568 return iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
570 return iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
572 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
574 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
576 return iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE;
578 return iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION;
580 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS;
582 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS;
584 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID;
586 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
588 return iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
590 return iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
592 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT;
594 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT;
596 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT;
598 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE;
600 return iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
602 return iox2_event_open_or_create_error_e_O_VERSION_MISMATCH;
603 }
604
606}
607
608template <>
609inline auto from<iox2::EventOpenError, const char*>(const iox2::EventOpenError value) noexcept -> const char* {
610 return iox2_event_open_or_create_error_string(iox2::bb::into<iox2_event_open_or_create_error_e>(value));
611}
612
613template <>
614constexpr auto from<int, iox2::EventCreateError>(const int value) noexcept -> iox2::EventCreateError {
615 const auto error = static_cast<iox2_event_open_or_create_error_e>(value);
616 switch (error) {
617 case iox2_event_open_or_create_error_e_C_INTERRUPT:
619 case iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
621 case iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE:
623 case iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
625 case iox2_event_open_or_create_error_e_C_ALREADY_EXISTS:
627 case iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
629 case iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
631 case iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
633 case iox2_event_open_or_create_error_e_C_EVENT_ID_EXCEEDS_MAX_SUPPORTED_VALUE:
635 case iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE:
637 case iox2_event_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
639 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
640 case iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX:
642 case iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST:
644 case iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
646 case iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
648 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
650 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
652 case iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE:
654 case iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION:
656 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS:
658 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS:
660 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID:
662 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
664 case iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
666 case iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
668 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE:
670 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT:
672 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT:
674 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT:
676 case iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
678 case iox2_event_open_or_create_error_e_O_VERSION_MISMATCH:
680 case iox2_event_open_or_create_error_e_O_INTERRUPT:
682 // NOLINTEND(bugprone-branch-clone)
683 }
685}
686
687template <>
688constexpr auto
690 -> iox2_event_open_or_create_error_e {
691 switch (value) {
693 return iox2_event_open_or_create_error_e_C_INTERRUPT;
695 return iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
697 return iox2_event_open_or_create_error_e_C_ALREADY_EXISTS;
699 return iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
701 return iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE;
703 return iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
705 return iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE;
707 return iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
709 return iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
711 return iox2_event_open_or_create_error_e_C_EVENT_ID_EXCEEDS_MAX_SUPPORTED_VALUE;
713 return iox2_event_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID;
714 }
715
717}
718
719template <>
720inline auto from<iox2::EventCreateError, const char*>(const iox2::EventCreateError value) noexcept -> const char* {
721 return iox2_event_open_or_create_error_string(iox2::bb::into<iox2_event_open_or_create_error_e>(value));
722}
723
724template <>
725constexpr auto from<int, iox2::PublishSubscribeOpenOrCreateError>(const int value) noexcept
727 const auto error = static_cast<iox2_pub_sub_open_or_create_error_e>(value);
728 switch (error) {
729 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST:
731 case iox2_pub_sub_open_or_create_error_e_O_INTERRUPT:
733 case iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE:
735 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES:
737 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
739 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
741 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE:
743 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE:
745 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES:
747 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS:
749 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS:
751 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
753 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR:
755 case iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
757 case iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
759 case iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION:
761 case iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
763 case iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
765 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
767 case iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH:
769 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
771 case iox2_pub_sub_open_or_create_error_e_O_INVALID_TYPE_DEFINITION:
773
774 case iox2_pub_sub_open_or_create_error_e_C_INTERRUPT:
776 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
778 case iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE:
780 case iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS:
782 case iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
784 case iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE:
786 case iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
788 case iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION:
790 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
792 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
794 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
796 case iox2_pub_sub_open_or_create_error_e_C_INVALID_TYPE_DEFINITION:
798 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
800
801 case iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX:
803 }
804
806}
807
808template <>
810 const auto error = static_cast<iox2_pub_sub_open_or_create_error_e>(value);
811 switch (error) {
812 case iox2_pub_sub_open_or_create_error_e_O_INTERRUPT:
814 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST:
816 case iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE:
818 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES:
820 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
822 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
824 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE:
826 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE:
828 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES:
830 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS:
832 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS:
834 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
836 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR:
838 case iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
840 case iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
842 case iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION:
844 case iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
846 case iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
848 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
850 case iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH:
852 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
854 case iox2_pub_sub_open_or_create_error_e_O_INVALID_TYPE_DEFINITION:
856
857 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
858 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
860 case iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE:
862 case iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS:
864 case iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
866 case iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE:
868 case iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
870 case iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION:
872 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
874 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
876 case iox2_pub_sub_open_or_create_error_e_C_INTERRUPT:
878 case iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX:
880 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
882 case iox2_pub_sub_open_or_create_error_e_C_INVALID_TYPE_DEFINITION:
884 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
886
887 // NOLINTEND(bugprone-branch-clone)
888 }
890}
891
892template <>
894 const iox2::PublishSubscribeOpenError value) noexcept -> iox2_pub_sub_open_or_create_error_e {
895 switch (value) {
897 return iox2_pub_sub_open_or_create_error_e_O_INTERRUPT;
899 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST;
901 return iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE;
903 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES;
905 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
907 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
909 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE;
911 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE;
913 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES;
915 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS;
917 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS;
919 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
921 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR;
923 return iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
925 return iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
927 return iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION;
929 return iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
931 return iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
933 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
935 return iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH;
937 return iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
939 return iox2_pub_sub_open_or_create_error_e_O_INVALID_TYPE_DEFINITION;
940 }
941
943}
944
945template <>
947 -> const char* {
948 return iox2_pub_sub_open_or_create_error_string(iox2::bb::into<iox2_pub_sub_open_or_create_error_e>(value));
949}
950
951template <>
952constexpr auto from<int, iox2::PublishSubscribeCreateError>(const int value) noexcept
954 const auto error = static_cast<iox2_pub_sub_open_or_create_error_e>(value);
955 switch (error) {
956 case iox2_pub_sub_open_or_create_error_e_C_INTERRUPT:
958 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
960 case iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE:
962 case iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS:
964 case iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
966 case iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE:
968 case iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
970 case iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION:
972 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
974 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
976 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
978 case iox2_pub_sub_open_or_create_error_e_C_INVALID_TYPE_DEFINITION:
980 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
982
983 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
984 case iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX:
986 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST:
988 case iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE:
990 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES:
992 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
994 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
996 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE:
998 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE:
1000 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES:
1002 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS:
1004 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS:
1006 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1008 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR:
1010 case iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1012 case iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1014 case iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION:
1016 case iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1018 case iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1020 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1022 case iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH:
1024 case iox2_pub_sub_open_or_create_error_e_O_INTERRUPT:
1026 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1028 case iox2_pub_sub_open_or_create_error_e_O_INVALID_TYPE_DEFINITION:
1030 // NOLINTEND(bugprone-branch-clone)
1031 }
1033}
1034
1035template <>
1037 const iox2::PublishSubscribeCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e {
1038 switch (value) {
1040 return iox2_pub_sub_open_or_create_error_e_C_INTERRUPT;
1042 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1044 return iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE;
1046 return iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS;
1048 return iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1050 return iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE;
1052 return iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1054 return iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION;
1056 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1058 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1060 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1062 return iox2_pub_sub_open_or_create_error_e_C_INVALID_TYPE_DEFINITION;
1064 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID;
1065 }
1066
1068}
1069
1070template <>
1072 -> const char* {
1073 return iox2_pub_sub_open_or_create_error_string(iox2::bb::into<iox2_pub_sub_open_or_create_error_e>(value));
1074}
1075
1076template <>
1078 const iox2::PublishSubscribeOpenOrCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e {
1079 switch (value) {
1081 return iox2_pub_sub_open_or_create_error_e_O_INTERRUPT;
1083 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST;
1085 return iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE;
1087 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES;
1089 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1091 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1093 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE;
1095 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE;
1097 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES;
1099 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS;
1101 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS;
1103 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1105 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR;
1107 return iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
1109 return iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1111 return iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION;
1113 return iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1115 return iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1117 return iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1119 return iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH;
1121 return iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1123 return iox2_pub_sub_open_or_create_error_e_O_INVALID_TYPE_DEFINITION;
1124
1126 return iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX;
1127
1129 return iox2_pub_sub_open_or_create_error_e_C_INTERRUPT;
1131 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1133 return iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE;
1135 return iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS;
1137 return iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1139 return iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE;
1141 return iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1143 return iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION;
1145 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1147 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1149 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1151 return iox2_pub_sub_open_or_create_error_e_C_INVALID_TYPE_DEFINITION;
1153 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID;
1154 }
1155
1157}
1158
1159template <>
1160inline auto
1162 -> const char* {
1163 return iox2_pub_sub_open_or_create_error_string(iox2::bb::into<iox2_pub_sub_open_or_create_error_e>(value));
1164}
1165
1166template <>
1167constexpr auto from<int, iox2::RequestResponseCreateError>(const int value) noexcept
1169 const auto error = static_cast<iox2_request_response_open_or_create_error_e>(value);
1170 switch (error) {
1171 case iox2_request_response_open_or_create_error_e_C_INTERRUPT:
1173 case iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS:
1175 case iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE:
1177 case iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1179 case iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1181 case iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION:
1183 case iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1185 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1187 case iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1189 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1191 case iox2_request_response_open_or_create_error_e_C_INVALID_TYPE_DEFINITION:
1193 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
1195
1196 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
1197 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST:
1199 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS:
1201 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT:
1203 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE:
1205 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS:
1207 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS:
1209 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1211 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE:
1213 case iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1215 case iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION:
1217 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE:
1219 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1221 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1223 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS:
1225 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES:
1227 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS:
1229 case iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1231 case iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE:
1233 case iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1235 case iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1237 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1239 case iox2_request_response_open_or_create_error_e_O_INTERRUPT:
1241 case iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH:
1243 case iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX:
1245 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1247 case iox2_request_response_open_or_create_error_e_O_INVALID_TYPE_DEFINITION:
1249
1250 // NOLINTEND(bugprone-branch-clone)
1251 }
1253}
1254
1255template <>
1257 const iox2::RequestResponseCreateError value) noexcept -> iox2_request_response_open_or_create_error_e {
1258 switch (value) {
1260 return iox2_request_response_open_or_create_error_e_C_INTERRUPT;
1262 return iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS;
1264 return iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE;
1266 return iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1268 return iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1270 return iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION;
1272 return iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1274 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1276 return iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1278 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1280 return iox2_request_response_open_or_create_error_e_C_INVALID_TYPE_DEFINITION;
1282 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID;
1283 }
1284
1286}
1287
1288template <>
1290 -> const char* {
1291 return iox2_request_response_open_or_create_error_string(
1292 iox2::bb::into<iox2_request_response_open_or_create_error_e>(value));
1293}
1294
1295template <>
1297 const auto error = static_cast<iox2_request_response_open_or_create_error_e>(value);
1298 switch (error) {
1299 case iox2_request_response_open_or_create_error_e_O_INTERRUPT:
1301 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST:
1303 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS:
1305 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT:
1307 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE:
1309 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS:
1311 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS:
1313 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1315 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE:
1317 case iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1319 case iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION:
1321 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE:
1323 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1325 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1327 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS:
1329 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES:
1331 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS:
1333 case iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1335 case iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE:
1337 case iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1339 case iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1341 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1343 case iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH:
1345 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1347 case iox2_request_response_open_or_create_error_e_O_INVALID_TYPE_DEFINITION:
1349
1350 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
1351 case iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX:
1353 case iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS:
1355 case iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE:
1357 case iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1359 case iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1361 case iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION:
1363 case iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1365 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1367 case iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1369 case iox2_request_response_open_or_create_error_e_C_INTERRUPT:
1371 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1373 case iox2_request_response_open_or_create_error_e_C_INVALID_TYPE_DEFINITION:
1375 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
1377 // NOLINTEND(bugprone-branch-clone)
1378 }
1380}
1381
1382template <>
1384 const iox2::RequestResponseOpenError value) noexcept -> iox2_request_response_open_or_create_error_e {
1385 switch (value) {
1387 return iox2_request_response_open_or_create_error_e_O_INTERRUPT;
1389 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST;
1391 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS;
1393 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT;
1395 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE;
1397 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS;
1399 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS;
1401 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1403 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE;
1405 return iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1407 return iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION;
1409 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE;
1411 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1413 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1415 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS;
1417 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES;
1419 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS;
1421 return iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
1423 return iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE;
1425 return iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1427 return iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1429 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1431 return iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH;
1433 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1435 return iox2_request_response_open_or_create_error_e_O_INVALID_TYPE_DEFINITION;
1436 }
1437
1439}
1440
1441template <>
1443 -> const char* {
1444 return iox2_request_response_open_or_create_error_string(
1445 iox2::bb::into<iox2_request_response_open_or_create_error_e>(value));
1446}
1447
1448template <>
1449constexpr auto from<int, iox2::RequestResponseOpenOrCreateError>(const int value) noexcept
1451 const auto error = static_cast<iox2_request_response_open_or_create_error_e>(value);
1452 switch (error) {
1453 case iox2_request_response_open_or_create_error_e_O_INTERRUPT:
1455 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST:
1457 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS:
1459 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT:
1461 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE:
1463 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS:
1465 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS:
1467 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1469 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE:
1472 case iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1474 case iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION:
1476 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE:
1478 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1480 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1482 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS:
1484 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES:
1486 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS:
1488 case iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1490 case iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE:
1492 case iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1494 case iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1496 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1498 case iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH:
1500 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1502 case iox2_request_response_open_or_create_error_e_O_INVALID_TYPE_DEFINITION:
1504
1505 case iox2_request_response_open_or_create_error_e_C_INTERRUPT:
1507 case iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS:
1509 case iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE:
1511 case iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1513 case iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1515 case iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION:
1517 case iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1519 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1521 case iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1523 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1525 case iox2_request_response_open_or_create_error_e_C_INVALID_TYPE_DEFINITION:
1527 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
1529
1530 case iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX:
1532 }
1533
1535}
1536
1537template <>
1539 const iox2::RequestResponseOpenOrCreateError value) noexcept -> iox2_request_response_open_or_create_error_e {
1540 switch (value) {
1542 return iox2_request_response_open_or_create_error_e_O_INTERRUPT;
1544 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST;
1546 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS;
1548 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT;
1550 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE;
1552 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS;
1554 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS;
1556 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1558 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE;
1560 return iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1562 return iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION;
1564 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE;
1566 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1568 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1570 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS;
1572 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES;
1574 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS;
1576 return iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
1578 return iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE;
1580 return iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1582 return iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1584 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1586 return iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH;
1588 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1590 return iox2_request_response_open_or_create_error_e_O_INVALID_TYPE_DEFINITION;
1591
1593 return iox2_request_response_open_or_create_error_e_C_INTERRUPT;
1595 return iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS;
1597 return iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE;
1599 return iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1601 return iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1603 return iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION;
1605 return iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1607 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1609 return iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1611 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1613 return iox2_request_response_open_or_create_error_e_C_INVALID_TYPE_DEFINITION;
1615 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID;
1616
1617
1619 return iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX;
1620 }
1621
1623}
1624
1625template <>
1626inline auto
1628 -> const char* {
1629 return iox2_request_response_open_or_create_error_string(
1630 iox2::bb::into<iox2_request_response_open_or_create_error_e>(value));
1631}
1632
1633template <>
1634constexpr auto from<int, iox2::BlackboardCreateError>(const int value) noexcept -> iox2::BlackboardCreateError {
1635 const auto error = static_cast<iox2_blackboard_create_error_e>(value);
1636 switch (error) {
1637 case iox2_blackboard_create_error_e_C_INTERRUPT:
1639 case iox2_blackboard_create_error_e_C_ALREADY_EXISTS:
1641 case iox2_blackboard_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1643 case iox2_blackboard_create_error_e_C_INTERNAL_FAILURE:
1645 case iox2_blackboard_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1647 case iox2_blackboard_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1649 case iox2_blackboard_create_error_e_C_HANGS_IN_CREATION:
1651 case iox2_blackboard_create_error_e_C_NO_ENTRIES_PROVIDED:
1653 case iox2_blackboard_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1655 case iox2_blackboard_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1657 case iox2_blackboard_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID:
1659 }
1660
1662}
1663
1664template <>
1665constexpr auto
1667 -> iox2_blackboard_create_error_e {
1668 switch (value) {
1670 return iox2_blackboard_create_error_e_C_INTERRUPT;
1672 return iox2_blackboard_create_error_e_C_ALREADY_EXISTS;
1674 return iox2_blackboard_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1676 return iox2_blackboard_create_error_e_C_INTERNAL_FAILURE;
1678 return iox2_blackboard_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1680 return iox2_blackboard_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1682 return iox2_blackboard_create_error_e_C_HANGS_IN_CREATION;
1684 return iox2_blackboard_create_error_e_C_NO_ENTRIES_PROVIDED;
1686 return iox2_blackboard_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1688 return iox2_blackboard_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1690 return iox2_blackboard_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID;
1691 }
1692
1694}
1695
1696template <>
1698 char* {
1699 return iox2_blackboard_create_error_string(iox2::bb::into<iox2_blackboard_create_error_e>(value));
1700}
1701
1702template <>
1703constexpr auto from<int, iox2::BlackboardOpenError>(const int value) noexcept -> iox2::BlackboardOpenError {
1704 const auto error = static_cast<iox2_blackboard_open_error_e>(value);
1705 switch (error) {
1706 case iox2_blackboard_open_error_e_O_INTERRUPT:
1708 case iox2_blackboard_open_error_e_O_DOES_NOT_EXIST:
1710 case iox2_blackboard_open_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1712 case iox2_blackboard_open_error_e_O_INCOMPATIBLE_KEYS:
1714 case iox2_blackboard_open_error_e_O_INTERNAL_FAILURE:
1716 case iox2_blackboard_open_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1718 case iox2_blackboard_open_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1720 case iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_READERS:
1722 case iox2_blackboard_open_error_e_O_INSUFFICIENT_PERMISSIONS:
1724 case iox2_blackboard_open_error_e_O_HANGS_IN_CREATION:
1726 case iox2_blackboard_open_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1728 case iox2_blackboard_open_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1730 case iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1732 case iox2_blackboard_open_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1734 case iox2_blackboard_open_error_e_O_VERSION_MISMATCH:
1736 }
1737
1739}
1740
1741template <>
1742constexpr auto
1744 -> iox2_blackboard_open_error_e {
1745 switch (value) {
1747 return iox2_blackboard_open_error_e_O_INTERRUPT;
1749 return iox2_blackboard_open_error_e_O_DOES_NOT_EXIST;
1751 return iox2_blackboard_open_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1753 return iox2_blackboard_open_error_e_O_INCOMPATIBLE_KEYS;
1755 return iox2_blackboard_open_error_e_O_INTERNAL_FAILURE;
1757 return iox2_blackboard_open_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1759 return iox2_blackboard_open_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1761 return iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_READERS;
1763 return iox2_blackboard_open_error_e_O_INSUFFICIENT_PERMISSIONS;
1765 return iox2_blackboard_open_error_e_O_HANGS_IN_CREATION;
1767 return iox2_blackboard_open_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1769 return iox2_blackboard_open_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1771 return iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1773 return iox2_blackboard_open_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1775 return iox2_blackboard_open_error_e_O_VERSION_MISMATCH;
1776 }
1777
1779}
1780
1781template <>
1783 char* {
1784 return iox2_blackboard_open_error_string(iox2::bb::into<iox2_blackboard_open_error_e>(value));
1785}
1786
1787template <>
1788constexpr auto from<int, iox2::WriterCreateError>(const int value) noexcept -> iox2::WriterCreateError {
1789 const auto error = static_cast<iox2_writer_create_error_e>(value);
1790 switch (error) {
1791 case iox2_writer_create_error_e_EXCEEDS_MAX_SUPPORTED_WRITERS:
1793 case iox2_writer_create_error_e_INTERNAL_FAILURE:
1795 case iox2_writer_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY:
1797 case iox2_writer_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1799 case iox2_writer_create_error_e_UNABLE_TO_GENERATE_UNIQUE_WRITER_ID:
1801 }
1802
1804}
1805
1806template <>
1808 -> iox2_writer_create_error_e {
1809 switch (value) {
1811 return iox2_writer_create_error_e_EXCEEDS_MAX_SUPPORTED_WRITERS;
1813 return iox2_writer_create_error_e_INTERNAL_FAILURE;
1815 return iox2_writer_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY;
1817 return iox2_writer_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1819 return iox2_writer_create_error_e_UNABLE_TO_GENERATE_UNIQUE_WRITER_ID;
1820 }
1821
1823}
1824
1825template <>
1826inline auto from<iox2::WriterCreateError, const char*>(const iox2::WriterCreateError value) noexcept -> const char* {
1827 return iox2_writer_create_error_string(iox2::bb::into<iox2_writer_create_error_e>(value));
1828}
1829
1830template <>
1831constexpr auto from<int, iox2::EntryHandleMutError>(const int value) noexcept -> iox2::EntryHandleMutError {
1832 const auto error = static_cast<iox2_entry_handle_mut_error_e>(value);
1833 switch (error) {
1834 case iox2_entry_handle_mut_error_e_ENTRY_DOES_NOT_EXIST:
1836 case iox2_entry_handle_mut_error_e_HANDLE_ALREADY_EXISTS:
1838 }
1839
1841}
1842
1843template <>
1844constexpr auto
1846 -> iox2_entry_handle_mut_error_e {
1847 switch (value) {
1849 return iox2_entry_handle_mut_error_e_ENTRY_DOES_NOT_EXIST;
1851 return iox2_entry_handle_mut_error_e_HANDLE_ALREADY_EXISTS;
1852 }
1853
1855}
1856
1857template <>
1859 char* {
1860 return iox2_entry_handle_mut_error_string(iox2::bb::into<iox2_entry_handle_mut_error_e>(value));
1861}
1862
1863template <>
1864constexpr auto from<int, iox2::ReaderCreateError>(const int value) noexcept -> iox2::ReaderCreateError {
1865 const auto error = static_cast<iox2_reader_create_error_e>(value);
1866 switch (error) {
1867 case iox2_reader_create_error_e_EXCEEDS_MAX_SUPPORTED_READERS:
1869 case iox2_reader_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY:
1871 case iox2_reader_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1873 case iox2_reader_create_error_e_UNABLE_TO_GENERATE_UNIQUE_READER_ID:
1875 }
1876
1878}
1879
1880template <>
1882 -> iox2_reader_create_error_e {
1883 switch (value) {
1885 return iox2_reader_create_error_e_EXCEEDS_MAX_SUPPORTED_READERS;
1887 return iox2_reader_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY;
1889 return iox2_reader_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1891 return iox2_reader_create_error_e_UNABLE_TO_GENERATE_UNIQUE_READER_ID;
1892 }
1893
1895}
1896
1897template <>
1898inline auto from<iox2::ReaderCreateError, const char*>(const iox2::ReaderCreateError value) noexcept -> const char* {
1899 return iox2_reader_create_error_string(iox2::bb::into<iox2_reader_create_error_e>(value));
1900}
1901
1902template <>
1903constexpr auto from<int, iox2::EntryHandleError>(const int value) noexcept -> iox2::EntryHandleError {
1904 const auto error = static_cast<iox2_entry_handle_error_e>(value);
1905 switch (error) {
1906 case iox2_entry_handle_error_e_ENTRY_DOES_NOT_EXIST:
1908 }
1909
1911}
1912
1913template <>
1915 -> iox2_entry_handle_error_e {
1916 switch (value) {
1918 return iox2_entry_handle_error_e_ENTRY_DOES_NOT_EXIST;
1919 }
1920
1922}
1923
1924template <>
1925inline auto from<iox2::EntryHandleError, const char*>(const iox2::EntryHandleError value) noexcept -> const char* {
1926 return iox2_entry_handle_error_string(iox2::bb::into<iox2_entry_handle_error_e>(value));
1927}
1928
1929template <>
1930constexpr auto from<int, iox2::ClientCreateError>(const int value) noexcept -> iox2::ClientCreateError {
1931 const auto error = static_cast<iox2_client_create_error_e>(value);
1932 switch (error) {
1933 case iox2_client_create_error_e_EXCEEDS_MAX_SUPPORTED_CLIENTS:
1935 case iox2_client_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT:
1937 case iox2_client_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1939 case iox2_client_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1941 case iox2_client_create_error_e_MAX_ACTIVE_REQUESTS_EXCEEDS_MAX_SUPPORTED_ACTIVE_REQUESTS_OF_SERVICE:
1943 case iox2_client_create_error_e_UNABLE_TO_GENERATE_UNIQUE_CLIENT_ID:
1945 }
1946
1948}
1949
1950template <>
1952 -> iox2_client_create_error_e {
1953 switch (value) {
1955 return iox2_client_create_error_e_EXCEEDS_MAX_SUPPORTED_CLIENTS;
1957 return iox2_client_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT;
1959 return iox2_client_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
1961 return iox2_client_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1963 return iox2_client_create_error_e_MAX_ACTIVE_REQUESTS_EXCEEDS_MAX_SUPPORTED_ACTIVE_REQUESTS_OF_SERVICE;
1965 return iox2_client_create_error_e_UNABLE_TO_GENERATE_UNIQUE_CLIENT_ID;
1966 }
1967
1969}
1970
1971template <>
1972inline auto from<iox2::ClientCreateError, const char*>(const iox2::ClientCreateError value) noexcept -> const char* {
1973 return iox2_client_create_error_string(iox2::bb::into<iox2_client_create_error_e>(value));
1974}
1975
1976template <>
1977constexpr auto from<int, iox2::ServerCreateError>(const int value) noexcept -> iox2::ServerCreateError {
1978 const auto error = static_cast<iox2_server_create_error_e>(value);
1979 switch (error) {
1980 case iox2_server_create_error_e_EXCEEDS_MAX_SUPPORTED_SERVERS:
1982 case iox2_server_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT:
1984 case iox2_server_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1986 case iox2_server_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1988 case iox2_server_create_error_e_UNABLE_TO_GENERATE_UNIQUE_SERVER_ID:
1990 }
1991
1993}
1994
1995template <>
1997 -> iox2_server_create_error_e {
1998 switch (value) {
2000 return iox2_server_create_error_e_EXCEEDS_MAX_SUPPORTED_SERVERS;
2002 return iox2_server_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT;
2004 return iox2_server_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
2006 return iox2_server_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
2008 return iox2_server_create_error_e_UNABLE_TO_GENERATE_UNIQUE_SERVER_ID;
2009 }
2010
2012}
2013
2014template <>
2015inline auto from<iox2::ServerCreateError, const char*>(const iox2::ServerCreateError value) noexcept -> const char* {
2016 return iox2_server_create_error_string(iox2::bb::into<iox2_server_create_error_e>(value));
2017}
2018
2019template <>
2020constexpr auto from<int, iox2::NotifierCreateError>(const int value) noexcept -> iox2::NotifierCreateError {
2021 const auto error = static_cast<iox2_notifier_create_error_e>(value);
2022 switch (error) {
2023 case iox2_notifier_create_error_e_EXCEEDS_MAX_SUPPORTED_NOTIFIERS:
2025 case iox2_notifier_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
2027 case iox2_notifier_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
2029 case iox2_notifier_create_error_e_UNABLE_TO_GENERATE_UNIQUE_NOTIFIER_ID:
2031 }
2032
2034}
2035
2036template <>
2037constexpr auto
2039 -> iox2_notifier_create_error_e {
2040 switch (value) {
2042 return iox2_notifier_create_error_e_EXCEEDS_MAX_SUPPORTED_NOTIFIERS;
2044 return iox2_notifier_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
2046 return iox2_notifier_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
2048 return iox2_notifier_create_error_e_UNABLE_TO_GENERATE_UNIQUE_NOTIFIER_ID;
2049 }
2050
2052}
2053
2054template <>
2056 char* {
2057 return iox2_notifier_create_error_string(iox2::bb::into<iox2_notifier_create_error_e>(value));
2058}
2059
2060template <>
2061constexpr auto from<int, iox2::ListenerCreateError>(const int value) noexcept -> iox2::ListenerCreateError {
2062 const auto error = static_cast<iox2_listener_create_error_e>(value);
2063 switch (error) {
2064 case iox2_listener_create_error_e_EXCEEDS_MAX_SUPPORTED_LISTENERS:
2066 case iox2_listener_create_error_e_RESOURCE_CREATION_FAILED:
2068 case iox2_listener_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
2070 case iox2_listener_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
2072 case iox2_listener_create_error_e_UNABLE_TO_GENERATE_UNIQUE_LISTENER_ID:
2074 }
2075
2077}
2078
2079template <>
2080constexpr auto
2082 -> iox2_listener_create_error_e {
2083 switch (value) {
2085 return iox2_listener_create_error_e_EXCEEDS_MAX_SUPPORTED_LISTENERS;
2087 return iox2_listener_create_error_e_RESOURCE_CREATION_FAILED;
2089 return iox2_listener_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
2091 return iox2_listener_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
2093 return iox2_listener_create_error_e_UNABLE_TO_GENERATE_UNIQUE_LISTENER_ID;
2094 }
2095
2097}
2098
2099template <>
2101 char* {
2102 return iox2_listener_create_error_string(iox2::bb::into<iox2_listener_create_error_e>(value));
2103}
2104
2105template <>
2106constexpr auto from<int, iox2::NotifierNotifyError>(const int value) noexcept -> iox2::NotifierNotifyError {
2107 const auto error = static_cast<iox2_notifier_notify_error_e>(value);
2108 switch (error) {
2109 case iox2_notifier_notify_error_e_EVENT_ID_OUT_OF_BOUNDS:
2111 case iox2_notifier_notify_error_e_MISSED_DEADLINE:
2113 case iox2_notifier_notify_error_e_UNABLE_TO_ACQUIRE_ELAPSED_TIME:
2115 case iox2_notifier_notify_error_e_INVALID_LISTENER_KEY:
2117 }
2118
2120}
2121
2122template <>
2123constexpr auto
2125 -> iox2_notifier_notify_error_e {
2126 switch (value) {
2128 return iox2_notifier_notify_error_e_EVENT_ID_OUT_OF_BOUNDS;
2130 return iox2_notifier_notify_error_e_MISSED_DEADLINE;
2132 return iox2_notifier_notify_error_e_UNABLE_TO_ACQUIRE_ELAPSED_TIME;
2134 return iox2_notifier_notify_error_e_INVALID_LISTENER_KEY;
2135 }
2136
2138}
2139
2140template <>
2142 char* {
2143 return iox2_notifier_notify_error_string(iox2::bb::into<iox2_notifier_notify_error_e>(value));
2144}
2145
2146template <>
2147constexpr auto from<int, iox2::ListenerWaitError>(const int value) noexcept -> iox2::ListenerWaitError {
2148 const auto error = static_cast<iox2_listener_wait_error_e>(value);
2149 switch (error) {
2150 case iox2_listener_wait_error_e_CONTRACT_VIOLATION:
2152 case iox2_listener_wait_error_e_INTERRUPT_SIGNAL:
2154 case iox2_listener_wait_error_e_INTERNAL_FAILURE:
2156 }
2157
2159}
2160
2161template <>
2163 -> iox2_listener_wait_error_e {
2164 switch (value) {
2166 return iox2_listener_wait_error_e_CONTRACT_VIOLATION;
2168 return iox2_listener_wait_error_e_INTERRUPT_SIGNAL;
2170 return iox2_listener_wait_error_e_INTERNAL_FAILURE;
2171 }
2172
2174}
2175
2176template <>
2177inline auto from<iox2::ListenerWaitError, const char*>(const iox2::ListenerWaitError value) noexcept -> const char* {
2178 return iox2_listener_wait_error_string(iox2::bb::into<iox2_listener_wait_error_e>(value));
2179}
2180
2181template <>
2182constexpr auto from<int, iox2::PublisherCreateError>(const int value) noexcept -> iox2::PublisherCreateError {
2183 const auto error = static_cast<iox2_publisher_create_error_e>(value);
2184 switch (error) {
2185 case iox2_publisher_create_error_e_EXCEEDS_MAX_SUPPORTED_PUBLISHERS:
2187 case iox2_publisher_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT:
2189 case iox2_publisher_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
2191 case iox2_publisher_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
2193 case iox2_publisher_create_error_e_UNABLE_TO_GENERATE_UNIQUE_PUBLISHER_ID:
2195 }
2196
2198}
2199
2200template <>
2201constexpr auto
2203 -> iox2_publisher_create_error_e {
2204 switch (value) {
2206 return iox2_publisher_create_error_e_EXCEEDS_MAX_SUPPORTED_PUBLISHERS;
2208 return iox2_publisher_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT;
2210 return iox2_publisher_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
2212 return iox2_publisher_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
2214 return iox2_publisher_create_error_e_UNABLE_TO_GENERATE_UNIQUE_PUBLISHER_ID;
2215 }
2216
2218}
2219
2220template <>
2222 char* {
2223 return iox2_publisher_create_error_string(iox2::bb::into<iox2_publisher_create_error_e>(value));
2224}
2225
2226template <>
2227constexpr auto from<int, iox2::SubscriberCreateError>(const int value) noexcept -> iox2::SubscriberCreateError {
2228 const auto error = static_cast<iox2_subscriber_create_error_e>(value);
2229 switch (error) {
2230 case iox2_subscriber_create_error_e_BUFFER_SIZE_EXCEEDS_MAX_SUPPORTED_BUFFER_SIZE_OF_SERVICE:
2232 case iox2_subscriber_create_error_e_EXCEEDS_MAX_SUPPORTED_SUBSCRIBERS:
2234 case iox2_subscriber_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
2236 case iox2_subscriber_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
2238 case iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_HISTORY_SIZE_OF_SERVICE:
2240 case iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_BUFFER_SIZE_OF_SUBSCRIBER:
2242 case iox2_subscriber_create_error_e_UNABLE_TO_GENERATE_UNIQUE_SUBSCRIBER_ID:
2244 }
2245
2247}
2248
2249template <>
2250constexpr auto
2252 -> iox2_subscriber_create_error_e {
2253 switch (value) {
2255 return iox2_subscriber_create_error_e_BUFFER_SIZE_EXCEEDS_MAX_SUPPORTED_BUFFER_SIZE_OF_SERVICE;
2257 return iox2_subscriber_create_error_e_EXCEEDS_MAX_SUPPORTED_SUBSCRIBERS;
2259 return iox2_subscriber_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
2261 return iox2_subscriber_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
2263 return iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_HISTORY_SIZE_OF_SERVICE;
2265 return iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_BUFFER_SIZE_OF_SUBSCRIBER;
2267 return iox2_subscriber_create_error_e_UNABLE_TO_GENERATE_UNIQUE_SUBSCRIBER_ID;
2268 }
2269
2271}
2272
2273template <>
2275 char* {
2276 return iox2_subscriber_create_error_string(iox2::bb::into<iox2_subscriber_create_error_e>(value));
2277}
2278
2279template <>
2280constexpr auto from<int, iox2::SendError>(const int value) noexcept -> iox2::SendError {
2281 const auto error = static_cast<iox2_send_error_e>(value);
2282 switch (error) {
2283 case iox2_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS:
2285 case iox2_send_error_e_CONNECTION_CORRUPTED:
2287 case iox2_send_error_e_LOAN_ERROR_OUT_OF_MEMORY:
2289 case iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS:
2291 case iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE:
2293 case iox2_send_error_e_LOAN_ERROR_INTERNAL_FAILURE:
2295 case iox2_send_error_e_CONNECTION_ERROR:
2297 case iox2_send_error_e_UNABLE_TO_DELIVER:
2299 case iox2_send_error_e_INTERNAL_ERROR:
2301 }
2302
2304}
2305
2306template <>
2307constexpr auto from<iox2::SendError, iox2_send_error_e>(const iox2::SendError value) noexcept -> iox2_send_error_e {
2308 switch (value) {
2310 return iox2_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS;
2312 return iox2_send_error_e_CONNECTION_CORRUPTED;
2314 return iox2_send_error_e_LOAN_ERROR_OUT_OF_MEMORY;
2316 return iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS;
2318 return iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE;
2320 return iox2_send_error_e_LOAN_ERROR_INTERNAL_FAILURE;
2322 return iox2_send_error_e_CONNECTION_ERROR;
2324 return iox2_send_error_e_UNABLE_TO_DELIVER;
2326 return iox2_send_error_e_INTERNAL_ERROR;
2327 }
2328
2330}
2331
2332template <>
2333inline auto from<iox2::SendError, const char*>(const iox2::SendError value) noexcept -> const char* {
2334 return iox2_send_error_string(iox2::bb::into<iox2_send_error_e>(value));
2335}
2336
2337template <>
2338constexpr auto from<int, iox2::ReceiveError>(const int value) noexcept -> iox2::ReceiveError {
2339 const auto error = static_cast<iox2_receive_error_e>(value);
2340 switch (error) {
2341 case iox2_receive_error_e_FAILED_TO_ESTABLISH_CONNECTION:
2343 case iox2_receive_error_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT:
2345 case iox2_receive_error_e_EXCEEDS_MAX_BORROWS:
2347 }
2348
2350}
2351
2352template <>
2354 -> iox2_receive_error_e {
2355 switch (value) {
2357 return iox2_receive_error_e_FAILED_TO_ESTABLISH_CONNECTION;
2359 return iox2_receive_error_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT;
2361 return iox2_receive_error_e_EXCEEDS_MAX_BORROWS;
2362 }
2363
2365}
2366
2367template <>
2368inline auto from<iox2::ReceiveError, const char*>(const iox2::ReceiveError value) noexcept -> const char* {
2369 return iox2_receive_error_string(iox2::bb::into<iox2_receive_error_e>(value));
2370}
2371
2372template <>
2373constexpr auto from<int, iox2::LoanError>(const int value) noexcept -> iox2::LoanError {
2374 const auto error = static_cast<iox2_loan_error_e>(value);
2375 switch (error) {
2376 case iox2_loan_error_e_EXCEEDS_MAX_LOANED_SAMPLES:
2378 case iox2_loan_error_e_OUT_OF_MEMORY:
2380 case iox2_loan_error_e_EXCEEDS_MAX_LOAN_SIZE:
2382 case iox2_loan_error_e_INTERNAL_FAILURE:
2384 }
2385
2387}
2388
2389template <>
2390constexpr auto from<iox2::LoanError, iox2_loan_error_e>(const iox2::LoanError value) noexcept -> iox2_loan_error_e {
2391 switch (value) {
2393 return iox2_loan_error_e_EXCEEDS_MAX_LOANED_SAMPLES;
2395 return iox2_loan_error_e_OUT_OF_MEMORY;
2397 return iox2_loan_error_e_EXCEEDS_MAX_LOAN_SIZE;
2399 return iox2_loan_error_e_INTERNAL_FAILURE;
2400 }
2401
2403}
2404
2405template <>
2406inline auto from<iox2::LoanError, const char*>(const iox2::LoanError value) noexcept -> const char* {
2407 return iox2_loan_error_string(iox2::bb::into<iox2_loan_error_e>(value));
2408}
2409
2410template <>
2411constexpr auto from<int, iox2::RequestSendError>(const int value) noexcept -> iox2::RequestSendError {
2412 const auto error = static_cast<iox2_request_send_error_e>(value);
2413 switch (error) {
2414 case iox2_request_send_error_e_EXCEEDS_MAX_ACTIVE_REQUESTS:
2416 case iox2_request_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS:
2418 case iox2_request_send_error_e_CONNECTION_CORRUPTED:
2420 case iox2_request_send_error_e_LOAN_ERROR_OUT_OF_MEMORY:
2422 case iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS:
2424 case iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE:
2426 case iox2_request_send_error_e_LOAN_ERROR_INTERNAL_FAILURE:
2428 case iox2_request_send_error_e_CONNECTION_ERROR:
2430 case iox2_request_send_error_e_UNABLE_TO_DELIVER:
2432 case iox2_request_send_error_e_INTERNAL_ERROR:
2434 }
2435
2437}
2438
2439template <>
2441 -> iox2_request_send_error_e {
2442 switch (value) {
2444 return iox2_request_send_error_e_EXCEEDS_MAX_ACTIVE_REQUESTS;
2446 return iox2_request_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS;
2448 return iox2_request_send_error_e_CONNECTION_CORRUPTED;
2450 return iox2_request_send_error_e_LOAN_ERROR_OUT_OF_MEMORY;
2452 return iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS;
2454 return iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE;
2456 return iox2_request_send_error_e_LOAN_ERROR_INTERNAL_FAILURE;
2458 return iox2_request_send_error_e_CONNECTION_ERROR;
2460 return iox2_request_send_error_e_UNABLE_TO_DELIVER;
2462 return iox2_request_send_error_e_INTERNAL_ERROR;
2463 }
2464
2466}
2467
2468template <>
2469inline auto from<iox2::RequestSendError, const char*>(const iox2::RequestSendError value) noexcept -> const char* {
2470 return iox2_request_send_error_string(iox2::bb::into<iox2_request_send_error_e>(value));
2471}
2472
2473template <>
2474constexpr auto from<int, iox2::TypeVariant>(const int value) noexcept -> iox2::TypeVariant {
2475 const auto variant = static_cast<iox2_type_variant_e>(value);
2476 switch (variant) {
2477 case iox2_type_variant_e_DYNAMIC:
2479 case iox2_type_variant_e_FIXED_SIZE:
2481 }
2482
2484}
2485
2486template <>
2487constexpr auto from<int, iox2::ServiceListError>(const int value) noexcept -> iox2::ServiceListError {
2488 const auto variant = static_cast<iox2_service_list_error_e>(value);
2489 switch (variant) {
2490 case iox2_service_list_error_e_INSUFFICIENT_PERMISSIONS:
2492 case iox2_service_list_error_e_INTERNAL_ERROR:
2494 }
2495
2497}
2498
2499template <>
2501 -> iox2_service_list_error_e {
2502 switch (value) {
2504 return iox2_service_list_error_e_INSUFFICIENT_PERMISSIONS;
2506 return iox2_service_list_error_e_INTERNAL_ERROR;
2507 }
2508
2510}
2511
2512template <>
2513inline auto from<iox2::ServiceListError, const char*>(const iox2::ServiceListError value) noexcept -> const char* {
2514 return iox2_service_list_error_string(iox2::bb::into<iox2_service_list_error_e>(value));
2515}
2516
2517template <>
2518constexpr auto from<int, iox2::MessagingPattern>(const int value) noexcept -> iox2::MessagingPattern {
2519 const auto variant = static_cast<iox2_messaging_pattern_e>(value);
2520 switch (variant) {
2521 case iox2_messaging_pattern_e_EVENT:
2523 case iox2_messaging_pattern_e_PUBLISH_SUBSCRIBE:
2525 case iox2_messaging_pattern_e_REQUEST_RESPONSE:
2527 case iox2_messaging_pattern_e_BLACKBOARD:
2529 }
2530
2532}
2533
2534template <>
2535constexpr auto from<int, iox2::BackpressureStrategy>(const int value) noexcept -> iox2::BackpressureStrategy {
2536 const auto variant = static_cast<iox2_backpressure_strategy_e>(value);
2537 switch (variant) {
2538 case iox2_backpressure_strategy_e_RETRY_UNTIL_DELIVERED:
2540 case iox2_backpressure_strategy_e_DISCARD_DATA:
2542 }
2543
2545}
2546
2547template <>
2548constexpr auto from<iox2::BackpressureStrategy, int>(const iox2::BackpressureStrategy value) noexcept -> int {
2549 switch (value) {
2551 return iox2_backpressure_strategy_e_RETRY_UNTIL_DELIVERED;
2553 return iox2_backpressure_strategy_e_DISCARD_DATA;
2554 }
2555
2557}
2558
2559template <>
2560constexpr auto from<int, iox2::AllocationStrategy>(const int value) noexcept -> iox2::AllocationStrategy {
2561 const auto variant = static_cast<iox2_allocation_strategy_e>(value);
2562 switch (variant) {
2563 case iox2_allocation_strategy_e_STATIC:
2565 case iox2_allocation_strategy_e_BEST_FIT:
2567 case iox2_allocation_strategy_e_POWER_OF_TWO:
2569 }
2570
2572}
2573
2574template <>
2575constexpr auto from<iox2::AllocationStrategy, int>(const iox2::AllocationStrategy value) noexcept -> int {
2576 switch (value) {
2578 return iox2_allocation_strategy_e_STATIC;
2580 return iox2_allocation_strategy_e_BEST_FIT;
2582 return iox2_allocation_strategy_e_POWER_OF_TWO;
2583 }
2584
2586}
2587
2588template <>
2589constexpr auto from<int, iox2::ConnectionFailure>(const int value) noexcept -> iox2::ConnectionFailure {
2590 const auto variant = static_cast<iox2_connection_failure_e>(value);
2591 switch (variant) {
2592 case iox2_connection_failure_e_FAILED_TO_ESTABLISH_CONNECTION:
2594 case iox2_connection_failure_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT:
2596 }
2597
2599}
2600
2601template <>
2603 -> iox2_connection_failure_e {
2604 switch (value) {
2606 return iox2_connection_failure_e_FAILED_TO_ESTABLISH_CONNECTION;
2608 return iox2_connection_failure_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT;
2609 }
2610
2612}
2613
2614template <>
2615inline auto from<iox2::ConnectionFailure, const char*>(const iox2::ConnectionFailure value) noexcept -> const char* {
2616 return iox2_connection_failure_string(iox2::bb::into<iox2_connection_failure_e>(value));
2617}
2618
2619template <>
2620constexpr auto from<int, iox2::ConfigCreationError>(const int value) noexcept -> iox2::ConfigCreationError {
2621 const auto variant = static_cast<iox2_config_creation_error_e>(value);
2622 switch (variant) {
2623 case iox2_config_creation_error_e_FAILED_TO_READ_CONFIG_FILE_CONTENTS:
2625 case iox2_config_creation_error_e_UNABLE_TO_DESERIALIZE_CONTENTS:
2627 case iox2_config_creation_error_e_INSUFFICIENT_PERMISSIONS:
2629 case iox2_config_creation_error_e_CONFIG_FILE_DOES_NOT_EXIST:
2631 case iox2_config_creation_error_e_UNABLE_TO_OPEN_CONFIG_FILE:
2633 case iox2_config_creation_error_e_INVALID_FILE_PATH:
2634 // unreachable since this error case is excluded by using the strong type iox2::bb::FilePath
2636 }
2637
2639}
2640
2641template <>
2642constexpr auto
2644 -> iox2_config_creation_error_e {
2645 switch (value) {
2647 return iox2_config_creation_error_e_FAILED_TO_READ_CONFIG_FILE_CONTENTS;
2649 return iox2_config_creation_error_e_UNABLE_TO_DESERIALIZE_CONTENTS;
2651 return iox2_config_creation_error_e_INSUFFICIENT_PERMISSIONS;
2653 return iox2_config_creation_error_e_CONFIG_FILE_DOES_NOT_EXIST;
2655 return iox2_config_creation_error_e_UNABLE_TO_OPEN_CONFIG_FILE;
2656 }
2657
2659}
2660
2661template <>
2663 char* {
2664 return iox2_config_creation_error_string(iox2::bb::into<iox2_config_creation_error_e>(value));
2665}
2666
2667template <>
2668constexpr auto from<iox2::LogLevel, iox2_log_level_e>(iox2::LogLevel value) noexcept -> iox2_log_level_e {
2669 switch (value) {
2671 return iox2_log_level_e_TRACE;
2673 return iox2_log_level_e_DEBUG;
2675 return iox2_log_level_e_INFO;
2677 return iox2_log_level_e_WARN;
2679 return iox2_log_level_e_ERROR;
2681 return iox2_log_level_e_FATAL;
2682 }
2684}
2685
2686template <>
2687constexpr auto from<int, iox2::LogLevel>(int value) noexcept -> iox2::LogLevel {
2688 const auto variant = static_cast<iox2_log_level_e>(value);
2689 switch (variant) {
2690 case iox2_log_level_e_TRACE:
2691 return iox2::LogLevel::Trace;
2692 case iox2_log_level_e_DEBUG:
2693 return iox2::LogLevel::Debug;
2694 case iox2_log_level_e_INFO:
2695 return iox2::LogLevel::Info;
2696 case iox2_log_level_e_WARN:
2697 return iox2::LogLevel::Warn;
2698 case iox2_log_level_e_ERROR:
2699 return iox2::LogLevel::Error;
2700 case iox2_log_level_e_FATAL:
2701 return iox2::LogLevel::Fatal;
2702 }
2703
2705}
2706
2707template <>
2708constexpr auto from<int, iox2::WaitSetCreateError>(const int value) noexcept -> iox2::WaitSetCreateError {
2709 const auto variant = static_cast<iox2_waitset_create_error_e>(value);
2710 switch (variant) {
2711 case iox2_waitset_create_error_e_INTERNAL_ERROR:
2713 case iox2_waitset_create_error_e_INSUFFICIENT_RESOURCES:
2715 }
2716
2718}
2719
2720template <>
2721constexpr auto
2723 -> iox2_waitset_create_error_e {
2724 switch (value) {
2726 return iox2_waitset_create_error_e_INTERNAL_ERROR;
2728 return iox2_waitset_create_error_e_INSUFFICIENT_RESOURCES;
2729 }
2730
2732}
2733
2734template <>
2735inline auto from<iox2::WaitSetCreateError, const char*>(const iox2::WaitSetCreateError value) noexcept -> const char* {
2736 return iox2_waitset_create_error_string(iox2::bb::into<iox2_waitset_create_error_e>(value));
2737}
2738
2739template <>
2740constexpr auto from<int, iox2::WaitSetRunResult>(const int value) noexcept -> iox2::WaitSetRunResult {
2741 const auto variant = static_cast<iox2_waitset_run_result_e>(value);
2742 switch (variant) {
2743 case iox2_waitset_run_result_e_INTERRUPT:
2745 case iox2_waitset_run_result_e_TERMINATION_REQUEST:
2747 case iox2_waitset_run_result_e_STOP_REQUEST:
2749 case iox2_waitset_run_result_e_ALL_EVENTS_HANDLED:
2751 }
2752
2754}
2755
2756template <>
2758 -> iox2_waitset_run_result_e {
2759 switch (value) {
2761 return iox2_waitset_run_result_e_INTERRUPT;
2763 return iox2_waitset_run_result_e_TERMINATION_REQUEST;
2765 return iox2_waitset_run_result_e_STOP_REQUEST;
2767 return iox2_waitset_run_result_e_ALL_EVENTS_HANDLED;
2768 }
2769
2771}
2772
2773template <>
2775 const auto variant = static_cast<iox2_waitset_attachment_error_e>(value);
2776 switch (variant) {
2777 case iox2_waitset_attachment_error_e_ALREADY_ATTACHED:
2779 case iox2_waitset_attachment_error_e_INSUFFICIENT_CAPACITY:
2781 case iox2_waitset_attachment_error_e_INTERNAL_ERROR:
2783 case iox2_waitset_attachment_error_e_INSUFFICIENT_RESOURCES:
2785 }
2786
2788}
2789
2790template <>
2791constexpr auto
2793 -> iox2_waitset_attachment_error_e {
2794 switch (value) {
2796 return iox2_waitset_attachment_error_e_ALREADY_ATTACHED;
2798 return iox2_waitset_attachment_error_e_INSUFFICIENT_CAPACITY;
2800 return iox2_waitset_attachment_error_e_INTERNAL_ERROR;
2802 return iox2_waitset_attachment_error_e_INSUFFICIENT_RESOURCES;
2803 }
2804
2806}
2807
2808template <>
2810 char* {
2811 return iox2_waitset_attachment_error_string(iox2::bb::into<iox2_waitset_attachment_error_e>(value));
2812}
2813
2814template <>
2815constexpr auto from<int, iox2::WaitSetRunError>(const int value) noexcept -> iox2::WaitSetRunError {
2816 const auto variant = static_cast<iox2_waitset_run_error_e>(value);
2817 switch (variant) {
2818 case iox2_waitset_run_error_e_INSUFFICIENT_PERMISSIONS:
2820 case iox2_waitset_run_error_e_INTERNAL_ERROR:
2822 case iox2_waitset_run_error_e_NO_ATTACHMENTS:
2824 case iox2_waitset_run_error_e_TERMINATION_REQUEST:
2826 case iox2_waitset_run_error_e_INTERRUPT:
2828 }
2829
2831}
2832
2833template <>
2835 -> iox2_waitset_run_error_e {
2836 switch (value) {
2838 return iox2_waitset_run_error_e_INSUFFICIENT_PERMISSIONS;
2840 return iox2_waitset_run_error_e_INTERNAL_ERROR;
2842 return iox2_waitset_run_error_e_NO_ATTACHMENTS;
2844 return iox2_waitset_run_error_e_TERMINATION_REQUEST;
2846 return iox2_waitset_run_error_e_INTERRUPT;
2847 }
2848
2850}
2851
2852template <>
2853inline auto from<iox2::WaitSetRunError, const char*>(const iox2::WaitSetRunError value) noexcept -> const char* {
2854 return iox2_waitset_run_error_string(iox2::bb::into<iox2_waitset_run_error_e>(value));
2855}
2856
2857template <>
2858constexpr auto
2860 -> iox2_signal_handling_mode_e {
2861 switch (value) {
2863 return iox2_signal_handling_mode_e_DISABLED;
2865 return iox2_signal_handling_mode_e_HANDLE_TERMINATION_REQUESTS;
2866 }
2867
2869}
2870
2871template <>
2872constexpr auto from<int, iox2::SignalHandlingMode>(const int value) noexcept -> iox2::SignalHandlingMode {
2873 const auto variant = static_cast<iox2_signal_handling_mode_e>(value);
2874
2875 switch (variant) {
2876 case iox2_signal_handling_mode_e_DISABLED:
2878 case iox2_signal_handling_mode_e_HANDLE_TERMINATION_REQUESTS:
2880 }
2881
2883}
2884
2885template <>
2887 -> iox2_allocation_strategy_e {
2888 switch (value) {
2890 return iox2_allocation_strategy_e_BEST_FIT;
2892 return iox2_allocation_strategy_e_POWER_OF_TWO;
2894 return iox2_allocation_strategy_e_STATIC;
2895 }
2896
2898}
2899
2900template <>
2901constexpr auto from<int, iox2::NodeCleanupFailure>(const int value) noexcept -> iox2::NodeCleanupFailure {
2902 const auto variant = static_cast<iox2_node_cleanup_failure_e>(value);
2903
2904 switch (variant) {
2905 case iox2_node_cleanup_failure_e_INTERRUPT:
2907 case iox2_node_cleanup_failure_e_INTERNAL_ERROR:
2909 case iox2_node_cleanup_failure_e_INSUFFICIENT_PERMISSIONS:
2911 case iox2_node_cleanup_failure_e_VERSION_MISMATCH:
2913 case iox2_node_cleanup_failure_e_ANOTHER_INSTANCE_IS_CLEANING_UP_THE_NODE:
2915 case iox2_node_cleanup_failure_e_RESOURCES_ALREADY_CLEANED_UP:
2917 }
2918
2920}
2921
2922template <>
2923constexpr auto from<int, iox2::AttributeVerificationError>(const int value) noexcept
2925 const auto error = static_cast<iox2_attribute_verification_error_e>(value);
2926 switch (error) {
2927 case iox2_attribute_verification_error_e_NON_EXISTING_KEY:
2929 case iox2_attribute_verification_error_e_INCOMPATIBLE_ATTRIBUTE:
2931 }
2932
2934}
2935
2936template <>
2938 const auto error = static_cast<iox2_attribute_definition_error_e>(value);
2939 switch (error) {
2940 case iox2_attribute_definition_error_e_EXCEEDS_MAX_SUPPORTED_ATTRIBUTES:
2942 }
2943
2945}
2946
2947template <>
2948constexpr auto from<iox2_degradation_cause_e, iox2::DegradationCause>(const iox2_degradation_cause_e value) noexcept
2950 switch (value) {
2951 case iox2_degradation_cause_e_FAILED_TO_ESTABLISH_CONNECTION:
2953 case iox2_degradation_cause_e_CONNECTION_CORRUPTED:
2955 }
2956
2958}
2959
2960template <>
2962 -> iox2_degradation_action_e {
2963 switch (value) {
2965 return iox2_degradation_action_e_IGNORE;
2967 return iox2_degradation_action_e_WARN;
2969 return iox2_degradation_action_e_DEGRADE_AND_FAIL;
2970 }
2971
2973}
2974
2975template <>
2977 -> iox2_backpressure_action_e {
2978 switch (value) {
2980 return iox2_backpressure_action_e_FOLLOW_BACKPRESSUREY_STRATEGY;
2982 return iox2_backpressure_action_e_RETRY;
2984 return iox2_backpressure_action_e_DISCARD_DATA;
2986 return iox2_backpressure_action_e_DISCARD_DATA_AND_FAIL;
2987 }
2988
2990}
2991
2992template <>
2993constexpr auto
2994from<iox2_service_remove_error_e, iox2::ServiceRemoveError>(const iox2_service_remove_error_e value) noexcept
2996 switch (value) {
2997 case iox2_service_remove_error_e_INTERNAL_ERROR:
2999 case iox2_service_remove_error_e_INSUFFICIENT_PERMISSIONS:
3001 case iox2_service_remove_error_e_VERSION_MISMATCH:
3003 case iox2_service_remove_error_e_INTERRUPT:
3005 }
3006
3008}
3009
3010template <>
3011constexpr auto from<int, iox2::UniqueIdGeneratorDetailsError>(const int value) noexcept
3013 const auto error = static_cast<iox2_unique_id_generator_details_error_e>(value);
3014 switch (error) {
3015 case iox2_unique_id_generator_details_error_e_NOT_IMPLEMENTED:
3017 }
3018
3020}
3021
3022} // namespace bb
3023} // namespace iox2
3024
3025#endif
#define IOX2_UNREACHABLE()
panic if control flow reaches this code at runtime
constexpr auto from< int, iox2::ListenerCreateError >(const int value) noexcept -> iox2::ListenerCreateError
auto from< iox2::WaitSetCreateError, const char * >(const iox2::WaitSetCreateError value) noexcept -> const char *
constexpr auto from< iox2::NodeWaitFailure, iox2_node_wait_failure_e >(const iox2::NodeWaitFailure value) noexcept -> iox2_node_wait_failure_e
auto from< iox2::PublishSubscribeCreateError, const char * >(const iox2::PublishSubscribeCreateError value) noexcept -> const char *
auto from< iox2::RequestResponseCreateError, const char * >(const iox2::RequestResponseCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::ConnectionFailure >(const int value) noexcept -> iox2::ConnectionFailure
auto from< iox2::NodeWaitFailure, const char * >(const iox2::NodeWaitFailure value) noexcept -> const char *
constexpr auto from< int, iox2::RequestResponseOpenOrCreateError >(const int value) noexcept -> iox2::RequestResponseOpenOrCreateError
constexpr auto from< int, iox2::WaitSetAttachmentError >(const int value) noexcept -> iox2::WaitSetAttachmentError
constexpr auto from< iox2::NodeCreationFailure, iox2_node_creation_failure_e >(const iox2::NodeCreationFailure value) noexcept -> iox2_node_creation_failure_e
auto from< iox2::PublishSubscribeOpenOrCreateError, const char * >(const iox2::PublishSubscribeOpenOrCreateError value) noexcept -> const char *
constexpr auto from< iox2_service_remove_error_e, iox2::ServiceRemoveError >(const iox2_service_remove_error_e value) noexcept -> iox2::ServiceRemoveError
constexpr auto from< iox2::MessagingPattern, iox2_messaging_pattern_e >(const iox2::MessagingPattern value) noexcept -> iox2_messaging_pattern_e
constexpr auto from< int, iox2::NodeCreationFailure >(const int value) noexcept -> iox2::NodeCreationFailure
auto from< iox2::PublishSubscribeOpenError, const char * >(const iox2::PublishSubscribeOpenError value) noexcept -> const char *
auto from< iox2::ConnectionFailure, const char * >(const iox2::ConnectionFailure value) noexcept -> const char *
constexpr auto from< iox2::WriterCreateError, iox2_writer_create_error_e >(const iox2::WriterCreateError value) noexcept -> iox2_writer_create_error_e
constexpr auto from< iox2::WaitSetRunError, iox2_waitset_run_error_e >(const iox2::WaitSetRunError value) noexcept -> iox2_waitset_run_error_e
constexpr auto from< int, iox2::SubscriberCreateError >(const int value) noexcept -> iox2::SubscriberCreateError
constexpr auto from< iox2::CallbackProgression, iox2_callback_progression_e >(const iox2::CallbackProgression value) noexcept -> iox2_callback_progression_e
auto from< iox2::BlackboardCreateError, const char * >(const iox2::BlackboardCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::WaitSetRunError >(const int value) noexcept -> iox2::WaitSetRunError
constexpr auto from< iox2::PublishSubscribeOpenOrCreateError, iox2_pub_sub_open_or_create_error_e >(const iox2::PublishSubscribeOpenOrCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e
constexpr auto from< int, iox2::WaitSetCreateError >(const int value) noexcept -> iox2::WaitSetCreateError
auto from< iox2::EventCreateError, const char * >(const iox2::EventCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::ClientCreateError >(const int value) noexcept -> iox2::ClientCreateError
constexpr auto from< iox2::AllocationStrategy, int >(const iox2::AllocationStrategy value) noexcept -> int
auto from< iox2::ReceiveError, const char * >(const iox2::ReceiveError value) noexcept -> const char *
constexpr auto from< int, iox2::EntryHandleMutError >(const int value) noexcept -> iox2::EntryHandleMutError
constexpr auto from< iox2::EntryHandleMutError, iox2_entry_handle_mut_error_e >(const iox2::EntryHandleMutError value) noexcept -> iox2_entry_handle_mut_error_e
auto from< iox2::EntryHandleMutError, const char * >(const iox2::EntryHandleMutError value) noexcept -> const char *
constexpr auto from< iox2::RequestResponseCreateError, iox2_request_response_open_or_create_error_e >(const iox2::RequestResponseCreateError value) noexcept -> iox2_request_response_open_or_create_error_e
constexpr auto from< iox2::ConfigCreationError, iox2_config_creation_error_e >(const iox2::ConfigCreationError value) noexcept -> iox2_config_creation_error_e
auto from< iox2::WriterCreateError, const char * >(const iox2::WriterCreateError value) noexcept -> const char *
auto from< iox2::RequestSendError, const char * >(const iox2::RequestSendError value) noexcept -> const char *
constexpr auto from< int, iox2::AttributeDefinitionError >(const int value) noexcept -> iox2::AttributeDefinitionError
auto from< iox2::ListenerWaitError, const char * >(const iox2::ListenerWaitError value) noexcept -> const char *
constexpr auto from< iox2::BackpressureStrategy, int >(const iox2::BackpressureStrategy value) noexcept -> int
auto from< iox2::ServiceDetailsError, const char * >(const iox2::ServiceDetailsError value) noexcept -> const char *
constexpr auto from< iox2::RequestResponseOpenOrCreateError, iox2_request_response_open_or_create_error_e >(const iox2::RequestResponseOpenOrCreateError value) noexcept -> iox2_request_response_open_or_create_error_e
constexpr auto from< iox2::BackpressureAction, iox2_backpressure_action_e >(const iox2::BackpressureAction value) noexcept -> iox2_backpressure_action_e
auto from< iox2::ListenerCreateError, const char * >(const iox2::ListenerCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::NodeWaitFailure >(const int value) noexcept -> iox2::NodeWaitFailure
constexpr auto from< int, iox2::EventOpenOrCreateError >(const int value) noexcept -> iox2::EventOpenOrCreateError
auto from< iox2::EventOpenError, const char * >(const iox2::EventOpenError value) noexcept -> const char *
constexpr auto from< iox2::EventCreateError, iox2_event_open_or_create_error_e >(const iox2::EventCreateError value) noexcept -> iox2_event_open_or_create_error_e
constexpr auto from< iox2::PublisherCreateError, iox2_publisher_create_error_e >(const iox2::PublisherCreateError value) noexcept -> iox2_publisher_create_error_e
constexpr auto from< int, iox2::ServiceDetailsError >(const int value) noexcept -> iox2::ServiceDetailsError
constexpr auto from< iox2::WaitSetCreateError, iox2_waitset_create_error_e >(const iox2::WaitSetCreateError value) noexcept -> iox2_waitset_create_error_e
constexpr auto from< iox2::ServiceType, iox2_service_type_e >(const iox2::ServiceType value) noexcept -> iox2_service_type_e
constexpr auto from< iox2::ServerCreateError, iox2_server_create_error_e >(const iox2::ServerCreateError value) noexcept -> iox2_server_create_error_e
constexpr auto from< int, iox2::EventCreateError >(const int value) noexcept -> iox2::EventCreateError
constexpr auto from< int, iox2::UniqueIdGeneratorDetailsError >(const int value) noexcept -> iox2::UniqueIdGeneratorDetailsError
constexpr auto from< iox2::EventOpenOrCreateError, iox2_event_open_or_create_error_e >(const iox2::EventOpenOrCreateError value) noexcept -> iox2_event_open_or_create_error_e
auto from< iox2::BlackboardOpenError, const char * >(const iox2::BlackboardOpenError value) noexcept -> const char *
constexpr auto from< int, iox2::BlackboardCreateError >(const int value) noexcept -> iox2::BlackboardCreateError
auto from< iox2::RequestResponseOpenOrCreateError, const char * >(const iox2::RequestResponseOpenOrCreateError value) noexcept -> const char *
auto from< iox2::ServiceListError, const char * >(const iox2::ServiceListError value) noexcept -> const char *
constexpr auto from< iox2::ReceiveError, iox2_receive_error_e >(const iox2::ReceiveError value) noexcept -> iox2_receive_error_e
constexpr auto from< int, iox2::RequestResponseOpenError >(const int value) noexcept -> iox2::RequestResponseOpenError
constexpr auto from< iox2::WaitSetRunResult, iox2_waitset_run_result_e >(const iox2::WaitSetRunResult value) noexcept -> iox2_waitset_run_result_e
constexpr auto from< iox2::ServiceDetailsError, iox2_service_details_error_e >(const iox2::ServiceDetailsError value) noexcept -> iox2_service_details_error_e
constexpr auto from< iox2::RequestResponseOpenError, iox2_request_response_open_or_create_error_e >(const iox2::RequestResponseOpenError value) noexcept -> iox2_request_response_open_or_create_error_e
constexpr auto from< iox2::BlackboardCreateError, iox2_blackboard_create_error_e >(const iox2::BlackboardCreateError value) noexcept -> iox2_blackboard_create_error_e
constexpr auto from< int, iox2::NodeCleanupFailure >(const int value) noexcept -> iox2::NodeCleanupFailure
constexpr auto from< int, iox2::AllocationStrategy >(const int value) noexcept -> iox2::AllocationStrategy
constexpr auto from< iox2::SendError, iox2_send_error_e >(const iox2::SendError value) noexcept -> iox2_send_error_e
constexpr auto from< iox2::ClientCreateError, iox2_client_create_error_e >(const iox2::ClientCreateError value) noexcept -> iox2_client_create_error_e
SemanticStringError
Defines errors which can occur when modifying or creating a SemanticString.
constexpr auto from< iox2::ListenerCreateError, iox2_listener_create_error_e >(const iox2::ListenerCreateError value) noexcept -> iox2_listener_create_error_e
auto from< iox2::RequestResponseOpenError, const char * >(const iox2::RequestResponseOpenError value) noexcept -> const char *
constexpr auto from< int, iox2::MessagingPattern >(const int value) noexcept -> iox2::MessagingPattern
constexpr auto from< int, iox2::EntryHandleError >(const int value) noexcept -> iox2::EntryHandleError
constexpr auto from< int, iox2::RequestSendError >(const int value) noexcept -> iox2::RequestSendError
auto from< iox2::ServerCreateError, const char * >(const iox2::ServerCreateError value) noexcept -> const char *
constexpr auto from< iox2::BlackboardOpenError, iox2_blackboard_open_error_e >(const iox2::BlackboardOpenError value) noexcept -> iox2_blackboard_open_error_e
constexpr auto from< iox2::LogLevel, iox2_log_level_e >(iox2::LogLevel value) noexcept -> iox2_log_level_e
constexpr auto from< int, iox2::PublishSubscribeOpenError >(const int value) noexcept -> iox2::PublishSubscribeOpenError
constexpr auto from< int, iox2::ServiceListError >(const int value) noexcept -> iox2::ServiceListError
constexpr auto from< int, iox2::LoanError >(const int value) noexcept -> iox2::LoanError
constexpr auto from< int, iox2::WriterCreateError >(const int value) noexcept -> iox2::WriterCreateError
constexpr auto from< iox2::DegradationAction, iox2_degradation_action_e >(const iox2::DegradationAction value) noexcept -> iox2_degradation_action_e
constexpr auto from< int, iox2::SendError >(const int value) noexcept -> iox2::SendError
auto from< iox2::NodeCreationFailure, const char * >(const iox2::NodeCreationFailure value) noexcept -> const char *
auto from< iox2::WaitSetRunError, const char * >(const iox2::WaitSetRunError value) noexcept -> const char *
constexpr auto from< int, iox2::WaitSetRunResult >(const int value) noexcept -> iox2::WaitSetRunResult
constexpr auto from< int, iox2::NodeListFailure >(const int value) noexcept -> iox2::NodeListFailure
constexpr auto from< int, iox2::CallbackProgression >(const int value) noexcept -> iox2::CallbackProgression
constexpr auto from< int, iox2::LogLevel >(int value) noexcept -> iox2::LogLevel
auto from< iox2::WaitSetAttachmentError, const char * >(const iox2::WaitSetAttachmentError value) noexcept -> const char *
constexpr auto from< int, iox2::NotifierNotifyError >(const int value) noexcept -> iox2::NotifierNotifyError
constexpr auto from< int, iox2::ReaderCreateError >(const int value) noexcept -> iox2::ReaderCreateError
auto from< iox2::LoanError, const char * >(const iox2::LoanError value) noexcept -> const char *
auto from< iox2::ReaderCreateError, const char * >(const iox2::ReaderCreateError value) noexcept -> const char *
auto from< iox2::EventOpenOrCreateError, const char * >(const iox2::EventOpenOrCreateError value) noexcept -> const char *
auto from< iox2::NodeListFailure, const char * >(const iox2::NodeListFailure value) noexcept -> const char *
constexpr auto from< iox2::ListenerWaitError, iox2_listener_wait_error_e >(const iox2::ListenerWaitError value) noexcept -> iox2_listener_wait_error_e
constexpr auto from< int, iox2::PublishSubscribeOpenOrCreateError >(const int value) noexcept -> iox2::PublishSubscribeOpenOrCreateError
constexpr auto from< int, iox2::ServerCreateError >(const int value) noexcept -> iox2::ServerCreateError
constexpr auto from< iox2::NodeListFailure, iox2_node_list_failure_e >(const iox2::NodeListFailure value) noexcept -> iox2_node_list_failure_e
constexpr auto from< int, iox2::ReceiveError >(const int value) noexcept -> iox2::ReceiveError
constexpr auto from< iox2::NotifierCreateError, iox2_notifier_create_error_e >(const iox2::NotifierCreateError value) noexcept -> iox2_notifier_create_error_e
constexpr auto from< iox2::EventOpenError, iox2_event_open_or_create_error_e >(const iox2::EventOpenError value) noexcept -> iox2_event_open_or_create_error_e
auto from< iox2::NotifierNotifyError, const char * >(const iox2::NotifierNotifyError value) noexcept -> const char *
constexpr auto from< int, iox2::NotifierCreateError >(const int value) noexcept -> iox2::NotifierCreateError
auto from< iox2::NotifierCreateError, const char * >(const iox2::NotifierCreateError value) noexcept -> const char *
constexpr auto from< iox2::EntryHandleError, iox2_entry_handle_error_e >(const iox2::EntryHandleError value) noexcept -> iox2_entry_handle_error_e
constexpr auto from< int, iox2::EventOpenError >(const int value) noexcept -> iox2::EventOpenError
auto from< iox2::SendError, const char * >(const iox2::SendError value) noexcept -> const char *
auto from< iox2::bb::SemanticStringError, const char * >(const iox2::bb::SemanticStringError value) noexcept -> const char *
constexpr auto from< int, iox2::AttributeVerificationError >(const int value) noexcept -> iox2::AttributeVerificationError
constexpr auto from< iox2_degradation_cause_e, iox2::DegradationCause >(const iox2_degradation_cause_e value) noexcept -> iox2::DegradationCause
constexpr auto from< int, iox2::SignalHandlingMode >(const int value) noexcept -> iox2::SignalHandlingMode
constexpr auto from< int, iox2::ServiceType >(const int value) noexcept -> iox2::ServiceType
constexpr auto from< int, iox2::BackpressureStrategy >(const int value) noexcept -> iox2::BackpressureStrategy
constexpr auto from< int, iox2::RequestResponseCreateError >(const int value) noexcept -> iox2::RequestResponseCreateError
auto from< iox2::ConfigCreationError, const char * >(const iox2::ConfigCreationError value) noexcept -> const char *
constexpr auto from< int, iox2::BlackboardOpenError >(const int value) noexcept -> iox2::BlackboardOpenError
auto from< iox2::SubscriberCreateError, const char * >(const iox2::SubscriberCreateError value) noexcept -> const char *
auto from< iox2::ClientCreateError, const char * >(const iox2::ClientCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::PublisherCreateError >(const int value) noexcept -> iox2::PublisherCreateError
constexpr auto from< iox2::RequestSendError, iox2_request_send_error_e >(const iox2::RequestSendError value) noexcept -> iox2_request_send_error_e
constexpr auto from< int, iox2::ListenerWaitError >(const int value) noexcept -> iox2::ListenerWaitError
constexpr auto from< iox2::AllocationStrategy, iox2_allocation_strategy_e >(const iox2::AllocationStrategy value) noexcept -> iox2_allocation_strategy_e
auto from< iox2::PublisherCreateError, const char * >(const iox2::PublisherCreateError value) noexcept -> const char *
constexpr auto from< iox2::SubscriberCreateError, iox2_subscriber_create_error_e >(const iox2::SubscriberCreateError value) noexcept -> iox2_subscriber_create_error_e
constexpr auto from< iox2::ServiceListError, iox2_service_list_error_e >(const iox2::ServiceListError value) noexcept -> iox2_service_list_error_e
constexpr auto from< int, iox2::ConfigCreationError >(const int value) noexcept -> iox2::ConfigCreationError
constexpr auto from< int, iox2::PublishSubscribeCreateError >(const int value) noexcept -> iox2::PublishSubscribeCreateError
constexpr auto from< iox2::WaitSetAttachmentError, iox2_waitset_attachment_error_e >(const iox2::WaitSetAttachmentError value) noexcept -> iox2_waitset_attachment_error_e
constexpr auto from< iox2::ReaderCreateError, iox2_reader_create_error_e >(const iox2::ReaderCreateError value) noexcept -> iox2_reader_create_error_e
constexpr auto from< iox2::LoanError, iox2_loan_error_e >(const iox2::LoanError value) noexcept -> iox2_loan_error_e
constexpr auto from< iox2::PublishSubscribeCreateError, iox2_pub_sub_open_or_create_error_e >(const iox2::PublishSubscribeCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e
constexpr auto from< iox2::ConnectionFailure, iox2_connection_failure_e >(const iox2::ConnectionFailure value) noexcept -> iox2_connection_failure_e
constexpr auto from< int, iox2::TypeVariant >(const int value) noexcept -> iox2::TypeVariant
auto from< iox2::EntryHandleError, const char * >(const iox2::EntryHandleError value) noexcept -> const char *
constexpr auto from< iox2::NotifierNotifyError, iox2_notifier_notify_error_e >(const iox2::NotifierNotifyError value) noexcept -> iox2_notifier_notify_error_e
constexpr auto from< int, iox2::bb::SemanticStringError >(const int value) noexcept -> iox2::bb::SemanticStringError
constexpr auto from< iox2::PublishSubscribeOpenError, iox2_pub_sub_open_or_create_error_e >(const iox2::PublishSubscribeOpenError value) noexcept -> iox2_pub_sub_open_or_create_error_e
constexpr auto from< iox2::bb::SemanticStringError, iox2_semantic_string_error_e >(const iox2::bb::SemanticStringError value) noexcept -> iox2_semantic_string_error_e
constexpr auto from< iox2::SignalHandlingMode, iox2_signal_handling_mode_e >(const iox2::SignalHandlingMode value) noexcept -> iox2_signal_handling_mode_e
WaitSetRunResult
States why the [WaitSet::run()] method returned.
@ StopRequest
The users callback returned [CallbackProgression::Stop].
@ Interrupt
An interrupt signal SIGINT was received.
@ AllEventsHandled
All events were handled.
@ TerminationRequest
A termination signal SIGTERM was received.
NotifierNotifyError
Defines the failures that can occur while a [Notifier::notify()] call.
@ UnableToGenerateUniquePublisherId
The [UniquePublisherId] could not be generated.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ DiscardData
Do not deliver the data to receiver with a full buffer.
SendError
Failure that can be emitted when data is sent.
@ ConnectionError
A failure occurred while establishing a connection to the ports counterpart port.
@ LoanErrorOutOfMemory
The data segment does not have any more memory left.
@ ConnectionBrokenSinceSenderNoLongerExists
Send was called but the corresponding port went already out of scope.
@ LoanErrorInternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ InternalError
An internal mechanisms failed and the data could not be delivered to all receivers.
@ UnableToDeliver
The sample could not be delivered.
@ ConnectionCorrupted
A connection between two ports has been corrupted.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ UnableToGenerateUniqueSubscriberId
The [UniqueSubscriberId] could not be generated.
@ HistoryRequestExceedsBufferSizeOfSubscriber
When the [Subscriber] requests a larger history than its buffer can hold.
EntryHandleError
Defines a failure that can occur when a [EntryHandle] is created with [Reader::entry()].
@ EntryDoesNotExist
The entry with the given key and value type does not exist.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ DoesNotSupportRequestedAmountOfClients
The [Service] has a lower maximum number of clients than requested.
@ ServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or inaccessible.
@ Interrupt
An interrupt signal was raised.
@ DoesNotSupportRequestedAmountOfBorrowedResponsesPerPendingResponse
The [Service] has a lower maximum number of [Response] borrows than requested.
@ DoesNotSupportRequestedResponseBufferSize
The [Service] has a lower maximum response buffer size than requested.
@ IncompatibleOverflowBehaviorForRequests
The [Service] required overflow behavior for requests is not compatible.
@ VersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ IncompatibleAttributes
The [AttributeVerifier] required attributes that the [Service] does not satisfy.
@ IncompatibleOverflowBehaviorForResponses
The [Service] required overflow behavior for responses is not compatible.
@ InsufficientPermissions
The process has not enough permissions to open the [Service].
@ DoesNotSupportRequestedAmountOfServers
The [Service] has a lower maximum number of servers than requested.
@ IncompatibleBehaviorForFireAndForgetRequests
The [Service] does not support the required behavior for fire and forget requests.
@ IncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ DoesNotSupportRequestedAmountOfNodes
The [Service] has a lower maximum number of nodes than requested.
@ DoesNotExist
Service could not be openen since it does not exist.
@ ExceedsMaxNumberOfNodes
The maximum number of [Node]s have already opened the [Service].
@ Disabled
No signal handler will be registered.
BlackboardOpenError
Errors that can occur when an existing [MessagingPattern::Blackboard] [Service] shall be opened.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ ServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or inaccessible.
@ Interrupt
An interrupt signal was raised.
@ DoesNotSupportRequestedAmountOfReaders
The [Service] supports less [Reader](crate::port::reader::Reader)s than requested.
@ VersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ IncompatibleAttributes
The [AttributeVerifier] required attributes that the [Service] does not satisfy.
@ InsufficientPermissions
The process has not enough permissions to open the [Service].
@ IncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ IncompatibleKeys
The [Service] has the wrong key type.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ DoesNotSupportRequestedAmountOfNodes
The [Service] supports less [Node](crate::node::Node)s than requested.
@ DoesNotExist
The [Service] could not be opened since it does not exist.
@ ExceedsMaxNumberOfNodes
The maximum number of [Node](crate::node::Node)s have already opened the [Service].
@ ServiceInInconsistentState
Required [Service] resources are not available or corrupted.
@ Interrupt
An interrupt signal was raised.
@ VersionMismatch
The [Service] was created with a different iceoryx2 version.
@ InsufficientPermissions
The process does not have the permissions to acquire the service details.
@ FailedToReadStaticServiceInfo
The underlying static [Service] information could not be read.
@ FailedToAcquireNodeState
The [NodeState] could not be acquired.
@ FailedToOpenStaticServiceInfo
The underlying static [Service] information could not be opened.
@ CreateUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ OpenIncompatibleTypes
The [Service] has the wrong payload type.
@ OpenIncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ CreateInterrupt
An interrupt signal was raised.
@ OpenInterrupt
An interrupt signal was raised.
@ CreateIsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ OpenIncompatibleOverflowBehavior
The [Service] required overflow behavior is not compatible.
@ CreateAlreadyExists
The [Service] already exists.
@ OpenInsufficientPermissions
The process has not enough permissions to open the [Service].
@ OpenUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ OpenDoesNotSupportRequestedMinBufferSize
The [Service] has a lower minimum buffer size than requested.
@ CreateInsufficientPermissions
The process has insufficient permissions to create the [Service].
@ OpenVersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ CreateServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ CreateUnableToGenerateUniqueServiceId
The unique service id could not be generated.
@ OpenDoesNotExist
Service could not be openen since it does not exist.
@ OpenDoesNotSupportRequestedMinHistorySize
The [Service] has a lower minimum history size than requested.
WriterCreateError
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ UnableToGenerateUniqueWriterId
The [UniqueWriterId] could not be generated.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ UnableToGenerateUniqueListenerId
The [UniqueListenerId] could not be generated.
ServerCreateError
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ UnableToGenerateUniqueServerId
The [UniqueServerId] could not be generated.
@ UnableToCreateDataSegment
The datasegment in which the payload of the [Server] is stored, could not be created.
@ CreateUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ OpenIncompatibleDeadline
The [Service]s deadline settings are not equal the the user given requirements.
@ OpenIncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ CreateInterrupt
An interrupt signal was raised.
@ OpenInterrupt
An interrupt signal was raised.
@ CreateIsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ CreateAlreadyExists
The [Service] already exists.
@ OpenInsufficientPermissions
The process has not enough permissions to open the [Service].
@ OpenUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ CreateInsufficientPermissions
The process has insufficient permissions to create the [Service].
@ OpenVersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ CreateServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ CreateUnableToGenerateUniqueServiceId
The unique service id could not be generated.
@ OpenDoesNotExist
The [Service] does not exist.
@ Static
The memory is not increased. This may lead to an out-of-memory error when allocating.
PublishSubscribeCreateError
Errors that can occur when a new [MessagingPattern::PublishSubscribe] [Service] shall be created.
@ UnableToGenerateUniqueServiceId
The unique service id could not be generated.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ Interrupt
An interrupt signal was raised.
@ IsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ InsufficientPermissions
The process has insufficient permissions to create the [Service].
@ AlreadyExists
The [Service] already exists.
@ ServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ OutOfMemory
The data segment does not have any more memory left.
@ Warn
Print out a warning as soon as the degradation is detected.
@ DegradeAndFail
Returns a failure in the function the degradation was detected.
@ Ignore
Ignore the degradation completely.
@ ContractViolation
The notification payload did not satisfy the underlying contract.
@ InterruptSignal
An interrupt signal was raised while waiting for a notification.
ClientCreateError
@ UnableToGenerateUniqueClientId
The [UniqueClientId] could not be generated.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ UnableToCreateDataSegment
The datasegment in which the payload of the [Client] is stored, could not be created.
@ MaxActiveRequestsExceedsMaxSupportedActiveRequestsOfService
BackpressureAction
Defines the action that shall be take when data cannot be delivered.
@ Retry
Retry to send and invoke the handler again, if sending does not succeed.
@ FollowBackpressureyStrategy
Use an action which is derived from the BackpressureStrategy
EventCreateError
Failures that can occur when a new [MessagingPattern::Event] [Service] shall be created.
@ UnableToGenerateUniqueServiceId
The unique service id could not be generated.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ Interrupt
An interrupt signal was raised.
@ IsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ InsufficientPermissions
The process has insufficient permissions to create the [Service].
@ AlreadyExists
The [Service] already exists.
@ ServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ FailedToEstablishConnection
Occurs when a receiver is unable to connect to a corresponding sender.
@ UnableToMapSendersDataSegment
Failures when mapping the corresponding data segment.
@ FailedToEstablishConnection
Failures when creating the connection.
@ UnableToMapSendersDataSegment
Failures when mapping the corresponding data segment.
WaitSetRunError
Defines the failures that can occur when calling [WaitSet::run()].
@ NoAttachments
Waiting on an empty [WaitSet] would lead to a deadlock therefore it causes an error.
@ Interrupt
An interrupt signal SIGINT was received.
@ InsufficientPermissions
The process has not sufficient permissions to wait on the attachments.
@ TerminationRequest
A termination signal SIGTERM was received.
@ InternalError
An internal error has occurred.
AttributeDefinitionError
Failures that can occur when defining [Attribute]s with [AttributeSpecifier::define()].
@ ExceedsMaxSupportedAttributes
The new [Attribute] would exceed the maximum supported number of [Attribute]s.
@ Local
Optimized for inter-thread communication does not support inter-process communication.
@ Ipc
Optimized for inter-process communication.
EventOpenError
Failures that can occur when an existing [MessagingPattern::Event] [Service] shall be opened.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ Interrupt
An interrupt signal was raised.
@ VersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ InsufficientPermissions
The process has not enough permissions to open the [Service].
@ DoesNotSupportRequestedAmountOfNotifiers
@ IncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ DoesNotSupportRequestedAmountOfListeners
@ DoesNotExist
The [Service] does not exist.
@ IncompatibleDeadline
The [Service]s deadline settings are not equal the the user given requirements.
@ UnableToGenerateUniqueNotifierId
The [UniqueNotifierId] could not be generated.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
WaitSetCreateError
Defines the failures that can occur when calling [WaitSetBuilder::create()].
@ InsufficientResources
Insufficient resources to create a [WaitSet].
@ InternalError
An internal error has occurred.
ReaderCreateError
@ UnableToGenerateUniqueReaderId
The [UniqueReaderId] could not be generated.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
RequestResponseCreateError
Errors that can occur when a new [MessagingPattern::RequestResponse] [Service] shall be created.
@ UnableToGenerateUniqueServiceId
The unique service id could not be generated.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ ServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or inaccessible.
@ Interrupt
An interrupt signal was raised.
@ IsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ InsufficientPermissions
The process has insufficient permissions to create the [Service].
@ AlreadyExists
The [Service] already exists.
@ ServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ Interrupt
The process received an interrupt signal while cleaning up all stale resources of a dead [Node].
@ VersionMismatch
Trying to cleanup resources from a [Node] node which was using a different iceoryx2 version.
@ ResourcesAlreadyCleanedUp
Another instance has successfully cleaned up all resources.
@ InternalError
Errors that indicate either an implementation issue or a wrongly configured system.
@ AnotherInstanceIsCleaningUpTheNode
Another instance has acquired the ownership of all resources and is currently cleaning up.
@ CreateUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ OpenDoesNotSupportRequestedAmountOfServers
The [Service] has a lower maximum number of servers than requested.
@ OpenIncompatibleOverflowBehaviorForRequests
The [Service] required overflow behavior for requests is not compatible.
@ OpenIncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ OpenIncompatibleOverflowBehaviorForResponses
The [Service] required overflow behavior for responses is not compatible.
@ OpenServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or inaccessible.
@ CreateInterrupt
An interrupt signal was raised.
@ OpenInterrupt
An interrupt signal was raised.
@ CreateIsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ OpenDoesNotSupportRequestedAmountOfNodes
The [Service] has a lower maximum number of nodes than requested.
@ CreateAlreadyExists
The [Service] already exists.
@ OpenDoesNotSupportRequestedAmountOfBorrowedResponsesPerPendingResponse
The [Service] has a lower maximum number of [Response] borrows than requested.
@ OpenIncompatibleBehaviorForFireAndForgetRequests
The [Service] does not support the required behavior for fire and forget requests.
@ OpenInsufficientPermissions
The process has not enough permissions to open the [Service].
@ OpenDoesNotSupportRequestedAmountOfClients
The [Service] has a lower maximum number of clients than requested.
@ OpenUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ CreateServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or inaccessible.
@ CreateInsufficientPermissions
The process has insufficient permissions to create the [Service].
@ CreateInternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ OpenVersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ OpenIncompatibleAttributes
The [AttributeVerifier] required attributes that the [Service] does not satisfy.
@ CreateServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ OpenInternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ OpenExceedsMaxNumberOfNodes
The maximum number of [Node]s have already opened the [Service].
@ CreateUnableToGenerateUniqueServiceId
The unique service id could not be generated.
@ OpenDoesNotSupportRequestedResponseBufferSize
The [Service] has a lower maximum response buffer size than requested.
@ OpenDoesNotExist
Service could not be openen since it does not exist.
BlackboardCreateError
Errors that can occur when a new [MessagingPattern::Blackboard] [Service] shall be created.
@ NoEntriesProvided
No key-value pairs have been provided. At least one is required.
@ UnableToGenerateUniqueServiceId
The unique service id could not be generated.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ ServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or inaccessible.
@ Interrupt
An interrupt signal was raised.
@ IsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ InsufficientPermissions
The process has insufficient permissions to create the [Service].
@ AlreadyExists
The [Service] already exists.
@ ServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
NodeCreationFailure
All failures that can occur in [NodeBuilder::create()].
@ SystemCorrupted
Indicates that another "instance" on the system removed the resource required by the [Node].
@ UnableToGenerateUniqueNodeId
The [UniqueNodeId] could not be generated.
@ InsufficientPermissions
The process has insufficient permissions.
@ InsufficientPermissions
The process has insufficient permissions to list all [Service]s.
AttributeVerificationError
Failures that can occur when the [AttributeVerifier] fails the verification.
@ IncompatibleAttribute
A key defined via [AttributeVerifier::require()] has the wrong value.
@ NonExistingKey
A key defined via [AttributeVerifier::require_key()] is missing.
@ FixedSize
A fixed size type like [u64].
@ Dynamic
A dynamic sized type like a slice.
PublishSubscribeOpenError
Errors that can occur when an existing [MessagingPattern::PublishSubscribe] [Service] shall be opened...
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ DoesNotSupportRequestedMinBufferSize
The [Service] has a lower minimum buffer size than requested.
@ Interrupt
An interrupt signal was raised.
@ VersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ DoesNotSupportRequestedMinHistorySize
The [Service] has a lower minimum history size than requested.
@ InsufficientPermissions
The process has not enough permissions to open the [Service].
@ IncompatibleTypes
The [Service] has the wrong payload type.
@ IncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ DoesNotExist
Service could not be openen since it does not exist.
@ IncompatibleOverflowBehavior
The [Service] required overflow behavior is not compatible.
NodeListFailure
All failures that can occur in [Node::list()].
@ Interrupt
A SIGINT signal was received.
@ InsufficientPermissions
The process has insufficient permissions.
NodeWaitFailure
Defines all possible errors that can occur during [Node::wait()].
@ Interrupt
SIGINT signal was received.
@ TerminationRequest
SIGTERM signal was received.
ServiceRemoveError
Error that can be reported when removing a [Node](crate::node::Node).
@ Interrupt
An interrupt signal was received.
@ InsufficientPermissions
The process does not have the permissions to remove the service.
@ InternalError
Errors that indicate either an implementation issue or a wrongly configured system.
WaitSetAttachmentError
@ InsufficientResources
Insufficient resources to add another attachment to the [WaitSet].
@ InsufficientCapacity
The [WaitSet]s capacity is exceeded.
@ AlreadyAttached
The attachment is already attached.
@ InternalError
An internal error has occurred.
DegradationCause
Defines the cause of a degradation and is a parameter of the [DegradationHandler].
@ ConnectionCorrupted
Connection is corrupted.
@ FailedToEstablishConnection
Connection could not be established.
RequestSendError
Failure that can be emitted when a [RequestMut] is sent.
@ ConnectionError
A failure occurred while establishing a connection to the ports counterpart port.
@ LoanErrorOutOfMemory
The data segment does not have any more memory left.
@ ConnectionBrokenSinceSenderNoLongerExists
Send was called but the corresponding port went already out of scope.
@ LoanErrorInternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ InternalError
An internal mechanisms failed and the data could not be delivered to all receivers.
@ UnableToDeliver
The request could not be delivered.
@ ConnectionCorrupted
A connection between two ports has been corrupted.
ConfigCreationError
Failures occurring while creating a new [Config] object with [Config::from_file()].
@ ConfigFileDoesNotExist
The provided config file does not exist.
@ InsufficientPermissions
Insufficient permissions to open the config file.
@ FailedToReadConfigFileContents
The config file could not be read.
@ UnableToDeserializeContents
Parts of the config file could not be deserialized. Indicates some kind of syntax error.
@ UnableToOpenConfigFile
The config file could not be opened due to an internal error.
EntryHandleMutError
Defines a failure that can occur when a [EntryHandleMut] is created with [Writer::entry()].
@ EntryDoesNotExist
The entry with the given key and value type does not exist.
@ HandleAlreadyExists
The [EntryHandleMut] already exists.