Skip to content

Commit 60a8b11

Browse files
authored
const qualify all data related inputs in DataWriter APIs (#4960)
* Refs #21183: Add const qualifier when possible on inputs of DataWriter APIs Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Adjust tests type supports Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Regenerate type support Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Update versions.md Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Adjust realtime tests type support Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Adjust profilling tests type support Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Build profiling tests as alternate build in Ubuntu CI Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Apply Miguel's suggestions Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Install valgrind in alternative builds job Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Add register_two_identical_typesupports regression test Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Fix registration of two identical type supports Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Mark DataReaderHistoryTests type support mocked methods as override Signed-off-by: eduponz <eduardoponz@eprosima.com> * Refs #21183: Apply Miguel's suggestions Signed-off-by: eduponz <eduardoponz@eprosima.com> --------- Signed-off-by: eduponz <eduardoponz@eprosima.com>
1 parent bdbfded commit 60a8b11

149 files changed

Lines changed: 10464 additions & 10409 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/reusable-ubuntu-ci.yml

Lines changed: 39 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -683,18 +683,19 @@ jobs:
683683
show_skipped: 'False'
684684

685685
fastdds_alternative_builds:
686+
needs: fastdds_build
686687
runs-on: ${{ inputs.os-image }}
687688
strategy:
688689
fail-fast: false
689690
matrix:
690691
cmake-build-type:
691692
- 'RelWithDebInfo'
692693
steps:
693-
- name: Sync eProsima/Fast-DDS repository
694-
uses: eProsima/eProsima-CI/external/checkout@v0
694+
- name: Download build artifacts
695+
uses: eProsima/eProsima-CI/external/download-artifact@v0
695696
with:
696-
path: src/fastdds
697-
ref: ${{ inputs.fastdds-branch }}
697+
name: fastdds_build_${{ inputs.label }}
698+
path: ${{ github.workspace }}
698699

699700
- name: Install Fix Python version
700701
uses: eProsima/eProsima-CI/external/setup-python@v0
@@ -709,7 +710,7 @@ jobs:
709710
- name: Install apt dependencies
710711
uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@v0
711712
with:
712-
packages: libasio-dev libtinyxml2-dev libssl-dev
713+
packages: libasio-dev libtinyxml2-dev libssl-dev valgrind
713714
update: false
714715
upgrade: false
715716

@@ -719,7 +720,7 @@ jobs:
719720
- name: Install Python dependencies
720721
uses: eProsima/eProsima-CI/multiplatform/install_python_packages@v0
721722
with:
722-
packages: vcstool xmlschema
723+
packages: vcstool xmlschema msparser
723724
upgrade: false
724725

725726
- name: Setup CCache
@@ -728,15 +729,41 @@ jobs:
728729
with:
729730
api_token: ${{ secrets.GITHUB_TOKEN }}
730731

731-
- name: Fetch Fast DDS dependencies
732-
uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0
732+
- name: Sync osrf/osrf_testing_tools_cpp repository
733+
uses: eProsima/eProsima-CI/external/checkout@v0
733734
with:
734-
vcs_repos_file: ${{ github.workspace }}/src/fastdds/fastdds.repos
735-
destination_workspace: src
736-
skip_existing: 'true'
735+
repository: osrf/osrf_testing_tools_cpp
736+
path: src/osrf_testing_tools_cpp
737+
ref: 1.4.0
738+
739+
- name: OSRF testing tools build
740+
uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0
741+
with:
742+
colcon_meta_file: ''
743+
colcon_build_args: ${{ inputs.colcon-args }} --packages-select osrf_testing_tools_cpp
744+
cmake_args: '-DBUILD_TESTING=OFF'
745+
cmake_args_default: ''
746+
cmake_build_type: ${{ matrix.cmake-build-type }}
747+
workspace: ${{ github.workspace }}
748+
749+
- name: Profilling tests build
750+
uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0
751+
with:
752+
colcon_meta_file: ${{ github.workspace }}/src/fastdds/.github/workflows/config/fastdds_build.meta
753+
colcon_build_args: ${{ inputs.colcon-args }} --packages-up-to fastdds
754+
cmake_args: '-DPROFILING_TESTS=ON ${{ inputs.cmake-args }}'
755+
cmake_args_default: ${{ env.colcon-build-default-cmake-args }}
756+
cmake_build_type: ${{ matrix.cmake-build-type }}
757+
workspace: ${{ github.workspace }}
758+
workspace_dependencies: ${{ github.workspace }}/install
759+
760+
- name: Clean workspace - Profiling tests
761+
run: |
762+
cd ${{ github.workspace }}
763+
rm -rf build install log src/osrf_testing_tools_cpp
737764
738765
- name: No security colcon build
739-
continue-on-error: true
766+
continue-on-error: false
740767
uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0
741768
with:
742769
colcon_meta_file: ${{ github.workspace }}/src/fastdds/.github/workflows/config/fastdds_build.meta
@@ -747,14 +774,11 @@ jobs:
747774
workspace: ${{ github.workspace }}
748775

749776
- name: Clean workspace - No security
750-
if: ${{ always() }}
751777
run: |
752778
cd ${{ github.workspace }}
753779
rm -rf build install log
754780
755781
- name: No statistics colcon build
756-
continue-on-error: true
757-
if: ${{ always() }}
758782
uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0
759783
with:
760784
colcon_meta_file: ${{ github.workspace }}/src/fastdds/.github/workflows/config/fastdds_build.meta
@@ -765,15 +789,12 @@ jobs:
765789
workspace: ${{ github.workspace }}
766790

767791
- name: Clean workspace - No statistics
768-
if: ${{ always() }}
769792
run: |
770793
cd ${{ github.workspace }}
771794
rm -rf build install log
772795
773796
# No .metas file, so FASTDDS_ENFORCE_LOG_INFO is set OFF by default. Missed important args are manually included
774797
- name: No enforcing log info colcon build
775-
continue-on-error: true
776-
if: ${{ always() }}
777798
uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0
778799
with:
779800
colcon_meta_file: ''
@@ -784,14 +805,11 @@ jobs:
784805
workspace: ${{ github.workspace }}
785806

786807
- name: Clean workspace - No enforce log info
787-
if: ${{ always() }}
788808
run: |
789809
cd ${{ github.workspace }}
790810
rm -rf build install log
791811
792812
- name: No shared libs colcon build
793-
continue-on-error: true
794-
if: ${{ always() }}
795813
uses: eProsima/eProsima-CI/multiplatform/colcon_build@v0
796814
with:
797815
colcon_meta_file: ${{ github.workspace }}/src/fastdds/.github/workflows/config/fastdds_build.meta

examples/cpp/configuration/ConfigurationPubSubTypes.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ ConfigurationPubSubType::~ConfigurationPubSubType()
5757
}
5858

