Skip to content

Commit 955d458

Browse files
Danipizarichiware
andauthored
Sample ID incorrectly resets when SampleInfo/WriteParams goes out of thread scope (#252)
* [#23141] First approach Signed-off-by: danipiza <dpizarrogallego@gmail.com> * [#23141] Updated SampleIdentity and WriteParams Signed-off-by: danipiza <dpizarrogallego@gmail.com> * [#23141] Review changes Signed-off-by: danipiza <dpizarrogallego@gmail.com> * [#23141] Removed unnecessary files Signed-off-by: danipiza <dpizarrogallego@gmail.com> * Refs #23141. Add more copyctr Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev> --------- Signed-off-by: danipiza <dpizarrogallego@gmail.com> Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev> Co-authored-by: Ricardo González Moreno <ricardo@richiware.dev>
1 parent 006c1d3 commit 955d458

12 files changed

Lines changed: 24 additions & 5 deletions

File tree

fastdds_python/src/swig/fastdds/rtps/common/BinaryProperty.i

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
%}
1818

1919
// Ignore overloaded constructor and methods that have no effect on target language
20-
%ignore eprosima::fastdds::rtps::BinaryProperty::BinaryProperty(BinaryProperty &&);
20+
%copyctor eprosima::fastdds::rtps::BinaryProperty;
2121
%ignore eprosima::fastdds::rtps::BinaryProperty::name(std::string &&);
2222
%ignore eprosima::fastdds::rtps::BinaryProperty::value(std::vector<uint8_t> &&);
2323
%ignore eprosima::fastdds::rtps::BinaryProperty::propagate() const;

fastdds_python/src/swig/fastdds/rtps/common/EntityId_t.i

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ long hash(const eprosima::fastdds::rtps::EntityId_t& id)
2828
}
2929
%}
3030

31+
%copyctor eprosima::fastdds::rtps::EntityId_t;
32+
3133
// Overloaded constructor ignored
3234
%ignore eprosima::fastdds::rtps::EntityId_t::EntityId_t(EntityId_t &&);
3335
%ignore eprosima::fastdds::rtps::operator <<(std::ostream&, const EntityId_t&);

fastdds_python/src/swig/fastdds/rtps/common/Guid.i

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ long hash(const eprosima::fastdds::rtps::GUID_t& guid)
2323
}
2424
%}
2525

26+
%copyctor eprosima::fastdds::rtps::GUID_t;
27+
2628
// SWIG does not support type conversion operators correctly unless converted to a normal method
2729
%rename(get_instance_handle) eprosima::fastdds::rtps::GUID_t::operator const InstanceHandle_t&;
2830

fastdds_python/src/swig/fastdds/rtps/common/GuidPrefix_t.i

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ long hash(const eprosima::fastdds::rtps::GuidPrefix_t& prefix)
6262
$result = python_tuple;
6363
}
6464

65+
%copyctor eprosima::fastdds::rtps::GuidPrefix_t;
66+
6567
%ignore eprosima::fastdds::rtps::operator <<(std::ostream&, const GuidPrefix_t&);
6668
%ignore eprosima::fastdds::rtps::operator >>(std::istream&, GuidPrefix_t&);
6769

fastdds_python/src/swig/fastdds/rtps/common/Locator.i

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
%}
1818

1919
// Ignore overloaded constructor and methods that have no effect on target language
20-
%ignore eprosima::fastdds::rtps::Locator_t::Locator_t(Locator_t&&);
20+
%copyctor eprosima::fastdds::rtps::Locator_t;
2121
%ignore eprosima::fastdds::rtps::operator <<(std::ostream&, const Locator_t&);
2222
%ignore eprosima::fastdds::rtps::operator >>(std::istream&, Locator_t&);
2323
%ignore eprosima::fastdds::rtps::operator ==(const Locator_t&, const Locator_t&);

fastdds_python/src/swig/fastdds/rtps/common/OriginalWriterInfo.i

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@
1616
#include "fastdds/rtps/common/OriginalWriterInfo.hpp"
1717
%}
1818

