Skip to content

Commit e53a973

Browse files
committed
Refs #21185: Change type and regenerate type: remove unused field and add index
Signed-off-by: elianalf <62831776+elianalf@users.noreply.github.com>
1 parent 4ff3ee5 commit e53a973

10 files changed

Lines changed: 199 additions & 65 deletions

examples/cpp/flow_control/FlowControl.hpp

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,16 @@
3838

3939
#if defined(_WIN32)
4040
#if defined(EPROSIMA_USER_DLL_EXPORT)
41-
#if defined(FlowControl_SOURCE)
42-
#define FlowControl_DllAPI __declspec( dllexport )
41+
#if defined(FLOWCONTROL_SOURCE)
42+
#define FLOWCONTROL_DllAPI __declspec( dllexport )
4343
#else
44-
#define FlowControl_DllAPI __declspec( dllimport )
45-
#endif // FlowControl_SOURCE
44+
#define FLOWCONTROL_DllAPI __declspec( dllimport )
45+
#endif // FLOWCONTROL_SOURCE
4646
#else
47-
#define FlowControl_DllAPI
47+
#define FLOWCONTROL_DllAPI
4848
#endif // EPROSIMA_USER_DLL_EXPORT
4949
#else
50-
#define FlowControl_DllAPI
50+
#define FLOWCONTROL_DllAPI
5151
#endif // _WIN32
5252

5353
/*!
@@ -79,9 +79,9 @@ class FlowControl
7979
eProsima_user_DllExport FlowControl(
8080
const FlowControl& x)
8181
{
82-
m_message = x.m_message;
82+
m_message = x.m_message;
8383

84-
m_wasFast = x.m_wasFast;
84+
m_index = x.m_index;
8585

8686
}
8787

@@ -93,7 +93,7 @@ class FlowControl
9393
FlowControl&& x) noexcept
9494
{
9595
m_message = std::move(x.m_message);
96-
m_wasFast = x.m_wasFast;
96+
m_index = x.m_index;
9797
}
9898

9999
/*!
@@ -104,9 +104,9 @@ class FlowControl
104104
const FlowControl& x)
105105
{
106106

107-
m_message = x.m_message;
107+
m_message = x.m_message;
108108

109-
m_wasFast = x.m_wasFast;
109+
m_index = x.m_index;
110110

111111
return *this;
112112
}
@@ -120,7 +120,7 @@ class FlowControl
120120
{
121121

122122
m_message = std::move(x.m_message);
123-
m_wasFast = x.m_wasFast;
123+
m_index = x.m_index;
124124
return *this;
125125
}
126126

@@ -132,7 +132,7 @@ class FlowControl
132132
const FlowControl& x) const
133133
{
134134
return (m_message == x.m_message &&
135-
m_wasFast == x.m_wasFast);
135+
m_index == x.m_index);
136136
}
137137

138138
/*!
@@ -183,38 +183,41 @@ class FlowControl
183183
return m_message;
184184
}
185185

186+
186187
/*!
187-
* @brief This function sets a value in member wasFast
188-
* @param _wasFast New value for member wasFast
188+
* @brief This function sets a value in member index
189+
* @param _index New value for member index
189190
*/
190-
eProsima_user_DllExport void wasFast(
191-
char _wasFast)
191+
eProsima_user_DllExport void index(
192+
uint32_t _index)
192193
{
193-
m_wasFast = _wasFast;
194+
m_index = _index;
194195
}
195196

196197
/*!
197-
* @brief This function returns the value of member wasFast
198-
* @return Value of member wasFast
198+
* @brief This function returns the value of member index
199+
* @return Value of member index
199200
*/
200-
eProsima_user_DllExport char wasFast() const
201+
eProsima_user_DllExport uint32_t index() const
201202
{
202-
return m_wasFast;
203+
return m_index;
203204
}
204205

205206
/*!
206-
* @brief This function returns a reference to member wasFast
207-
* @return Reference to member wasFast
207+
* @brief This function returns a reference to member index
208+
* @return Reference to member index
208209
*/
209-
eProsima_user_DllExport char& wasFast()
210+
eProsima_user_DllExport uint32_t& index()
210211
{
211-
return m_wasFast;
212+
return m_index;
212213
}
213214

215+
216+
214217
private:
215218

216219
std::array<char, 600000> m_message{0};
217-
char m_wasFast{0};
220+
uint32_t m_index{0};
218221

219222
};
220223

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
struct FlowControl
22
{
33
char message[600000];
4-
char wasFast;
4+
unsigned long index;
55
};

examples/cpp/flow_control/FlowControlCdrAux.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
#include "FlowControl.hpp"
2626

27-
constexpr uint32_t FlowControl_max_cdr_typesize {600005UL};
27+
constexpr uint32_t FlowControl_max_cdr_typesize {600008UL};
2828
constexpr uint32_t FlowControl_max_key_cdr_typesize {0UL};
2929

3030

examples/cpp/flow_control/FlowControlCdrAux.ipp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
* This file was generated by the tool fastddsgen.
2020
*/
2121