5959
bool ConfigurationPubSubType::serialize(
60-
void* data,
60+
const void* const data,
6161
SerializedPayload_t* payload,
6262
DataRepresentationId_t data_representation)
6363
{
64-
Configuration* p_type = static_cast<Configuration*>(data);
64+
const Configuration* p_type = static_cast<const Configuration*>(data);
6565

6666
// Object that manages the raw buffer.
6767
eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast<char*>(payload->data), payload->max_size);
@@ -133,7 +133,7 @@ bool ConfigurationPubSubType::deserialize(
133133
}
134134

135135
std::function<uint32_t()> ConfigurationPubSubType::getSerializedSizeProvider(
136-
void* data,
136+
const void* const data,
137137
DataRepresentationId_t data_representation)
138138
{
139139
return [data, data_representation]() -> uint32_t
@@ -150,7 +150,7 @@ std::function<uint32_t()> ConfigurationPubSubType::getSerializedSizeProvider(
150150
eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2);
151151
size_t current_alignment {0};
152152
return static_cast<uint32_t>(calculator.calculate_serialized_size(
153-
*static_cast<Configuration*>(data), current_alignment)) +
153+
*static_cast<const Configuration*>(data), current_alignment)) +
154154
4u /*encapsulation*/;
155155
}
156156
catch (eprosima::fastcdr::exception::Exception& /*exception*/)
@@ -173,7 +173,7 @@ void ConfigurationPubSubType::deleteData(
173173
}
174174

175175
bool ConfigurationPubSubType::getKey(
176-
void* data,
176+
const void* const data,
177177
InstanceHandle_t* handle,
178178
bool force_md5)
179179
{
@@ -182,7 +182,7 @@ bool ConfigurationPubSubType::getKey(
182182
return false;
183183
}
184184

185-
Configuration* p_type = static_cast<Configuration*>(data);
185+
const Configuration* p_type = static_cast<const Configuration*>(data);
186186

187187
// Object that manages the raw buffer.
188188
eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast<char*>(m_keyBuffer),

examples/cpp/configuration/ConfigurationPubSubTypes.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ class ConfigurationPubSubType : public eprosima::fastdds::dds::TopicDataType
5353
eProsima_user_DllExport ~ConfigurationPubSubType() override;
5454

5555
eProsima_user_DllExport bool serialize(
56-
void* data,
56+
const void* const data,
5757
eprosima::fastdds::rtps::SerializedPayload_t* payload) override
5858
{
5959
return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION);
6060
}
6161