19+
%copyctor eprosima::fastdds::rtps::OriginalWriterInfo;
20+
1921
// Ignore overloaded constructor and methods that have no effect on target language
2022
%ignore eprosima::fastdds::rtps::OriginalWriterInfo::OriginalWriterInfo(OriginalWriterInfo &&);
23+
%ignore eprosima::fastdds::rtps::OriginalWriterInfo::OriginalWriterInfo(GUID_t &&, SequenceNumber_t &&);
2124
%ignore eprosima::fastdds::rtps::OriginalWriterInfo::original_writer_guid(GUID_t &&);
2225
%ignore eprosima::fastdds::rtps::OriginalWriterInfo::original_writer_guid() const;
2326
%ignore eprosima::fastdds::rtps::OriginalWriterInfo::sequence_number(SequenceNumber_t &&);

fastdds_python/src/swig/fastdds/rtps/common/Property.i

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
%}
1818

1919
// Ignore overloaded constructor and methods that have no effect on target language
20-
%ignore eprosima::fastdds::rtps::Property::Property(Property &&);
20+
%copyctor eprosima::fastdds::rtps::Property;
2121
%ignore eprosima::fastdds::rtps::Property::name(std::string &&);
2222
%ignore eprosima::fastdds::rtps::Property::value(std::string &&);
2323
%ignore eprosima::fastdds::rtps::Property::propagate() const;

fastdds_python/src/swig/fastdds/rtps/common/SampleIdentity.i

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
%}
1818

1919
// Ignore overloaded constructor and methods that have no effect on target language
20-
%ignore eprosima::fastdds::rtps::SampleIdentity::SampleIdentity(SampleIdentity &&);
20+
%copyctor eprosima::fastdds::rtps::SampleIdentity;
2121
%ignore eprosima::fastdds::rtps::SampleIdentity::writer_guid(GUID_t &&);
2222
%ignore eprosima::fastdds::rtps::SampleIdentity::writer_guid() const;
2323
%ignore eprosima::fastdds::rtps::SampleIdentity::sequence_number(SequenceNumber_t &&);

fastdds_python/src/swig/fastdds/rtps/common/SequenceNumber.i

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "fastdds/rtps/common/SequenceNumber.hpp"
1717
%}
1818

19+
%copyctor eprosima::fastdds::rtps::SequenceNumber_t;
1920

2021
%ignore eprosima::fastdds::rtps::operator <<(std::ostream&, const SequenceNumber_t&);
2122
%ignore eprosima::fastdds::rtps::operator <<(std::ostream&, const std::vector<SequenceNumber_t>&);

fastdds_python/src/swig/fastdds/rtps/common/Time_t.i

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
// We remove the one that is not used in the user API
2222
// We also remove all the related operators
2323
%rename(RTPSTime_t) eprosima::fastdds::rtps::Time_t;
24+
25+
%copyctor eprosima::fastdds::rtps::Time_t;
26+
2427
%ignore eprosima::fastdds::rtps::operator==(const Time_t&, const Time_t&);
2528
%ignore eprosima::fastdds::rtps::operator!=(const Time_t&, const Time_t&);
2629
%ignore eprosima::fastdds::rtps::operator<(const Time_t&, const Time_t&);
@@ -31,5 +34,7 @@
3134
%ignore eprosima::fastdds::rtps::operator-(const Time_t&, const Time_t&);
3235
%ignore eprosima::fastdds::rtps::operator<<(std::ostream&, const Time_t&);
3336
%ignore eprosima::fastdds::rtps::operator>>(std::istream&, Time_t&);
37+
%ignore eprosima::fastdds::rtps::Time_t::seconds() const;
38+
%ignore eprosima::fastdds::rtps::Time_t::fraction() const;
3439

3540
%include <fastdds/rtps/common/Time_t.hpp>

0 commit comments

Comments
 (0)