22-
#ifndef FAST_DDS_GENERATED__FLOWCONTROLEXAMPLECDRAUX_IPP
23-
#define FAST_DDS_GENERATED__FLOWCONTROLEXAMPLECDRAUX_IPP
22+
#ifndef FAST_DDS_GENERATED__FLOWCONTROLCDRAUX_IPP
23+
#define FAST_DDS_GENERATED__FLOWCONTROLCDRAUX_IPP
2424

2525
#include "FlowControlCdrAux.hpp"
2626

@@ -54,7 +54,7 @@ eProsima_user_DllExport size_t calculate_serialized_size(
5454
data.message(), current_alignment);
5555

5656
calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1),
57-
data.wasFast(), current_alignment);
57+
data.index(), current_alignment);
5858

5959

6060
calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment);
@@ -75,7 +75,7 @@ eProsima_user_DllExport void serialize(
7575

7676
scdr
7777
<< eprosima::fastcdr::MemberId(0) << data.message()
78-
<< eprosima::fastcdr::MemberId(1) << data.wasFast()
78+
<< eprosima::fastcdr::MemberId(1) << data.index()
7979
;
8080
scdr.end_serialize_type(current_state);
8181
}
@@ -98,7 +98,7 @@ eProsima_user_DllExport void deserialize(
9898
break;
9999

100100
case 1:
101-
dcdr >> data.wasFast();
101+
dcdr >> data.index();
102102
break;
103103

104104
default:
@@ -122,4 +122,4 @@ void serialize_key(
122122
} // namespace fastcdr
123123
} // namespace eprosima
124124

125-
#endif // FAST_DDS_GENERATED__FLOWCONTROLEXAMPLECDRAUX_IPP
125+
#endif // FAST_DDS_GENERATED__FLOWCONTROLCDRAUX_IPP

examples/cpp/flow_control/FlowControlPubSubTypes.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
* This file was generated by the tool fastddsgen.
2020
*/
2121

22-
#include "FlowControlPubSubTypes.hpp"
22+
#include "FlowControlPubSubTypes.h"
2323

2424
#include <fastdds/dds/log/Log.hpp>
2525
#include <fastdds/rtps/common/CdrSerialization.hpp>
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
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+
15+
/*!
16+
* @file FlowControlPubSubTypes.h
17+
* This header file contains the declaration of the serialization functions.
18+
*
19+
* This file was generated by the tool fastddsgen.
20+
*/
21+
22+
23+
#ifndef _FAST_DDS_GENERATED_FLOWCONTROL_PUBSUBTYPES_H_
24+
#define _FAST_DDS_GENERATED_FLOWCONTROL_PUBSUBTYPES_H_
25+
26+
#include <fastdds/dds/core/policy/QosPolicies.hpp>
27+
#include <fastdds/dds/topic/TopicDataType.hpp>
28+
#include <fastdds/rtps/common/InstanceHandle.h>
29+
#include <fastdds/rtps/common/SerializedPayload.h>
30+
#include <fastdds/utils/md5.h>
31+
32+
#include "FlowControl.hpp"
33+
34+
35+
#if !defined(GEN_API_VER) || (GEN_API_VER != 2)
36+
#error \
37+
Generated FlowControl is not compatible with current installed Fast DDS. Please, regenerate it with fastddsgen.
38+
#endif // GEN_API_VER
39+
40+
41+
/*!
42+
* @brief This class represents the TopicDataType of the type FlowControl defined by the user in the IDL file.
43+
* @ingroup FlowControl
44+
*/
45+
class FlowControlPubSubType : public eprosima::fastdds::dds::TopicDataType
46+
{
47+
public:
48+
49+
typedef FlowControl type;
50+
51+
eProsima_user_DllExport FlowControlPubSubType();
52+
53+
eProsima_user_DllExport ~FlowControlPubSubType() override;
54+
55+
eProsima_user_DllExport bool serialize(
56+
const void* const data,
57+
eprosima::fastdds::rtps::SerializedPayload_t* payload) override
58+
{
59+
return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION);
60+
}
61+
62+
eProsima_user_DllExport bool serialize(
63+
const void* const data,
64+
eprosima::fastdds::rtps::SerializedPayload_t* payload,
65+
eprosima::fastdds::dds::DataRepresentationId_t data_representation) override;
66+
67+
eProsima_user_DllExport bool deserialize(
68+
eprosima::fastdds::rtps::SerializedPayload_t* payload,
69+
void* data) override;
70+
71+
eProsima_user_DllExport std::function<uint32_t()> getSerializedSizeProvider(
72+
const void* const data) override
73+
{
74+
return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION);
75+
}
76+
77+
eProsima_user_DllExport std::function<uint32_t()> getSerializedSizeProvider(
78+
const void* const data,
79+
eprosima::fastdds::dds::DataRepresentationId_t data_representation) override;
80+
81+
eProsima_user_DllExport bool getKey(
82+
const void* const data,
83+
eprosima::fastdds::rtps::InstanceHandle_t* ihandle,
84+
bool force_md5 = false) override;
85+
86+
eProsima_user_DllExport void* createData() override;
87+
88+
eProsima_user_DllExport void deleteData(
89+
void* data) override;
90+
91+
//Register TypeObject representation in Fast DDS TypeObjectRegistry
92+
eProsima_user_DllExport void register_type_object_representation() override;
93+
94+
#ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED
95+
eProsima_user_DllExport inline bool is_bounded() const override
96+
{
97+
return true;
98+
}
99+
100+
#endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED
101+
102+
#ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN
103+
eProsima_user_DllExport inline bool is_plain() const override
104+
{
105+
return false;
106+
}
107+
108+
eProsima_user_DllExport inline bool is_plain(
109+
eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override
110+
{
111+
static_cast<void>(data_representation);
112+
return false;
113+
}
114+
115+
#endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN
116+
117+
#ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE
118+
eProsima_user_DllExport inline bool construct_sample(
119+
void* memory) const override
120+
{
121+
static_cast<void>(memory);
122+
return false;
123+
}
124+
125+
#endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE
126+
127+
MD5 m_md5;
128+
unsigned char* m_keyBuffer;
129+
130+
};
131+
132+
#endif // _FAST_DDS_GENERATED_FLOWCONTROL_PUBSUBTYPES_H_
133+