6262
eProsima_user_DllExport bool serialize(
63-
void* data,
63+
const void* const data,
6464
eprosima::fastdds::rtps::SerializedPayload_t* payload,
6565
eprosima::fastdds::dds::DataRepresentationId_t data_representation) override;
6666

@@ -69,17 +69,17 @@ class ConfigurationPubSubType : public eprosima::fastdds::dds::TopicDataType
6969
void* data) override;
7070

7171
eProsima_user_DllExport std::function<uint32_t()> getSerializedSizeProvider(
72-
void* data) override
72+
const void* const data) override
7373
{
7474
return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION);
7575
}
7676

7777
eProsima_user_DllExport std::function<uint32_t()> getSerializedSizeProvider(
78-
void* data,
78+
const void* const data,
7979
eprosima::fastdds::dds::DataRepresentationId_t data_representation) override;
8080

8181
eProsima_user_DllExport bool getKey(
82-
void* data,
82+
const void* const data,
8383
eprosima::fastdds::rtps::InstanceHandle_t* ihandle,
8484
bool force_md5 = false) override;
8585

examples/cpp/content_filter/HelloWorldPubSubTypes.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ HelloWorldPubSubType::~HelloWorldPubSubType()
5757
}
5858

5959
bool HelloWorldPubSubType::serialize(
60-
void* data,
60+
const void* const data,
6161
SerializedPayload_t* payload,
6262
DataRepresentationId_t data_representation)
6363
{
64-
HelloWorld* p_type = static_cast<HelloWorld*>(data);
64+
const HelloWorld* p_type = static_cast<const HelloWorld*>(data);
6565

6666
// Object that manages the raw buffer.
6767
eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast<char*>(payload->data), payload->max_size);
@@ -133,7 +133,7 @@ bool HelloWorldPubSubType::deserialize(
133133
}
134134

135135
std::function<uint32_t()> HelloWorldPubSubType::getSerializedSizeProvider(
136-
void* data,
136+
const void* const data,
137137
DataRepresentationId_t data_representation)
138138
{
139139
return [data, data_representation]() -> uint32_t
@@ -150,7 +150,7 @@ std::function<uint32_t()> HelloWorldPubSubType::getSerializedSizeProvider(
150150
eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2);
151151
size_t current_alignment {0};
152152
return static_cast<uint32_t>(calculator.calculate_serialized_size(
153-
*static_cast<HelloWorld*>(data), current_alignment)) +
153+
*static_cast<const HelloWorld*>(data), current_alignment)) +
154154
4u /*encapsulation*/;
155155
}
156156
catch (eprosima::fastcdr::exception::Exception& /*exception*/)
@@ -173,7 +173,7 @@ void HelloWorldPubSubType::deleteData(
173173
}
174174

175175
bool HelloWorldPubSubType::getKey(
176-
void* data,
176+
const void* const data,
177177
InstanceHandle_t* handle,
178178
bool force_md5)
179179
{
@@ -182,7 +182,7 @@ bool HelloWorldPubSubType::getKey(
182182
return false;
183183
}
184184

185-
HelloWorld* p_type = static_cast<HelloWorld*>(data);
185+
const HelloWorld* p_type = static_cast<const HelloWorld*>(data);
186186

187187
// Object that manages the raw buffer.
188188
eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast<char*>(m_keyBuffer),

examples/cpp/content_filter/HelloWorldPubSubTypes.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ class HelloWorldPubSubType : public eprosima::fastdds::dds::TopicDataType
5353
eProsima_user_DllExport ~HelloWorldPubSubType() override;
5454

5555
eProsima_user_DllExport bool serialize(
56-
void* data,
56+
const void* const data,
5757
eprosima::fastdds::rtps::SerializedPayload_t* payload) override
5858
{
5959
return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION);
6060
}
6161

6262
eProsima_user_DllExport bool serialize(
63-
void* data,
63+
const void* const data,
6464
eprosima::fastdds::rtps::SerializedPayload_t* payload,
6565
eprosima::fastdds::dds::DataRepresentationId_t data_representation) override;
6666

@@ -69,17 +69,17 @@ class HelloWorldPubSubType : public eprosima::fastdds::dds::TopicDataType
6969
void* data) override;
7070

