Fast DDS  Version 3.1.0
Fast DDS
Loading...
Searching...
No Matches
dynamic_language_binding.hpp
1// Copyright 2016 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
22#ifndef FAST_DDS_GENERATED__DYNAMIC_LANGUAGE_BINDING_HPP
23#define FAST_DDS_GENERATED__DYNAMIC_LANGUAGE_BINDING_HPP
24
25#include <cstdint>
26#include <map>
27#include <string>
28#include <utility>
29#include <vector>
30
31#include <fastcdr/cdr/fixed_size_string.hpp>
32
33#if defined(_WIN32)
34#if defined(EPROSIMA_USER_DLL_EXPORT)
35#define eProsima_user_DllExport __declspec( dllexport )
36#else
37#define eProsima_user_DllExport
38#endif // EPROSIMA_USER_DLL_EXPORT
39#else
40#define eProsima_user_DllExport
41#endif // _WIN32
42
43#if defined(_WIN32)
44#if defined(EPROSIMA_USER_DLL_EXPORT)
45#if defined(DYNAMIC_LANGUAGE_BINDING_SOURCE)
46#define DYNAMIC_LANGUAGE_BINDING_DllAPI __declspec( dllexport )
47#else
48#define DYNAMIC_LANGUAGE_BINDING_DllAPI __declspec( dllimport )
49#endif // DYNAMIC_LANGUAGE_BINDING_SOURCE
50#else
51#define DYNAMIC_LANGUAGE_BINDING_DllAPI
52#endif // EPROSIMA_USER_DLL_EXPORT
53#else
54#define DYNAMIC_LANGUAGE_BINDING_DllAPI
55#endif // _WIN32
56
57namespace eprosima {
58
59namespace fastdds {
60
61namespace dds {
62
63
64typedef std::vector<std::string> IncludePathSeq;
65
66typedef eprosima::fastcdr::fixed_string<256> ObjectName;
67
68typedef std::vector<uint32_t> BoundSeq;
69
70typedef uint8_t TypeKind;
71
72const TypeKind TK_NONE = 0x00;
73const TypeKind TK_BOOLEAN = 0x01;
74const TypeKind TK_BYTE = 0x02;
75const TypeKind TK_INT16 = 0x03;
76const TypeKind TK_INT32 = 0x04;
77const TypeKind TK_INT64 = 0x05;
78const TypeKind TK_UINT16 = 0x06;
79const TypeKind TK_UINT32 = 0x07;
80const TypeKind TK_UINT64 = 0x08;
81const TypeKind TK_FLOAT32 = 0x09;
82const TypeKind TK_FLOAT64 = 0x0A;
83const TypeKind TK_FLOAT128 = 0x0B;
84const TypeKind TK_INT8 = 0x0C;
85const TypeKind TK_UINT8 = 0x0D;
86const TypeKind TK_CHAR8 = 0x10;
87const TypeKind TK_CHAR16 = 0x11;
88const TypeKind TK_STRING8 = 0x20;
89const TypeKind TK_STRING16 = 0x21;
90const TypeKind TK_ALIAS = 0x30;
91const TypeKind TK_ENUM = 0x40;
92const TypeKind TK_BITMASK = 0x41;
95const TypeKind TK_UNION = 0x52;
96const TypeKind TK_BITSET = 0x53;
97const TypeKind TK_SEQUENCE = 0x60;
98const TypeKind TK_ARRAY = 0x61;
99const TypeKind TK_MAP = 0x62;
100typedef std::map<ObjectName, ObjectName> Parameters;
101
106enum class ExtensibilityKind : int32_t
107{
108 FINAL,
110 MUTABLE
111};
116enum class TryConstructKind : int32_t
117{
119 DISCARD,
120 TRIM
121};
122typedef uint32_t MemberId;
123
124typedef std::vector<int32_t> UnionCaseLabelSeq;
125
126typedef std::vector<int32_t> Int32Seq;
127
128typedef std::vector<uint32_t> UInt32Seq;
129
130typedef std::vector<int8_t> Int8Seq;
131
132typedef std::vector<uint8_t> UInt8Seq;
133
134typedef std::vector<int16_t> Int16Seq;
135
136typedef std::vector<uint16_t> UInt16Seq;
137
138typedef std::vector<int64_t> Int64Seq;
139
140typedef std::vector<uint64_t> UInt64Seq;
141
142typedef std::vector<float> Float32Seq;
143
144typedef std::vector<double> Float64Seq;
145
146typedef std::vector<long double> Float128Seq;
147
148typedef std::vector<char> CharSeq;
149
150typedef std::vector<wchar_t> WcharSeq;
151
152typedef std::vector<bool> BooleanSeq;
153
154typedef std::vector<uint8_t> ByteSeq;
155
156typedef std::vector<std::string> StringSeq;
157
158typedef std::vector<std::wstring> WstringSeq;
159
160
161} // namespace dds
162
163} // namespace fastdds
164
165} // namespace eprosima
166
167
168#endif // _FAST_DDS_GENERATED_DYNAMIC_LANGUAGE_BINDING_HPP_
169
170
ExtensibilityKind
This class represents the enumeration ExtensibilityKind defined by the user in the IDL file.
Definition dynamic_language_binding.hpp:107
TryConstructKind
This class represents the enumeration TryConstructKind defined by the user in the IDL file.
Definition dynamic_language_binding.hpp:117
Definition DomainParticipant.hpp:45
const TypeKind TK_ENUM
Definition dynamic_language_binding.hpp:91
const TypeKind TK_BOOLEAN
Definition dynamic_language_binding.hpp:73
uint32_t MemberId
Definition dynamic_language_binding.hpp:122
const TypeKind TK_UINT16
Definition dynamic_language_binding.hpp:78
const TypeKind TK_FLOAT128
Definition dynamic_language_binding.hpp:83
std::vector< std::string > IncludePathSeq
Definition dynamic_language_binding.hpp:64
const TypeKind TK_STRING8
Definition dynamic_language_binding.hpp:88
std::vector< uint8_t > UInt8Seq
Definition dynamic_language_binding.hpp:132
const TypeKind TK_ALIAS
Definition dynamic_language_binding.hpp:90
const TypeKind TK_STRUCTURE
Definition dynamic_language_binding.hpp:94
std::vector< int32_t > UnionCaseLabelSeq
Definition dynamic_language_binding.hpp:124
const TypeKind TK_INT32
Definition dynamic_language_binding.hpp:76
const TypeKind TK_UINT64
Definition dynamic_language_binding.hpp:80
std::vector< uint16_t > UInt16Seq
Definition dynamic_language_binding.hpp:136
std::vector< char > CharSeq
Definition dynamic_language_binding.hpp:148
std::vector< long double > Float128Seq
Definition dynamic_language_binding.hpp:146
const TypeKind TK_CHAR16
Definition dynamic_language_binding.hpp:87
const TypeKind TK_NONE
Definition dynamic_language_binding.hpp:72
std::vector< int64_t > Int64Seq
Definition dynamic_language_binding.hpp:138
const TypeKind TK_UNION
Definition dynamic_language_binding.hpp:95
const TypeKind TK_ARRAY
Definition dynamic_language_binding.hpp:98
std::vector< float > Float32Seq
Definition dynamic_language_binding.hpp:142
const TypeKind TK_MAP
Definition dynamic_language_binding.hpp:99
std::vector< double > Float64Seq
Definition dynamic_language_binding.hpp:144
std::vector< std::string > StringSeq
Definition dynamic_language_binding.hpp:156
const TypeKind TK_FLOAT64
Definition dynamic_language_binding.hpp:82
const TypeKind TK_BITMASK
Definition dynamic_language_binding.hpp:92
const TypeKind TK_FLOAT32
Definition dynamic_language_binding.hpp:81
std::map< ObjectName, ObjectName > Parameters
Definition dynamic_language_binding.hpp:100
std::vector< wchar_t > WcharSeq
Definition dynamic_language_binding.hpp:150
const TypeKind TK_CHAR8
Definition dynamic_language_binding.hpp:86
std::vector< uint32_t > UInt32Seq
Definition dynamic_language_binding.hpp:128
std::vector< bool > BooleanSeq
Definition dynamic_language_binding.hpp:152
const TypeKind TK_SEQUENCE
Definition dynamic_language_binding.hpp:97
const TypeKind TK_INT16
Definition dynamic_language_binding.hpp:75
const TypeKind TK_UINT8
Definition dynamic_language_binding.hpp:85
std::vector< uint32_t > BoundSeq
Definition dynamic_language_binding.hpp:68
std::vector< int32_t > Int32Seq
Definition dynamic_language_binding.hpp:126
const TypeKind TK_ANNOTATION
Definition dynamic_language_binding.hpp:93
const TypeKind TK_INT64
Definition dynamic_language_binding.hpp:77
const TypeKind TK_STRING16
Definition dynamic_language_binding.hpp:89
std::vector< uint8_t > ByteSeq
Definition dynamic_language_binding.hpp:154
std::vector< uint64_t > UInt64Seq
Definition dynamic_language_binding.hpp:140
const TypeKind TK_BYTE
Definition dynamic_language_binding.hpp:74
const TypeKind TK_UINT32
Definition dynamic_language_binding.hpp:79
eprosima::fastcdr::fixed_string< 256 > ObjectName
Definition dynamic_language_binding.hpp:66
std::vector< int16_t > Int16Seq
Definition dynamic_language_binding.hpp:134
std::vector< std::wstring > WstringSeq
Definition dynamic_language_binding.hpp:158
std::vector< int8_t > Int8Seq
Definition dynamic_language_binding.hpp:130
const TypeKind TK_INT8
Definition dynamic_language_binding.hpp:84
const TypeKind TK_BITSET
Definition dynamic_language_binding.hpp:96
uint8_t TypeKind
Definition dynamic_language_binding.hpp:70
eProsima namespace.