examples/cpp/flow_control/FlowControlTypeObjectSupport.cxx

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -123,34 +123,34 @@ void register_FlowControl_type_identifier(
123123
TypeObjectUtils::add_complete_struct_member(member_seq_FlowControl, member_message);
124124
}
125125
{
126-
TypeIdentifierPair type_ids_wasFast;
127-
ReturnCode_t return_code_wasFast {eprosima::fastdds::dds::RETCODE_OK};
128-
return_code_wasFast =
126+
TypeIdentifierPair type_ids_index;
127+
ReturnCode_t return_code_index {eprosima::fastdds::dds::RETCODE_OK};
128+
return_code_index =
129129
eprosima::fastdds::dds::DomainParticipantFactory::get_instance()->type_object_registry().get_type_identifiers(
130-
"_char", type_ids_wasFast);
130+
"_uint32_t", type_ids_index);
131131

132-
if (eprosima::fastdds::dds::RETCODE_OK != return_code_wasFast)
132+
if (eprosima::fastdds::dds::RETCODE_OK != return_code_index)
133133
{
134134
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
135-
"wasFast Structure member TypeIdentifier unknown to TypeObjectRegistry.");
135+
"index Structure member TypeIdentifier unknown to TypeObjectRegistry.");
136136
return;
137137
}
138-
StructMemberFlag member_flags_wasFast = TypeObjectUtils::build_struct_member_flag(eprosima::fastdds::dds::xtypes::TryConstructFailAction::DISCARD,
138+
StructMemberFlag member_flags_index = TypeObjectUtils::build_struct_member_flag(eprosima::fastdds::dds::xtypes::TryConstructFailAction::DISCARD,
139139
false, false, false, false);
140-
MemberId member_id_wasFast = 0x00000001;
141-
bool common_wasFast_ec {false};
142-
CommonStructMember common_wasFast {TypeObjectUtils::build_common_struct_member(member_id_wasFast, member_flags_wasFast, TypeObjectUtils::retrieve_complete_type_identifier(type_ids_wasFast, common_wasFast_ec))};
143-
if (!common_wasFast_ec)
140+
MemberId member_id_index = 0x00000001;
141+
bool common_index_ec {false};
142+
CommonStructMember common_index {TypeObjectUtils::build_common_struct_member(member_id_index, member_flags_index, TypeObjectUtils::retrieve_complete_type_identifier(type_ids_index, common_index_ec))};
143+
if (!common_index_ec)
144144
{
145-
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION, "Structure wasFast member TypeIdentifier inconsistent.");
145+
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION, "Structure index member TypeIdentifier inconsistent.");
146146
return;
147147
}
148-
MemberName name_wasFast = "wasFast";
149-
eprosima::fastcdr::optional<AppliedBuiltinMemberAnnotations> member_ann_builtin_wasFast;
148+
MemberName name_index = "index";
149+
eprosima::fastcdr::optional<AppliedBuiltinMemberAnnotations> member_ann_builtin_index;
150150
ann_custom_FlowControl.reset();
151-
CompleteMemberDetail detail_wasFast = TypeObjectUtils::build_complete_member_detail(name_wasFast, member_ann_builtin_wasFast, ann_custom_FlowControl);
152-
CompleteStructMember member_wasFast = TypeObjectUtils::build_complete_struct_member(common_wasFast, detail_wasFast);
153-
TypeObjectUtils::add_complete_struct_member(member_seq_FlowControl, member_wasFast);
151+
CompleteMemberDetail detail_index = TypeObjectUtils::build_complete_member_detail(name_index, member_ann_builtin_index, ann_custom_FlowControl);
152+
CompleteStructMember member_index = TypeObjectUtils::build_complete_struct_member(common_index, detail_index);
153+
TypeObjectUtils::add_complete_struct_member(member_seq_FlowControl, member_index);
154154
}
155155
CompleteStructType struct_type_FlowControl = TypeObjectUtils::build_complete_struct_type(struct_flags_FlowControl, header_FlowControl, member_seq_FlowControl);
156156
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==

0 commit comments

Comments
 (0)