7171
eProsima_user_DllExport std::function<uint32_t()> getSerializedSizeProvider(
72-
void* data) override
72+
const void* const data) override
7373
{
7474
return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION);
7575
}
7676

7777
eProsima_user_DllExport std::function<uint32_t()> getSerializedSizeProvider(
78-
void* data,
78+
const void* const data,
7979
eprosima::fastdds::dds::DataRepresentationId_t data_representation) override;
8080

8181
eProsima_user_DllExport bool getKey(
82-
void* data,
82+
const void* const data,
8383
eprosima::fastdds::rtps::InstanceHandle_t* ihandle,
8484
bool force_md5 = false) override;
8585

examples/cpp/custom_payload_pool/HelloWorldPubSubTypes.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ HelloWorldPubSubType::~HelloWorldPubSubType()
5757
}
5858

5959
bool HelloWorldPubSubType::serialize(
60-
void* data,
60+
const void* const data,
6161
SerializedPayload_t* payload,
6262
DataRepresentationId_t data_representation)
6363
{
64-
HelloWorld* p_type = static_cast<HelloWorld*>(data);
64+
const HelloWorld* p_type = static_cast<const HelloWorld*>(data);
6565

6666
// Object that manages the raw buffer.
6767
eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast<char*>(payload->data), payload->max_size);
@@ -133,7 +133,7 @@ bool HelloWorldPubSubType::deserialize(
133133
}
134134

135135
std::function<uint32_t()> HelloWorldPubSubType::getSerializedSizeProvider(
136-
void* data,
136+
const void* const data,
137137
DataRepresentationId_t data_representation)
138138
{
139139
return [data, data_representation]() -> uint32_t
@@ -150,7 +150,7 @@ std::function<uint32_t()> HelloWorldPubSubType::getSerializedSizeProvider(
150150
eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2);
151151
size_t current_alignment {0};
152152
return static_cast<uint32_t>(calculator.calculate_serialized_size(
153-
*static_cast<HelloWorld*>(data), current_alignment)) +
153+
*static_cast<const HelloWorld*>(data), current_alignment)) +
154154
4u /*encapsulation*/;
155155
}
156156
catch (eprosima::fastcdr::exception::Exception& /*exception*/)
@@ -173,7 +173,7 @@ void HelloWorldPubSubType::deleteData(
173173
}
174174

175175
bool HelloWorldPubSubType::getKey(
176-
void* data,
176+
const void* const data,
177177
InstanceHandle_t* handle,
178178
bool force_md5)
179179
{
@@ -182,7 +182,7 @@ bool HelloWorldPubSubType::getKey(
182182
return false;
183183
}
184184

185-
HelloWorld* p_type = static_cast<HelloWorld*>(data);
185+
const HelloWorld* p_type = static_cast<const HelloWorld*>(data);
186186

187187
// Object that manages the raw buffer.
188188
eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast<char*>(m_keyBuffer),

examples/cpp/custom_payload_pool/HelloWorldPubSubTypes.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ class HelloWorldPubSubType : public eprosima::fastdds::dds::TopicDataType
5353
eProsima_user_DllExport ~HelloWorldPubSubType() override;
5454

5555
eProsima_user_DllExport bool serialize(
56-
void* data,
56+
const void* const data,
5757
eprosima::fastdds::rtps::SerializedPayload_t* payload) override
5858
{
5959
return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION);
6060
}
6161

6262
eProsima_user_DllExport bool serialize(
63-
void* data,
63+
const void* const data,
6464
eprosima::fastdds::rtps::SerializedPayload_t* payload,
6565
eprosima::fastdds::dds::DataRepresentationId_t data_representation) override;
6666

@@ -69,17 +69,17 @@ class HelloWorldPubSubType : public eprosima::fastdds::dds::TopicDataType
6969
void* data) override;
7070

7171
eProsima_user_DllExport std::function<uint32_t()> getSerializedSizeProvider(
72-
void* data) override
72+
const void* const data) override
7373
{
7474
return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION);
7575
}
7676

7777
eProsima_user_DllExport std::function<uint32_t()> getSerializedSizeProvider(
78-
void* data,
78+
const void* const data,
7979
eprosima::fastdds::dds::DataRepresentationId_t data_representation) override;
8080

8181
eProsima_user_DllExport bool getKey(
82-
void* data,
82+
const void* const data,
8383
eprosima::fastdds::rtps::InstanceHandle_t* ihandle,
8484
bool force_md5 = false) override;
8585

0 commit comments

Comments
 (0)