Fast DDS  Version 3.6.1.0
Fast DDS
common.hpp
1 // Copyright 2023 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
20 #ifndef FASTDDS_DDS_XTYPES__COMMON_HPP
21 #define FASTDDS_DDS_XTYPES__COMMON_HPP
22 
23 #include <cstdint>
24 
25 namespace eprosima {
26 namespace fastdds {
27 namespace dds {
28 namespace xtypes {
29 
30 enum class ExtensibilityKind : uint32_t
31 {
32  FINAL,
33  APPENDABLE,
34  MUTABLE
35 };
36 
37 enum class TryConstructFailAction : uint32_t
38 {
39  DISCARD,
41  TRIM
42 };
43 
47 enum class PlacementKind : uint32_t
48 {
49  BEGIN_FILE,
54  END_FILE
55 };
56 
60 constexpr const char* begin_declaration_file_str = "begin-declaration-file";
61 constexpr const char* before_declaration_str = "before-declaration";
62 constexpr const char* begin_declaration_str = "begin-declaration";
63 constexpr const char* end_declaration_str = "end-declaration";
64 constexpr const char* after_declaration_str = "after-declaration";
65 constexpr const char* end_declaration_file_str = "end-declaration-file";
66 
67 // Primitive type names
68 constexpr const char* boolean_type_name = "_bool";
69 constexpr const char* byte_type_name = "_byte";
70 constexpr const char* int16_type_name = "_int16_t";
71 constexpr const char* int32_type_name = "_int32_t";
72 constexpr const char* int64_type_name = "_int64_t";
73 constexpr const char* uint16_type_name = "_uint16_t";
74 constexpr const char* uint32_type_name = "_uint32_t";
75 constexpr const char* uint64_type_name = "_uint64_t";
76 constexpr const char* float32_type_name = "_float";
77 constexpr const char* float64_type_name = "_double";
78 constexpr const char* float128_type_name = "_longdouble";
79 constexpr const char* int8_type_name = "_int8_t";
80 constexpr const char* uint8_type_name = "_uint8_t";
81 constexpr const char* char8_type_name = "_char";
82 constexpr const char* char16_type_name = "_wchar_t";
83 
84 // Builtin annotation names
85 constexpr const char* id_annotation_name = "id";
86 constexpr const char* autoid_annotation_name = "autoid";
87 constexpr const char* optional_annotation_name = "optional";
88 constexpr const char* position_annotation_name = "position";
89 constexpr const char* value_annotation_name = "value"; // Pending implementation
90 constexpr const char* extensibility_annotation_name = "extensibility";
91 constexpr const char* final_annotation_name = "final";
92 constexpr const char* appendable_annotation_name = "appendable";
93 constexpr const char* mutable_annotation_name = "mutable";
94 constexpr const char* key_annotation_name = "key";
95 constexpr const char* must_understand_annotation_name = "must_understand";
96 constexpr const char* default_literal_annotation_name = "default_literal";
97 constexpr const char* default_annotation_name = "default"; // Pending implementation
98 constexpr const char* range_annotation_name = "range"; // Pending implementation
99 constexpr const char* min_annotation_name = "min"; // Pending implementation
100 constexpr const char* max_annotation_name = "max"; // Pending implementation
101 constexpr const char* unit_annotation_name = "unit";
102 constexpr const char* bit_bound_annotation_name = "bit_bound";
103 constexpr const char* external_annotation_name = "external";
104 constexpr const char* nested_annotation_name = "nested";
105 constexpr const char* verbatim_annotation_name = "verbatim";
106 constexpr const char* service_annotation_name = "service";
107 constexpr const char* oneway_annotation_name = "oneway";
108 constexpr const char* ami_annotation_name = "ami";
109 constexpr const char* hashid_annotation_name = "hashid";
110 constexpr const char* default_nested_annotation_name = "default_nested";
111 constexpr const char* ignore_literal_names_annotation_name = "ignore_literal_names";
112 constexpr const char* try_construct_annotation_name = "try_construct";
113 constexpr const char* non_serialized_annotation_name = "non_serialized";
114 constexpr const char* data_representation_annotation_name = "data_representation";
115 constexpr const char* topic_annotation_name = "topic";
116 
117 } // xtypes
118 } // dds
119 } // fastdds
120 } // eprosima
121 
122 #endif // FASTDDS_DDS_XTYPES__COMMON_HPP
Definition: DomainParticipant.hpp:46
constexpr const char * int32_type_name
Definition: common.hpp:71
constexpr const char * verbatim_annotation_name
Definition: common.hpp:105
constexpr const char * topic_annotation_name
Definition: common.hpp:115
constexpr const char * oneway_annotation_name
Definition: common.hpp:107
constexpr const char * data_representation_annotation_name
Definition: common.hpp:114
constexpr const char * extensibility_annotation_name
Definition: common.hpp:90
constexpr const char * bit_bound_annotation_name
Definition: common.hpp:102
constexpr const char * after_declaration_str
Definition: common.hpp:64
constexpr const char * uint32_type_name
Definition: common.hpp:74
constexpr const char * ignore_literal_names_annotation_name
Definition: common.hpp:111
constexpr const char * uint16_type_name
Definition: common.hpp:73
constexpr const char * appendable_annotation_name
Definition: common.hpp:92
constexpr const char * ami_annotation_name
Definition: common.hpp:108
constexpr const char * int8_type_name
Definition: common.hpp:79
constexpr const char * default_annotation_name
Definition: common.hpp:97
constexpr const char * service_annotation_name
Definition: common.hpp:106
constexpr const char * unit_annotation_name
Definition: common.hpp:101
constexpr const char * external_annotation_name
Definition: common.hpp:103
constexpr const char * optional_annotation_name
Definition: common.hpp:87
constexpr const char * try_construct_annotation_name
Definition: common.hpp:112
constexpr const char * char16_type_name
Definition: common.hpp:82
constexpr const char * final_annotation_name
Definition: common.hpp:91
constexpr const char * float64_type_name
Definition: common.hpp:77
constexpr const char * boolean_type_name
Definition: common.hpp:68
constexpr const char * int64_type_name
Definition: common.hpp:72
constexpr const char * end_declaration_str
Definition: common.hpp:63
constexpr const char * default_nested_annotation_name
Definition: common.hpp:110
constexpr const char * end_declaration_file_str
Definition: common.hpp:65
constexpr const char * nested_annotation_name
Definition: common.hpp:104
constexpr const char * value_annotation_name
Definition: common.hpp:89
constexpr const char * char8_type_name
Definition: common.hpp:81
constexpr const char * begin_declaration_file_str
Valid placement values.
Definition: common.hpp:60
constexpr const char * byte_type_name
Definition: common.hpp:69
constexpr const char * min_annotation_name
Definition: common.hpp:99
constexpr const char * position_annotation_name
Definition: common.hpp:88
constexpr const char * max_annotation_name
Definition: common.hpp:100
constexpr const char * before_declaration_str
Definition: common.hpp:61
constexpr const char * range_annotation_name
Definition: common.hpp:98
constexpr const char * hashid_annotation_name
Definition: common.hpp:109
constexpr const char * must_understand_annotation_name
Definition: common.hpp:95
ExtensibilityKind
Definition: common.hpp:31
constexpr const char * float128_type_name
Definition: common.hpp:78
TryConstructFailAction
Definition: common.hpp:38
constexpr const char * int16_type_name
Definition: common.hpp:70
constexpr const char * uint64_type_name
Definition: common.hpp:75
constexpr const char * mutable_annotation_name
Definition: common.hpp:93
constexpr const char * id_annotation_name
Definition: common.hpp:85
constexpr const char * key_annotation_name
Definition: common.hpp:94
constexpr const char * begin_declaration_str
Definition: common.hpp:62
constexpr const char * non_serialized_annotation_name
Definition: common.hpp:113
constexpr const char * uint8_type_name
Definition: common.hpp:80
constexpr const char * float32_type_name
Definition: common.hpp:76
constexpr const char * default_literal_annotation_name
Definition: common.hpp:96
PlacementKind
PlacementKind values (verbatim annotation)
Definition: common.hpp:48
constexpr const char * autoid_annotation_name
Definition: common.hpp:86