From f7b2b9f518726d4478e3ff26fd2bc7609b46245d Mon Sep 17 00:00:00 2001 From: eduponz Date: Tue, 16 Jul 2024 14:28:15 +0200 Subject: [PATCH] Refs #21325: Remove FASTCDR_VERSION_MAJOR == 1 related code Signed-off-by: eduponz --- include/fastdds/config.hpp.in | 6 - .../fastdds/rtps/common/CdrSerialization.hpp | 72 - .../core/policy/QosPoliciesSerializer.hpp | 21 - .../DDSSQLFilter/DDSFilterExpression.cpp | 4 - .../rtps/transport/tcp/TCPControlMessage.cpp | 28 - .../cryptography/AESGCMGMAC_Transform.cpp | 9 - .../DDSBlackboxTestsDataRepresentationQos.cpp | 4 - test/blackbox/common/RTPSAsSocketWriter.hpp | 4 - .../common/RTPSWithRegistrationReader.hpp | 4 - test/blackbox/types/core/core_types.cxx | 2844 ---------- test/blackbox/types/core/core_types.h | 2262 -------- .../types/core/core_typesTypeObject.cxx | 4909 ----------------- .../types/core/core_typesTypeObject.h | 192 - test/realtime/UserThreadNonBlockedTest.cpp | 4 - .../dds/subscriber/FooBoundedTypeSupport.hpp | 6 - .../dds/subscriber/FooTypeSupport.hpp | 10 - test/unittest/rtps/writer/RTPSWriterTests.cpp | 9 - 17 files changed, 10388 deletions(-) delete mode 100644 test/blackbox/types/core/core_types.cxx delete mode 100644 test/blackbox/types/core/core_types.h delete mode 100644 test/blackbox/types/core/core_typesTypeObject.cxx delete mode 100644 test/blackbox/types/core/core_typesTypeObject.h diff --git a/include/fastdds/config.hpp.in b/include/fastdds/config.hpp.in index eb65636c8f3..a13c850727b 100644 --- a/include/fastdds/config.hpp.in +++ b/include/fastdds/config.hpp.in @@ -124,10 +124,4 @@ (FASTDDS_VERSION_MAJOR == major && FASTDDS_VERSION_MINOR < minor), \ "TODO before version " #major "." #minor " : " #msg) -#if FASTCDR_VERSION_MAJOR > 1 -#define FASTDDS_SER_METHOD_DEPRECATED(major, entity_name, msg) FASTDDS_DEPRECATED_UNTIL(major, entity_name, msg) -#else -#define FASTDDS_SER_METHOD_DEPRECATED(major, entity_name, msg) -#endif // if FASTCDR_VERSION_MAJOR > 1 - #endif // FASTDDS__CONFIG_H diff --git a/include/fastdds/rtps/common/CdrSerialization.hpp b/include/fastdds/rtps/common/CdrSerialization.hpp index 5595278bf5b..80d762b73b3 100644 --- a/include/fastdds/rtps/common/CdrSerialization.hpp +++ b/include/fastdds/rtps/common/CdrSerialization.hpp @@ -20,76 +20,6 @@ #define FASTDDS_RTPS_COMMON__CDRSERIALIZATION_HPP #include - -#if FASTCDR_VERSION_MAJOR == 1 - -#include -#include - -namespace eprosima { -namespace fastcdr { - -namespace CdrVersion { -const eprosima::fastcdr::Cdr::CdrType DDS_CDR = eprosima::fastcdr::Cdr::CdrType::DDS_CDR; -const eprosima::fastcdr::Cdr::CdrType XCDRv1 = eprosima::fastcdr::Cdr::CdrType::DDS_CDR; -const eprosima::fastcdr::Cdr::CdrType XCDRv2 = eprosima::fastcdr::Cdr::CdrType::DDS_CDR; -} // namespace CdrVersion - -class CdrSizeCalculator; - -template -extern size_t calculate_serialized_size( - eprosima::fastcdr::CdrSizeCalculator& calculator, - const _T& data, - size_t& current_alignment); - -template -extern void serialize( - Cdr&, - const _T&); - -template -extern void deserialize( - Cdr&, - _T&); - -// Dummy class -class CdrSizeCalculator -{ -public: - - CdrSizeCalculator( - eprosima::fastcdr::Cdr::CdrType) - { - } - - template - size_t calculate_serialized_size( - const _T& data, - size_t current_alignment) - { - return eprosima::fastcdr::calculate_serialized_size(*this, data, current_alignment); - } - -}; - -template -using fastcdr::fixed_string = eprosima::fastcdr::fixed_string; - -} // namespace fastcdr -} // namespace eprosima - -namespace eprosima { -namespace fastdds { -namespace rtps { -//! Default XCDR encoding version used in Fast DDS. -constexpr eprosima::fastcdr::Cdr::CdrType DEFAULT_XCDR_VERSION {eprosima::fastcdr::Cdr::CdrType::DDS_CDR}; -} // namespace rtps -} // namespace fastdds -} // namespace eprosima - -#else - #include namespace eprosima { @@ -101,6 +31,4 @@ constexpr eprosima::fastcdr::CdrVersion DEFAULT_XCDR_VERSION {eprosima::fastcdr: } // namespace fastdds } // namespace eprosima -#endif //FASTCDR_VERSION_MAJOR == 1 - #endif // FASTDDS_RTPS_COMMON__CDRSERIALIZATION_HPP diff --git a/src/cpp/fastdds/core/policy/QosPoliciesSerializer.hpp b/src/cpp/fastdds/core/policy/QosPoliciesSerializer.hpp index 70c63d0e085..c35e65846b6 100644 --- a/src/cpp/fastdds/core/policy/QosPoliciesSerializer.hpp +++ b/src/cpp/fastdds/core/policy/QosPoliciesSerializer.hpp @@ -906,13 +906,8 @@ inline bool QosPoliciesSerializer::add_to_cdr_message( ser.serialize_encapsulation(); ser << qos_policy.m_type_identifier; -#if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - size = (ser.getSerializedDataLength() + 3) & ~3; -#else payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length size = (ser.get_serialized_data_length() + 3) & ~3; -#endif // FASTCDR_VERSION_MAJOR == 1 bool valid = rtps::CDRMessage::addUInt16(cdr_message, qos_policy.Pid); valid &= rtps::CDRMessage::addUInt16(cdr_message, static_cast(size)); @@ -938,9 +933,6 @@ inline bool QosPoliciesSerializer::read_content_from_cdr_message( rtps::CDRMessage::readData(cdr_message, payload.data, parameter_length); // Object that manages the raw buffer. eprosima::fastcdr::Cdr deser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN -#if FASTCDR_VERSION_MAJOR == 1 - , eprosima::fastcdr::Cdr::CdrType::DDS_CDR -#endif // FASTCDR_VERSION_MAJOR == 1 ); try @@ -988,13 +980,8 @@ inline bool QosPoliciesSerializer::add_to_cdr_message( ser.serialize_encapsulation(); ser << qos_policy.m_type_object; -#if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - size = (ser.getSerializedDataLength() + 3) & ~3; -#else payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length size = (ser.get_serialized_data_length() + 3) & ~3; -#endif // FASTCDR_VERSION_MAJOR == 1 bool valid = rtps::CDRMessage::addUInt16(cdr_message, qos_policy.Pid); valid &= rtps::CDRMessage::addUInt16(cdr_message, static_cast(size)); @@ -1020,9 +1007,6 @@ inline bool QosPoliciesSerializer::read_content_from_cdr_message( rtps::CDRMessage::readData(cdr_message, payload.data, parameter_length); // Object that manages the raw buffer. eprosima::fastcdr::Cdr deser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN -#if FASTCDR_VERSION_MAJOR == 1 - , eprosima::fastcdr::Cdr::CdrType::DDS_CDR -#endif // FASTCDR_VERSION_MAJOR == 1 ); try @@ -1071,13 +1055,8 @@ inline bool QosPoliciesSerializer::add_to_cdr_ ser.set_encoding_flag(eprosima::fastcdr::EncodingAlgorithmFlag::PL_CDR2); ser << qos_policy.type_information; -#if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - size = (ser.getSerializedDataLength() + 3) & ~3; -#else payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length size = (ser.get_serialized_data_length() + 3) & ~3; -#endif // FASTCDR_VERSION_MAJOR == 1 bool valid = rtps::CDRMessage::addUInt16(cdr_message, qos_policy.Pid); valid &= rtps::CDRMessage::addUInt16(cdr_message, static_cast(size)); diff --git a/src/cpp/fastdds/topic/DDSSQLFilter/DDSFilterExpression.cpp b/src/cpp/fastdds/topic/DDSSQLFilter/DDSFilterExpression.cpp index 2157410b245..629820262e4 100644 --- a/src/cpp/fastdds/topic/DDSSQLFilter/DDSFilterExpression.cpp +++ b/src/cpp/fastdds/topic/DDSSQLFilter/DDSFilterExpression.cpp @@ -55,10 +55,6 @@ bool DDSFilterExpression::evaluate( { FastBuffer fastbuffer(reinterpret_cast(payload.data), payload.length); Cdr deser(fastbuffer -#if FASTCDR_VERSION_MAJOR == 1 - , eprosima::fastcdr::Cdr::DEFAULT_ENDIAN - , eprosima::fastcdr::Cdr::CdrType::DDS_CDR -#endif // FASTCDR_VERSION_MAJOR == 1 ); deser.read_encapsulation(); traits::narrow(dyn_data_)->deserialize(deser); diff --git a/src/cpp/rtps/transport/tcp/TCPControlMessage.cpp b/src/cpp/rtps/transport/tcp/TCPControlMessage.cpp index ac5c1cd04ff..7d8543fbe0e 100644 --- a/src/cpp/rtps/transport/tcp/TCPControlMessage.cpp +++ b/src/cpp/rtps/transport/tcp/TCPControlMessage.cpp @@ -164,11 +164,7 @@ bool ConnectionRequest_t::serialize( return false; } -#if FASTCDR_VERSION_MAJOR == 1 - payload->length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length -#else payload->length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length -#endif // FASTCDR_VERSION_MAJOR == 1 return true; } @@ -256,11 +252,7 @@ bool OpenLogicalPortRequest_t::serialize( return false; } -#if FASTCDR_VERSION_MAJOR == 1 - payload->length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length -#else payload->length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length -#endif // FASTCDR_VERSION_MAJOR == 1 return true; } @@ -349,11 +341,7 @@ bool CheckLogicalPortsRequest_t::serialize( return false; } -#if FASTCDR_VERSION_MAJOR == 1 - payload->length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length -#else payload->length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length -#endif // FASTCDR_VERSION_MAJOR == 1 return true; } @@ -441,11 +429,7 @@ bool KeepAliveRequest_t::serialize( return false; } -#if FASTCDR_VERSION_MAJOR == 1 - payload->length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length -#else payload->length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length -#endif // FASTCDR_VERSION_MAJOR == 1 return true; } @@ -533,11 +517,7 @@ bool LogicalPortIsClosedRequest_t::serialize( return false; } -#if FASTCDR_VERSION_MAJOR == 1 - payload->length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length -#else payload->length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length -#endif // FASTCDR_VERSION_MAJOR == 1 return true; } @@ -625,11 +605,7 @@ bool BindConnectionResponse_t::serialize( return false; } -#if FASTCDR_VERSION_MAJOR == 1 - payload->length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length -#else payload->length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length -#endif // FASTCDR_VERSION_MAJOR == 1 return true; } @@ -718,11 +694,7 @@ bool CheckLogicalPortsResponse_t::serialize( return false; } -#if FASTCDR_VERSION_MAJOR == 1 - payload->length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length -#else payload->length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length -#endif // FASTCDR_VERSION_MAJOR == 1 return true; } diff --git a/src/cpp/security/cryptography/AESGCMGMAC_Transform.cpp b/src/cpp/security/cryptography/AESGCMGMAC_Transform.cpp index f8813b42496..691ad17e013 100644 --- a/src/cpp/security/cryptography/AESGCMGMAC_Transform.cpp +++ b/src/cpp/security/cryptography/AESGCMGMAC_Transform.cpp @@ -38,15 +38,6 @@ #undef max #endif // ifdef WIN32 -#if FASTCDR_VERSION_MAJOR == 1 -#define change_endianness changeEndianness -#define get_serialized_data_length getSerializedDataLength -#define get_state getState -#define get_current_position getCurrentPosition -#define get_buffer_pointer getBufferPointer -#define set_state setState -#endif // FASTCDR_VERSION_MAJOR == 1 - namespace eprosima { namespace fastdds { namespace rtps { diff --git a/test/blackbox/common/DDSBlackboxTestsDataRepresentationQos.cpp b/test/blackbox/common/DDSBlackboxTestsDataRepresentationQos.cpp index 28b480582e3..512bccb3ed1 100644 --- a/test/blackbox/common/DDSBlackboxTestsDataRepresentationQos.cpp +++ b/test/blackbox/common/DDSBlackboxTestsDataRepresentationQos.cpp @@ -24,8 +24,6 @@ using namespace eprosima::fastdds::dds; -#if FASTCDR_VERSION_MAJOR > 1 - class MockHelloWorldPubSubType : public HelloWorldPubSubType { public: @@ -150,5 +148,3 @@ INSTANTIATE_TEST_SUITE_P( std::make_tuple(XCDR2_VECTOR, XCDR2_VECTOR, true, XCDR2_DATA_REPRESENTATION, eprosima::fastcdr::PLAIN_CDR2), std::make_tuple(XCDR2_VECTOR, BOTH_XCDR_VECTOR, true, XCDR2_DATA_REPRESENTATION, eprosima::fastcdr::PLAIN_CDR2) )); - -#endif // FASTCDR_VERSION_MAJOR > 1 diff --git a/test/blackbox/common/RTPSAsSocketWriter.hpp b/test/blackbox/common/RTPSAsSocketWriter.hpp index b8cb3905e18..f47bda90584 100644 --- a/test/blackbox/common/RTPSAsSocketWriter.hpp +++ b/test/blackbox/common/RTPSAsSocketWriter.hpp @@ -148,11 +148,7 @@ class RTPSAsSocketWriter : public eprosima::fastdds::rtps::WriterListener cdr << magicword_; cdr << *it; -#if FASTCDR_VERSION_MAJOR == 1 - ch->serializedPayload.length = static_cast(cdr.getSerializedDataLength()); -#else ch->serializedPayload.length = static_cast(cdr.get_serialized_data_length()); -#endif // FASTCDR_VERSION_MAJOR == 1 history_->add_change(ch); it = msgs.erase(it); diff --git a/test/blackbox/common/RTPSWithRegistrationReader.hpp b/test/blackbox/common/RTPSWithRegistrationReader.hpp index 59c4f5553ca..879f4dbda0d 100644 --- a/test/blackbox/common/RTPSWithRegistrationReader.hpp +++ b/test/blackbox/common/RTPSWithRegistrationReader.hpp @@ -576,10 +576,6 @@ class RTPSWithRegistrationReader eprosima::fastcdr::FastBuffer buffer((char*)change->serializedPayload.data, change->serializedPayload.length); eprosima::fastcdr::Cdr cdr(buffer -#if FASTCDR_VERSION_MAJOR == 1 - , eprosima::fastcdr::Cdr::DEFAULT_ENDIAN - , eprosima::fastcdr::Cdr::CdrType::DDS_CDR -#endif // FASTCDR_VERSION_MAJOR == 1 ); cdr.read_encapsulation(); diff --git a/test/blackbox/types/core/core_types.cxx b/test/blackbox/types/core/core_types.cxx deleted file mode 100644 index 77514210525..00000000000 --- a/test/blackbox/types/core/core_types.cxx +++ /dev/null @@ -1,2844 +0,0 @@ -// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/*! - * @file core_types.cpp - * This source file contains the implementation of the described types in the IDL file. - * - * This file was generated by the tool fastddsgen. - */ - -#ifdef _WIN32 -// Remove linker warning LNK4221 on Visual Studio -namespace { -char dummy; -} // namespace -#endif // _WIN32 - -#include "core_types.h" - -#include "core_typesTypeObject.h" - -#include - - -#include -using namespace eprosima::fastcdr::exception; - -#include - - -namespace eprosima { - -namespace fastdds { - -namespace rtps { - -namespace core { - -namespace detail { - - - -EntityId_t::EntityId_t() -{ - // Just to register all known types - registercore_typesTypes(); -} - -EntityId_t::~EntityId_t() -{ -} - -EntityId_t::EntityId_t( - const EntityId_t& x) -{ - m_value = x.m_value; -} - -EntityId_t::EntityId_t( - EntityId_t&& x) noexcept -{ - m_value = std::move(x.m_value); -} - -EntityId_t& EntityId_t::operator =( - const EntityId_t& x) -{ - - m_value = x.m_value; - return *this; -} - -EntityId_t& EntityId_t::operator =( - EntityId_t&& x) noexcept -{ - - m_value = std::move(x.m_value); - return *this; -} - -bool EntityId_t::operator ==( - const EntityId_t& x) const -{ - return (m_value == x.m_value); -} - -bool EntityId_t::operator !=( - const EntityId_t& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member value - * @param _value New value to be copied in member value - */ -void EntityId_t::value( - const std::array& _value) -{ - m_value = _value; -} - -/*! - * @brief This function moves the value in member value - * @param _value New value to be moved in member value - */ -void EntityId_t::value( - std::array&& _value) -{ - m_value = std::move(_value); -} - -/*! - * @brief This function returns a constant reference to member value - * @return Constant reference to member value - */ -const std::array& EntityId_t::value() const -{ - return m_value; -} - -/*! - * @brief This function returns a reference to member value - * @return Reference to member value - */ -std::array& EntityId_t::value() -{ - return m_value; -} - - - - -ProtocolVersion_t::ProtocolVersion_t() -{ - // Just to register all known types - registercore_typesTypes(); -} - -ProtocolVersion_t::~ProtocolVersion_t() -{ -} - -ProtocolVersion_t::ProtocolVersion_t( - const ProtocolVersion_t& x) -{ - m_major = x.m_major; - m_minor = x.m_minor; -} - -ProtocolVersion_t::ProtocolVersion_t( - ProtocolVersion_t&& x) noexcept -{ - m_major = x.m_major; - m_minor = x.m_minor; -} - -ProtocolVersion_t& ProtocolVersion_t::operator =( - const ProtocolVersion_t& x) -{ - - m_major = x.m_major; - m_minor = x.m_minor; - return *this; -} - -ProtocolVersion_t& ProtocolVersion_t::operator =( - ProtocolVersion_t&& x) noexcept -{ - - m_major = x.m_major; - m_minor = x.m_minor; - return *this; -} - -bool ProtocolVersion_t::operator ==( - const ProtocolVersion_t& x) const -{ - return (m_major == x.m_major && - m_minor == x.m_minor); -} - -bool ProtocolVersion_t::operator !=( - const ProtocolVersion_t& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function sets a value in member major - * @param _major New value for member major - */ -void ProtocolVersion_t::major( - uint8_t _major) -{ - m_major = _major; -} - -/*! - * @brief This function returns the value of member major - * @return Value of member major - */ -uint8_t ProtocolVersion_t::major() const -{ - return m_major; -} - -/*! - * @brief This function returns a reference to member major - * @return Reference to member major - */ -uint8_t& ProtocolVersion_t::major() -{ - return m_major; -} - - -/*! - * @brief This function sets a value in member minor - * @param _minor New value for member minor - */ -void ProtocolVersion_t::minor( - uint8_t _minor) -{ - m_minor = _minor; -} - -/*! - * @brief This function returns the value of member minor - * @return Value of member minor - */ -uint8_t ProtocolVersion_t::minor() const -{ - return m_minor; -} - -/*! - * @brief This function returns a reference to member minor - * @return Reference to member minor - */ -uint8_t& ProtocolVersion_t::minor() -{ - return m_minor; -} - - - - -VendorId_t::VendorId_t() -{ - // Just to register all known types - registercore_typesTypes(); -} - -VendorId_t::~VendorId_t() -{ -} - -VendorId_t::VendorId_t( - const VendorId_t& x) -{ - m_vendorId = x.m_vendorId; -} - -VendorId_t::VendorId_t( - VendorId_t&& x) noexcept -{ - m_vendorId = std::move(x.m_vendorId); -} - -VendorId_t& VendorId_t::operator =( - const VendorId_t& x) -{ - - m_vendorId = x.m_vendorId; - return *this; -} - -VendorId_t& VendorId_t::operator =( - VendorId_t&& x) noexcept -{ - - m_vendorId = std::move(x.m_vendorId); - return *this; -} - -bool VendorId_t::operator ==( - const VendorId_t& x) const -{ - return (m_vendorId == x.m_vendorId); -} - -bool VendorId_t::operator !=( - const VendorId_t& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member vendorId - * @param _vendorId New value to be copied in member vendorId - */ -void VendorId_t::vendorId( - const std::array& _vendorId) -{ - m_vendorId = _vendorId; -} - -/*! - * @brief This function moves the value in member vendorId - * @param _vendorId New value to be moved in member vendorId - */ -void VendorId_t::vendorId( - std::array&& _vendorId) -{ - m_vendorId = std::move(_vendorId); -} - -/*! - * @brief This function returns a constant reference to member vendorId - * @return Constant reference to member vendorId - */ -const std::array& VendorId_t::vendorId() const -{ - return m_vendorId; -} - -/*! - * @brief This function returns a reference to member vendorId - * @return Reference to member vendorId - */ -std::array& VendorId_t::vendorId() -{ - return m_vendorId; -} - - - - -GuidPrefix_t::GuidPrefix_t() -{ - // Just to register all known types - registercore_typesTypes(); -} - -GuidPrefix_t::~GuidPrefix_t() -{ -} - -GuidPrefix_t::GuidPrefix_t( - const GuidPrefix_t& x) -{ - m_value = x.m_value; -} - -GuidPrefix_t::GuidPrefix_t( - GuidPrefix_t&& x) noexcept -{ - m_value = std::move(x.m_value); -} - -GuidPrefix_t& GuidPrefix_t::operator =( - const GuidPrefix_t& x) -{ - - m_value = x.m_value; - return *this; -} - -GuidPrefix_t& GuidPrefix_t::operator =( - GuidPrefix_t&& x) noexcept -{ - - m_value = std::move(x.m_value); - return *this; -} - -bool GuidPrefix_t::operator ==( - const GuidPrefix_t& x) const -{ - return (m_value == x.m_value); -} - -bool GuidPrefix_t::operator !=( - const GuidPrefix_t& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member value - * @param _value New value to be copied in member value - */ -void GuidPrefix_t::value( - const std::array& _value) -{ - m_value = _value; -} - -/*! - * @brief This function moves the value in member value - * @param _value New value to be moved in member value - */ -void GuidPrefix_t::value( - std::array&& _value) -{ - m_value = std::move(_value); -} - -/*! - * @brief This function returns a constant reference to member value - * @return Constant reference to member value - */ -const std::array& GuidPrefix_t::value() const -{ - return m_value; -} - -/*! - * @brief This function returns a reference to member value - * @return Reference to member value - */ -std::array& GuidPrefix_t::value() -{ - return m_value; -} - - - - -GUID_t::GUID_t() -{ - // Just to register all known types - registercore_typesTypes(); -} - -GUID_t::~GUID_t() -{ -} - -GUID_t::GUID_t( - const GUID_t& x) -{ - m_guidPrefix = x.m_guidPrefix; - m_entityId = x.m_entityId; -} - -GUID_t::GUID_t( - GUID_t&& x) noexcept -{ - m_guidPrefix = std::move(x.m_guidPrefix); - m_entityId = std::move(x.m_entityId); -} - -GUID_t& GUID_t::operator =( - const GUID_t& x) -{ - - m_guidPrefix = x.m_guidPrefix; - m_entityId = x.m_entityId; - return *this; -} - -GUID_t& GUID_t::operator =( - GUID_t&& x) noexcept -{ - - m_guidPrefix = std::move(x.m_guidPrefix); - m_entityId = std::move(x.m_entityId); - return *this; -} - -bool GUID_t::operator ==( - const GUID_t& x) const -{ - return (m_guidPrefix == x.m_guidPrefix && - m_entityId == x.m_entityId); -} - -bool GUID_t::operator !=( - const GUID_t& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member guidPrefix - * @param _guidPrefix New value to be copied in member guidPrefix - */ -void GUID_t::guidPrefix( - const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& _guidPrefix) -{ - m_guidPrefix = _guidPrefix; -} - -/*! - * @brief This function moves the value in member guidPrefix - * @param _guidPrefix New value to be moved in member guidPrefix - */ -void GUID_t::guidPrefix( - eprosima::fastdds::rtps::core::detail::GuidPrefix_t&& _guidPrefix) -{ - m_guidPrefix = std::move(_guidPrefix); -} - -/*! - * @brief This function returns a constant reference to member guidPrefix - * @return Constant reference to member guidPrefix - */ -const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& GUID_t::guidPrefix() const -{ - return m_guidPrefix; -} - -/*! - * @brief This function returns a reference to member guidPrefix - * @return Reference to member guidPrefix - */ -eprosima::fastdds::rtps::core::detail::GuidPrefix_t& GUID_t::guidPrefix() -{ - return m_guidPrefix; -} - - -/*! - * @brief This function copies the value in member entityId - * @param _entityId New value to be copied in member entityId - */ -void GUID_t::entityId( - const eprosima::fastdds::rtps::core::detail::EntityId_t& _entityId) -{ - m_entityId = _entityId; -} - -/*! - * @brief This function moves the value in member entityId - * @param _entityId New value to be moved in member entityId - */ -void GUID_t::entityId( - eprosima::fastdds::rtps::core::detail::EntityId_t&& _entityId) -{ - m_entityId = std::move(_entityId); -} - -/*! - * @brief This function returns a constant reference to member entityId - * @return Constant reference to member entityId - */ -const eprosima::fastdds::rtps::core::detail::EntityId_t& GUID_t::entityId() const -{ - return m_entityId; -} - -/*! - * @brief This function returns a reference to member entityId - * @return Reference to member entityId - */ -eprosima::fastdds::rtps::core::detail::EntityId_t& GUID_t::entityId() -{ - return m_entityId; -} - - - - -SequenceNumber_t::SequenceNumber_t() -{ - // Just to register all known types - registercore_typesTypes(); -} - -SequenceNumber_t::~SequenceNumber_t() -{ -} - -SequenceNumber_t::SequenceNumber_t( - const SequenceNumber_t& x) -{ - m_high = x.m_high; - m_low = x.m_low; -} - -SequenceNumber_t::SequenceNumber_t( - SequenceNumber_t&& x) noexcept -{ - m_high = x.m_high; - m_low = x.m_low; -} - -SequenceNumber_t& SequenceNumber_t::operator =( - const SequenceNumber_t& x) -{ - - m_high = x.m_high; - m_low = x.m_low; - return *this; -} - -SequenceNumber_t& SequenceNumber_t::operator =( - SequenceNumber_t&& x) noexcept -{ - - m_high = x.m_high; - m_low = x.m_low; - return *this; -} - -bool SequenceNumber_t::operator ==( - const SequenceNumber_t& x) const -{ - return (m_high == x.m_high && - m_low == x.m_low); -} - -bool SequenceNumber_t::operator !=( - const SequenceNumber_t& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function sets a value in member high - * @param _high New value for member high - */ -void SequenceNumber_t::high( - int32_t _high) -{ - m_high = _high; -} - -/*! - * @brief This function returns the value of member high - * @return Value of member high - */ -int32_t SequenceNumber_t::high() const -{ - return m_high; -} - -/*! - * @brief This function returns a reference to member high - * @return Reference to member high - */ -int32_t& SequenceNumber_t::high() -{ - return m_high; -} - - -/*! - * @brief This function sets a value in member low - * @param _low New value for member low - */ -void SequenceNumber_t::low( - uint32_t _low) -{ - m_low = _low; -} - -/*! - * @brief This function returns the value of member low - * @return Value of member low - */ -uint32_t SequenceNumber_t::low() const -{ - return m_low; -} - -/*! - * @brief This function returns a reference to member low - * @return Reference to member low - */ -uint32_t& SequenceNumber_t::low() -{ - return m_low; -} - - - - -Count_t::Count_t() -{ - // Just to register all known types - registercore_typesTypes(); -} - -Count_t::~Count_t() -{ -} - -Count_t::Count_t( - const Count_t& x) -{ - m_value = x.m_value; -} - -Count_t::Count_t( - Count_t&& x) noexcept -{ - m_value = x.m_value; -} - -Count_t& Count_t::operator =( - const Count_t& x) -{ - - m_value = x.m_value; - return *this; -} - -Count_t& Count_t::operator =( - Count_t&& x) noexcept -{ - - m_value = x.m_value; - return *this; -} - -bool Count_t::operator ==( - const Count_t& x) const -{ - return (m_value == x.m_value); -} - -bool Count_t::operator !=( - const Count_t& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function sets a value in member value - * @param _value New value for member value - */ -void Count_t::value( - int32_t _value) -{ - m_value = _value; -} - -/*! - * @brief This function returns the value of member value - * @return Value of member value - */ -int32_t Count_t::value() const -{ - return m_value; -} - -/*! - * @brief This function returns a reference to member value - * @return Reference to member value - */ -int32_t& Count_t::value() -{ - return m_value; -} - - - - -Time_t::Time_t() -{ - // Just to register all known types - registercore_typesTypes(); -} - -Time_t::~Time_t() -{ -} - -Time_t::Time_t( - const Time_t& x) -{ - m_seconds = x.m_seconds; - m_fraction = x.m_fraction; -} - -Time_t::Time_t( - Time_t&& x) noexcept -{ - m_seconds = x.m_seconds; - m_fraction = x.m_fraction; -} - -Time_t& Time_t::operator =( - const Time_t& x) -{ - - m_seconds = x.m_seconds; - m_fraction = x.m_fraction; - return *this; -} - -Time_t& Time_t::operator =( - Time_t&& x) noexcept -{ - - m_seconds = x.m_seconds; - m_fraction = x.m_fraction; - return *this; -} - -bool Time_t::operator ==( - const Time_t& x) const -{ - return (m_seconds == x.m_seconds && - m_fraction == x.m_fraction); -} - -bool Time_t::operator !=( - const Time_t& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function sets a value in member seconds - * @param _seconds New value for member seconds - */ -void Time_t::seconds( - uint32_t _seconds) -{ - m_seconds = _seconds; -} - -/*! - * @brief This function returns the value of member seconds - * @return Value of member seconds - */ -uint32_t Time_t::seconds() const -{ - return m_seconds; -} - -/*! - * @brief This function returns a reference to member seconds - * @return Reference to member seconds - */ -uint32_t& Time_t::seconds() -{ - return m_seconds; -} - - -/*! - * @brief This function sets a value in member fraction - * @param _fraction New value for member fraction - */ -void Time_t::fraction( - uint32_t _fraction) -{ - m_fraction = _fraction; -} - -/*! - * @brief This function returns the value of member fraction - * @return Value of member fraction - */ -uint32_t Time_t::fraction() const -{ - return m_fraction; -} - -/*! - * @brief This function returns a reference to member fraction - * @return Reference to member fraction - */ -uint32_t& Time_t::fraction() -{ - return m_fraction; -} - - - - - -} // namespace detail - - -Header::Header() -{ - // Just to register all known types - registercore_typesTypes(); -} - -Header::~Header() -{ -} - -Header::Header( - const Header& x) -{ - m_prefix = x.m_prefix; - m_version = x.m_version; - m_vendorId = x.m_vendorId; - m_guidPrefix = x.m_guidPrefix; -} - -Header::Header( - Header&& x) noexcept -{ - m_prefix = std::move(x.m_prefix); - m_version = std::move(x.m_version); - m_vendorId = std::move(x.m_vendorId); - m_guidPrefix = std::move(x.m_guidPrefix); -} - -Header& Header::operator =( - const Header& x) -{ - - m_prefix = x.m_prefix; - m_version = x.m_version; - m_vendorId = x.m_vendorId; - m_guidPrefix = x.m_guidPrefix; - return *this; -} - -Header& Header::operator =( - Header&& x) noexcept -{ - - m_prefix = std::move(x.m_prefix); - m_version = std::move(x.m_version); - m_vendorId = std::move(x.m_vendorId); - m_guidPrefix = std::move(x.m_guidPrefix); - return *this; -} - -bool Header::operator ==( - const Header& x) const -{ - return (m_prefix == x.m_prefix && - m_version == x.m_version && - m_vendorId == x.m_vendorId && - m_guidPrefix == x.m_guidPrefix); -} - -bool Header::operator !=( - const Header& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member prefix - * @param _prefix New value to be copied in member prefix - */ -void Header::prefix( - const std::array& _prefix) -{ - m_prefix = _prefix; -} - -/*! - * @brief This function moves the value in member prefix - * @param _prefix New value to be moved in member prefix - */ -void Header::prefix( - std::array&& _prefix) -{ - m_prefix = std::move(_prefix); -} - -/*! - * @brief This function returns a constant reference to member prefix - * @return Constant reference to member prefix - */ -const std::array& Header::prefix() const -{ - return m_prefix; -} - -/*! - * @brief This function returns a reference to member prefix - * @return Reference to member prefix - */ -std::array& Header::prefix() -{ - return m_prefix; -} - - -/*! - * @brief This function copies the value in member version - * @param _version New value to be copied in member version - */ -void Header::version( - const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& _version) -{ - m_version = _version; -} - -/*! - * @brief This function moves the value in member version - * @param _version New value to be moved in member version - */ -void Header::version( - eprosima::fastdds::rtps::core::detail::ProtocolVersion_t&& _version) -{ - m_version = std::move(_version); -} - -/*! - * @brief This function returns a constant reference to member version - * @return Constant reference to member version - */ -const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& Header::version() const -{ - return m_version; -} - -/*! - * @brief This function returns a reference to member version - * @return Reference to member version - */ -eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& Header::version() -{ - return m_version; -} - - -/*! - * @brief This function copies the value in member vendorId - * @param _vendorId New value to be copied in member vendorId - */ -void Header::vendorId( - const eprosima::fastdds::rtps::core::detail::VendorId_t& _vendorId) -{ - m_vendorId = _vendorId; -} - -/*! - * @brief This function moves the value in member vendorId - * @param _vendorId New value to be moved in member vendorId - */ -void Header::vendorId( - eprosima::fastdds::rtps::core::detail::VendorId_t&& _vendorId) -{ - m_vendorId = std::move(_vendorId); -} - -/*! - * @brief This function returns a constant reference to member vendorId - * @return Constant reference to member vendorId - */ -const eprosima::fastdds::rtps::core::detail::VendorId_t& Header::vendorId() const -{ - return m_vendorId; -} - -/*! - * @brief This function returns a reference to member vendorId - * @return Reference to member vendorId - */ -eprosima::fastdds::rtps::core::detail::VendorId_t& Header::vendorId() -{ - return m_vendorId; -} - - -/*! - * @brief This function copies the value in member guidPrefix - * @param _guidPrefix New value to be copied in member guidPrefix - */ -void Header::guidPrefix( - const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& _guidPrefix) -{ - m_guidPrefix = _guidPrefix; -} - -/*! - * @brief This function moves the value in member guidPrefix - * @param _guidPrefix New value to be moved in member guidPrefix - */ -void Header::guidPrefix( - eprosima::fastdds::rtps::core::detail::GuidPrefix_t&& _guidPrefix) -{ - m_guidPrefix = std::move(_guidPrefix); -} - -/*! - * @brief This function returns a constant reference to member guidPrefix - * @return Constant reference to member guidPrefix - */ -const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& Header::guidPrefix() const -{ - return m_guidPrefix; -} - -/*! - * @brief This function returns a reference to member guidPrefix - * @return Reference to member guidPrefix - */ -eprosima::fastdds::rtps::core::detail::GuidPrefix_t& Header::guidPrefix() -{ - return m_guidPrefix; -} - - - - -SubmessageHeader::SubmessageHeader() -{ - // Just to register all known types - registercore_typesTypes(); -} - -SubmessageHeader::~SubmessageHeader() -{ -} - -SubmessageHeader::SubmessageHeader( - const SubmessageHeader& x) -{ - m_submessageId = x.m_submessageId; - m_flags = x.m_flags; - m_submessageLength = x.m_submessageLength; -} - -SubmessageHeader::SubmessageHeader( - SubmessageHeader&& x) noexcept -{ - m_submessageId = x.m_submessageId; - m_flags = x.m_flags; - m_submessageLength = x.m_submessageLength; -} - -SubmessageHeader& SubmessageHeader::operator =( - const SubmessageHeader& x) -{ - - m_submessageId = x.m_submessageId; - m_flags = x.m_flags; - m_submessageLength = x.m_submessageLength; - return *this; -} - -SubmessageHeader& SubmessageHeader::operator =( - SubmessageHeader&& x) noexcept -{ - - m_submessageId = x.m_submessageId; - m_flags = x.m_flags; - m_submessageLength = x.m_submessageLength; - return *this; -} - -bool SubmessageHeader::operator ==( - const SubmessageHeader& x) const -{ - return (m_submessageId == x.m_submessageId && - m_flags == x.m_flags && - m_submessageLength == x.m_submessageLength); -} - -bool SubmessageHeader::operator !=( - const SubmessageHeader& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function sets a value in member submessageId - * @param _submessageId New value for member submessageId - */ -void SubmessageHeader::submessageId( - uint8_t _submessageId) -{ - m_submessageId = _submessageId; -} - -/*! - * @brief This function returns the value of member submessageId - * @return Value of member submessageId - */ -uint8_t SubmessageHeader::submessageId() const -{ - return m_submessageId; -} - -/*! - * @brief This function returns a reference to member submessageId - * @return Reference to member submessageId - */ -uint8_t& SubmessageHeader::submessageId() -{ - return m_submessageId; -} - - -/*! - * @brief This function sets a value in member flags - * @param _flags New value for member flags - */ -void SubmessageHeader::flags( - uint8_t _flags) -{ - m_flags = _flags; -} - -/*! - * @brief This function returns the value of member flags - * @return Value of member flags - */ -uint8_t SubmessageHeader::flags() const -{ - return m_flags; -} - -/*! - * @brief This function returns a reference to member flags - * @return Reference to member flags - */ -uint8_t& SubmessageHeader::flags() -{ - return m_flags; -} - - -/*! - * @brief This function sets a value in member submessageLength - * @param _submessageLength New value for member submessageLength - */ -void SubmessageHeader::submessageLength( - uint16_t _submessageLength) -{ - m_submessageLength = _submessageLength; -} - -/*! - * @brief This function returns the value of member submessageLength - * @return Value of member submessageLength - */ -uint16_t SubmessageHeader::submessageLength() const -{ - return m_submessageLength; -} - -/*! - * @brief This function returns a reference to member submessageLength - * @return Reference to member submessageLength - */ -uint16_t& SubmessageHeader::submessageLength() -{ - return m_submessageLength; -} - - - - - -HeartBeatSubmessage::HeartBeatSubmessage() -{ - // Just to register all known types - registercore_typesTypes(); -} - -HeartBeatSubmessage::~HeartBeatSubmessage() -{ -} - -HeartBeatSubmessage::HeartBeatSubmessage( - const HeartBeatSubmessage& x) -{ - m_submsgHeader = x.m_submsgHeader; - m_readerId = x.m_readerId; - m_writerId = x.m_writerId; - m_firstSN = x.m_firstSN; - m_lastSN = x.m_lastSN; - m_count = x.m_count; -} - -HeartBeatSubmessage::HeartBeatSubmessage( - HeartBeatSubmessage&& x) noexcept -{ - m_submsgHeader = std::move(x.m_submsgHeader); - m_readerId = std::move(x.m_readerId); - m_writerId = std::move(x.m_writerId); - m_firstSN = std::move(x.m_firstSN); - m_lastSN = std::move(x.m_lastSN); - m_count = std::move(x.m_count); -} - -HeartBeatSubmessage& HeartBeatSubmessage::operator =( - const HeartBeatSubmessage& x) -{ - - m_submsgHeader = x.m_submsgHeader; - m_readerId = x.m_readerId; - m_writerId = x.m_writerId; - m_firstSN = x.m_firstSN; - m_lastSN = x.m_lastSN; - m_count = x.m_count; - return *this; -} - -HeartBeatSubmessage& HeartBeatSubmessage::operator =( - HeartBeatSubmessage&& x) noexcept -{ - - m_submsgHeader = std::move(x.m_submsgHeader); - m_readerId = std::move(x.m_readerId); - m_writerId = std::move(x.m_writerId); - m_firstSN = std::move(x.m_firstSN); - m_lastSN = std::move(x.m_lastSN); - m_count = std::move(x.m_count); - return *this; -} - -bool HeartBeatSubmessage::operator ==( - const HeartBeatSubmessage& x) const -{ - return (m_submsgHeader == x.m_submsgHeader && - m_readerId == x.m_readerId && - m_writerId == x.m_writerId && - m_firstSN == x.m_firstSN && - m_lastSN == x.m_lastSN && - m_count == x.m_count); -} - -bool HeartBeatSubmessage::operator !=( - const HeartBeatSubmessage& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member submsgHeader - * @param _submsgHeader New value to be copied in member submsgHeader - */ -void HeartBeatSubmessage::submsgHeader( - const eprosima::fastdds::rtps::core::SubmessageHeader& _submsgHeader) -{ - m_submsgHeader = _submsgHeader; -} - -/*! - * @brief This function moves the value in member submsgHeader - * @param _submsgHeader New value to be moved in member submsgHeader - */ -void HeartBeatSubmessage::submsgHeader( - eprosima::fastdds::rtps::core::SubmessageHeader&& _submsgHeader) -{ - m_submsgHeader = std::move(_submsgHeader); -} - -/*! - * @brief This function returns a constant reference to member submsgHeader - * @return Constant reference to member submsgHeader - */ -const eprosima::fastdds::rtps::core::SubmessageHeader& HeartBeatSubmessage::submsgHeader() const -{ - return m_submsgHeader; -} - -/*! - * @brief This function returns a reference to member submsgHeader - * @return Reference to member submsgHeader - */ -eprosima::fastdds::rtps::core::SubmessageHeader& HeartBeatSubmessage::submsgHeader() -{ - return m_submsgHeader; -} - - -/*! - * @brief This function copies the value in member readerId - * @param _readerId New value to be copied in member readerId - */ -void HeartBeatSubmessage::readerId( - const eprosima::fastdds::rtps::core::detail::EntityId_t& _readerId) -{ - m_readerId = _readerId; -} - -/*! - * @brief This function moves the value in member readerId - * @param _readerId New value to be moved in member readerId - */ -void HeartBeatSubmessage::readerId( - eprosima::fastdds::rtps::core::detail::EntityId_t&& _readerId) -{ - m_readerId = std::move(_readerId); -} - -/*! - * @brief This function returns a constant reference to member readerId - * @return Constant reference to member readerId - */ -const eprosima::fastdds::rtps::core::detail::EntityId_t& HeartBeatSubmessage::readerId() const -{ - return m_readerId; -} - -/*! - * @brief This function returns a reference to member readerId - * @return Reference to member readerId - */ -eprosima::fastdds::rtps::core::detail::EntityId_t& HeartBeatSubmessage::readerId() -{ - return m_readerId; -} - - -/*! - * @brief This function copies the value in member writerId - * @param _writerId New value to be copied in member writerId - */ -void HeartBeatSubmessage::writerId( - const eprosima::fastdds::rtps::core::detail::EntityId_t& _writerId) -{ - m_writerId = _writerId; -} - -/*! - * @brief This function moves the value in member writerId - * @param _writerId New value to be moved in member writerId - */ -void HeartBeatSubmessage::writerId( - eprosima::fastdds::rtps::core::detail::EntityId_t&& _writerId) -{ - m_writerId = std::move(_writerId); -} - -/*! - * @brief This function returns a constant reference to member writerId - * @return Constant reference to member writerId - */ -const eprosima::fastdds::rtps::core::detail::EntityId_t& HeartBeatSubmessage::writerId() const -{ - return m_writerId; -} - -/*! - * @brief This function returns a reference to member writerId - * @return Reference to member writerId - */ -eprosima::fastdds::rtps::core::detail::EntityId_t& HeartBeatSubmessage::writerId() -{ - return m_writerId; -} - - -/*! - * @brief This function copies the value in member firstSN - * @param _firstSN New value to be copied in member firstSN - */ -void HeartBeatSubmessage::firstSN( - const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& _firstSN) -{ - m_firstSN = _firstSN; -} - -/*! - * @brief This function moves the value in member firstSN - * @param _firstSN New value to be moved in member firstSN - */ -void HeartBeatSubmessage::firstSN( - eprosima::fastdds::rtps::core::detail::SequenceNumber_t&& _firstSN) -{ - m_firstSN = std::move(_firstSN); -} - -/*! - * @brief This function returns a constant reference to member firstSN - * @return Constant reference to member firstSN - */ -const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& HeartBeatSubmessage::firstSN() const -{ - return m_firstSN; -} - -/*! - * @brief This function returns a reference to member firstSN - * @return Reference to member firstSN - */ -eprosima::fastdds::rtps::core::detail::SequenceNumber_t& HeartBeatSubmessage::firstSN() -{ - return m_firstSN; -} - - -/*! - * @brief This function copies the value in member lastSN - * @param _lastSN New value to be copied in member lastSN - */ -void HeartBeatSubmessage::lastSN( - const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& _lastSN) -{ - m_lastSN = _lastSN; -} - -/*! - * @brief This function moves the value in member lastSN - * @param _lastSN New value to be moved in member lastSN - */ -void HeartBeatSubmessage::lastSN( - eprosima::fastdds::rtps::core::detail::SequenceNumber_t&& _lastSN) -{ - m_lastSN = std::move(_lastSN); -} - -/*! - * @brief This function returns a constant reference to member lastSN - * @return Constant reference to member lastSN - */ -const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& HeartBeatSubmessage::lastSN() const -{ - return m_lastSN; -} - -/*! - * @brief This function returns a reference to member lastSN - * @return Reference to member lastSN - */ -eprosima::fastdds::rtps::core::detail::SequenceNumber_t& HeartBeatSubmessage::lastSN() -{ - return m_lastSN; -} - - -/*! - * @brief This function copies the value in member count - * @param _count New value to be copied in member count - */ -void HeartBeatSubmessage::count( - const eprosima::fastdds::rtps::core::detail::Count_t& _count) -{ - m_count = _count; -} - -/*! - * @brief This function moves the value in member count - * @param _count New value to be moved in member count - */ -void HeartBeatSubmessage::count( - eprosima::fastdds::rtps::core::detail::Count_t&& _count) -{ - m_count = std::move(_count); -} - -/*! - * @brief This function returns a constant reference to member count - * @return Constant reference to member count - */ -const eprosima::fastdds::rtps::core::detail::Count_t& HeartBeatSubmessage::count() const -{ - return m_count; -} - -/*! - * @brief This function returns a reference to member count - * @return Reference to member count - */ -eprosima::fastdds::rtps::core::detail::Count_t& HeartBeatSubmessage::count() -{ - return m_count; -} - - - - -InfoDestinationSubmessage::InfoDestinationSubmessage() -{ - // Just to register all known types - registercore_typesTypes(); -} - -InfoDestinationSubmessage::~InfoDestinationSubmessage() -{ -} - -InfoDestinationSubmessage::InfoDestinationSubmessage( - const InfoDestinationSubmessage& x) -{ - m_submsgHeader = x.m_submsgHeader; - m_guidPrefix = x.m_guidPrefix; -} - -InfoDestinationSubmessage::InfoDestinationSubmessage( - InfoDestinationSubmessage&& x) noexcept -{ - m_submsgHeader = std::move(x.m_submsgHeader); - m_guidPrefix = std::move(x.m_guidPrefix); -} - -InfoDestinationSubmessage& InfoDestinationSubmessage::operator =( - const InfoDestinationSubmessage& x) -{ - - m_submsgHeader = x.m_submsgHeader; - m_guidPrefix = x.m_guidPrefix; - return *this; -} - -InfoDestinationSubmessage& InfoDestinationSubmessage::operator =( - InfoDestinationSubmessage&& x) noexcept -{ - - m_submsgHeader = std::move(x.m_submsgHeader); - m_guidPrefix = std::move(x.m_guidPrefix); - return *this; -} - -bool InfoDestinationSubmessage::operator ==( - const InfoDestinationSubmessage& x) const -{ - return (m_submsgHeader == x.m_submsgHeader && - m_guidPrefix == x.m_guidPrefix); -} - -bool InfoDestinationSubmessage::operator !=( - const InfoDestinationSubmessage& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member submsgHeader - * @param _submsgHeader New value to be copied in member submsgHeader - */ -void InfoDestinationSubmessage::submsgHeader( - const eprosima::fastdds::rtps::core::SubmessageHeader& _submsgHeader) -{ - m_submsgHeader = _submsgHeader; -} - -/*! - * @brief This function moves the value in member submsgHeader - * @param _submsgHeader New value to be moved in member submsgHeader - */ -void InfoDestinationSubmessage::submsgHeader( - eprosima::fastdds::rtps::core::SubmessageHeader&& _submsgHeader) -{ - m_submsgHeader = std::move(_submsgHeader); -} - -/*! - * @brief This function returns a constant reference to member submsgHeader - * @return Constant reference to member submsgHeader - */ -const eprosima::fastdds::rtps::core::SubmessageHeader& InfoDestinationSubmessage::submsgHeader() const -{ - return m_submsgHeader; -} - -/*! - * @brief This function returns a reference to member submsgHeader - * @return Reference to member submsgHeader - */ -eprosima::fastdds::rtps::core::SubmessageHeader& InfoDestinationSubmessage::submsgHeader() -{ - return m_submsgHeader; -} - - -/*! - * @brief This function copies the value in member guidPrefix - * @param _guidPrefix New value to be copied in member guidPrefix - */ -void InfoDestinationSubmessage::guidPrefix( - const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& _guidPrefix) -{ - m_guidPrefix = _guidPrefix; -} - -/*! - * @brief This function moves the value in member guidPrefix - * @param _guidPrefix New value to be moved in member guidPrefix - */ -void InfoDestinationSubmessage::guidPrefix( - eprosima::fastdds::rtps::core::detail::GuidPrefix_t&& _guidPrefix) -{ - m_guidPrefix = std::move(_guidPrefix); -} - -/*! - * @brief This function returns a constant reference to member guidPrefix - * @return Constant reference to member guidPrefix - */ -const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& InfoDestinationSubmessage::guidPrefix() const -{ - return m_guidPrefix; -} - -/*! - * @brief This function returns a reference to member guidPrefix - * @return Reference to member guidPrefix - */ -eprosima::fastdds::rtps::core::detail::GuidPrefix_t& InfoDestinationSubmessage::guidPrefix() -{ - return m_guidPrefix; -} - - - - -InfoSourceSubmessage::InfoSourceSubmessage() -{ - // Just to register all known types - registercore_typesTypes(); -} - -InfoSourceSubmessage::~InfoSourceSubmessage() -{ -} - -InfoSourceSubmessage::InfoSourceSubmessage( - const InfoSourceSubmessage& x) -{ - m_submsgHeader = x.m_submsgHeader; - m_unused = x.m_unused; - m_version = x.m_version; - m_vendorId = x.m_vendorId; - m_guidPrefix = x.m_guidPrefix; -} - -InfoSourceSubmessage::InfoSourceSubmessage( - InfoSourceSubmessage&& x) noexcept -{ - m_submsgHeader = std::move(x.m_submsgHeader); - m_unused = x.m_unused; - m_version = std::move(x.m_version); - m_vendorId = std::move(x.m_vendorId); - m_guidPrefix = std::move(x.m_guidPrefix); -} - -InfoSourceSubmessage& InfoSourceSubmessage::operator =( - const InfoSourceSubmessage& x) -{ - - m_submsgHeader = x.m_submsgHeader; - m_unused = x.m_unused; - m_version = x.m_version; - m_vendorId = x.m_vendorId; - m_guidPrefix = x.m_guidPrefix; - return *this; -} - -InfoSourceSubmessage& InfoSourceSubmessage::operator =( - InfoSourceSubmessage&& x) noexcept -{ - - m_submsgHeader = std::move(x.m_submsgHeader); - m_unused = x.m_unused; - m_version = std::move(x.m_version); - m_vendorId = std::move(x.m_vendorId); - m_guidPrefix = std::move(x.m_guidPrefix); - return *this; -} - -bool InfoSourceSubmessage::operator ==( - const InfoSourceSubmessage& x) const -{ - return (m_submsgHeader == x.m_submsgHeader && - m_unused == x.m_unused && - m_version == x.m_version && - m_vendorId == x.m_vendorId && - m_guidPrefix == x.m_guidPrefix); -} - -bool InfoSourceSubmessage::operator !=( - const InfoSourceSubmessage& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member submsgHeader - * @param _submsgHeader New value to be copied in member submsgHeader - */ -void InfoSourceSubmessage::submsgHeader( - const eprosima::fastdds::rtps::core::SubmessageHeader& _submsgHeader) -{ - m_submsgHeader = _submsgHeader; -} - -/*! - * @brief This function moves the value in member submsgHeader - * @param _submsgHeader New value to be moved in member submsgHeader - */ -void InfoSourceSubmessage::submsgHeader( - eprosima::fastdds::rtps::core::SubmessageHeader&& _submsgHeader) -{ - m_submsgHeader = std::move(_submsgHeader); -} - -/*! - * @brief This function returns a constant reference to member submsgHeader - * @return Constant reference to member submsgHeader - */ -const eprosima::fastdds::rtps::core::SubmessageHeader& InfoSourceSubmessage::submsgHeader() const -{ - return m_submsgHeader; -} - -/*! - * @brief This function returns a reference to member submsgHeader - * @return Reference to member submsgHeader - */ -eprosima::fastdds::rtps::core::SubmessageHeader& InfoSourceSubmessage::submsgHeader() -{ - return m_submsgHeader; -} - - -/*! - * @brief This function sets a value in member unused - * @param _unused New value for member unused - */ -void InfoSourceSubmessage::unused( - int32_t _unused) -{ - m_unused = _unused; -} - -/*! - * @brief This function returns the value of member unused - * @return Value of member unused - */ -int32_t InfoSourceSubmessage::unused() const -{ - return m_unused; -} - -/*! - * @brief This function returns a reference to member unused - * @return Reference to member unused - */ -int32_t& InfoSourceSubmessage::unused() -{ - return m_unused; -} - - -/*! - * @brief This function copies the value in member version - * @param _version New value to be copied in member version - */ -void InfoSourceSubmessage::version( - const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& _version) -{ - m_version = _version; -} - -/*! - * @brief This function moves the value in member version - * @param _version New value to be moved in member version - */ -void InfoSourceSubmessage::version( - eprosima::fastdds::rtps::core::detail::ProtocolVersion_t&& _version) -{ - m_version = std::move(_version); -} - -/*! - * @brief This function returns a constant reference to member version - * @return Constant reference to member version - */ -const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& InfoSourceSubmessage::version() const -{ - return m_version; -} - -/*! - * @brief This function returns a reference to member version - * @return Reference to member version - */ -eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& InfoSourceSubmessage::version() -{ - return m_version; -} - - -/*! - * @brief This function copies the value in member vendorId - * @param _vendorId New value to be copied in member vendorId - */ -void InfoSourceSubmessage::vendorId( - const eprosima::fastdds::rtps::core::detail::VendorId_t& _vendorId) -{ - m_vendorId = _vendorId; -} - -/*! - * @brief This function moves the value in member vendorId - * @param _vendorId New value to be moved in member vendorId - */ -void InfoSourceSubmessage::vendorId( - eprosima::fastdds::rtps::core::detail::VendorId_t&& _vendorId) -{ - m_vendorId = std::move(_vendorId); -} - -/*! - * @brief This function returns a constant reference to member vendorId - * @return Constant reference to member vendorId - */ -const eprosima::fastdds::rtps::core::detail::VendorId_t& InfoSourceSubmessage::vendorId() const -{ - return m_vendorId; -} - -/*! - * @brief This function returns a reference to member vendorId - * @return Reference to member vendorId - */ -eprosima::fastdds::rtps::core::detail::VendorId_t& InfoSourceSubmessage::vendorId() -{ - return m_vendorId; -} - - -/*! - * @brief This function copies the value in member guidPrefix - * @param _guidPrefix New value to be copied in member guidPrefix - */ -void InfoSourceSubmessage::guidPrefix( - const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& _guidPrefix) -{ - m_guidPrefix = _guidPrefix; -} - -/*! - * @brief This function moves the value in member guidPrefix - * @param _guidPrefix New value to be moved in member guidPrefix - */ -void InfoSourceSubmessage::guidPrefix( - eprosima::fastdds::rtps::core::detail::GuidPrefix_t&& _guidPrefix) -{ - m_guidPrefix = std::move(_guidPrefix); -} - -/*! - * @brief This function returns a constant reference to member guidPrefix - * @return Constant reference to member guidPrefix - */ -const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& InfoSourceSubmessage::guidPrefix() const -{ - return m_guidPrefix; -} - -/*! - * @brief This function returns a reference to member guidPrefix - * @return Reference to member guidPrefix - */ -eprosima::fastdds::rtps::core::detail::GuidPrefix_t& InfoSourceSubmessage::guidPrefix() -{ - return m_guidPrefix; -} - - - - -InfoTimestampSubmessage::InfoTimestampSubmessage() -{ - // Just to register all known types - registercore_typesTypes(); -} - -InfoTimestampSubmessage::~InfoTimestampSubmessage() -{ -} - -InfoTimestampSubmessage::InfoTimestampSubmessage( - const InfoTimestampSubmessage& x) -{ - m_submsgHeader = x.m_submsgHeader; - m_timestamp = x.m_timestamp; -} - -InfoTimestampSubmessage::InfoTimestampSubmessage( - InfoTimestampSubmessage&& x) noexcept -{ - m_submsgHeader = std::move(x.m_submsgHeader); - m_timestamp = std::move(x.m_timestamp); -} - -InfoTimestampSubmessage& InfoTimestampSubmessage::operator =( - const InfoTimestampSubmessage& x) -{ - - m_submsgHeader = x.m_submsgHeader; - m_timestamp = x.m_timestamp; - return *this; -} - -InfoTimestampSubmessage& InfoTimestampSubmessage::operator =( - InfoTimestampSubmessage&& x) noexcept -{ - - m_submsgHeader = std::move(x.m_submsgHeader); - m_timestamp = std::move(x.m_timestamp); - return *this; -} - -bool InfoTimestampSubmessage::operator ==( - const InfoTimestampSubmessage& x) const -{ - return (m_submsgHeader == x.m_submsgHeader && - m_timestamp == x.m_timestamp); -} - -bool InfoTimestampSubmessage::operator !=( - const InfoTimestampSubmessage& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member submsgHeader - * @param _submsgHeader New value to be copied in member submsgHeader - */ -void InfoTimestampSubmessage::submsgHeader( - const eprosima::fastdds::rtps::core::SubmessageHeader& _submsgHeader) -{ - m_submsgHeader = _submsgHeader; -} - -/*! - * @brief This function moves the value in member submsgHeader - * @param _submsgHeader New value to be moved in member submsgHeader - */ -void InfoTimestampSubmessage::submsgHeader( - eprosima::fastdds::rtps::core::SubmessageHeader&& _submsgHeader) -{ - m_submsgHeader = std::move(_submsgHeader); -} - -/*! - * @brief This function returns a constant reference to member submsgHeader - * @return Constant reference to member submsgHeader - */ -const eprosima::fastdds::rtps::core::SubmessageHeader& InfoTimestampSubmessage::submsgHeader() const -{ - return m_submsgHeader; -} - -/*! - * @brief This function returns a reference to member submsgHeader - * @return Reference to member submsgHeader - */ -eprosima::fastdds::rtps::core::SubmessageHeader& InfoTimestampSubmessage::submsgHeader() -{ - return m_submsgHeader; -} - - -/*! - * @brief This function copies the value in member timestamp - * @param _timestamp New value to be copied in member timestamp - */ -void InfoTimestampSubmessage::timestamp( - const eprosima::fastdds::rtps::core::detail::Timestamp& _timestamp) -{ - m_timestamp = _timestamp; -} - -/*! - * @brief This function moves the value in member timestamp - * @param _timestamp New value to be moved in member timestamp - */ -void InfoTimestampSubmessage::timestamp( - eprosima::fastdds::rtps::core::detail::Timestamp&& _timestamp) -{ - m_timestamp = std::move(_timestamp); -} - -/*! - * @brief This function returns a constant reference to member timestamp - * @return Constant reference to member timestamp - */ -const eprosima::fastdds::rtps::core::detail::Timestamp& InfoTimestampSubmessage::timestamp() const -{ - return m_timestamp; -} - -/*! - * @brief This function returns a reference to member timestamp - * @return Reference to member timestamp - */ -eprosima::fastdds::rtps::core::detail::Timestamp& InfoTimestampSubmessage::timestamp() -{ - return m_timestamp; -} - - - - -Submessage::Submessage() -{ - m__d = eprosima::fastdds::rtps::core::RTPS_HE; -} - -Submessage::~Submessage() -{ -} - -Submessage::Submessage( - const Submessage& x) -{ - m__d = x.m__d; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - m_heartbeat_submsg = x.m_heartbeat_submsg; - break; - - - case eprosima::fastdds::rtps::core::INFO_TS: - m_info_ts_submsg = x.m_info_ts_submsg; - break; - - - case eprosima::fastdds::rtps::core::INFO_SRC: - m_info_src_submsg = x.m_info_src_submsg; - break; - - - case eprosima::fastdds::rtps::core::INFO_DST: - m_info_dst_submsg = x.m_info_dst_submsg; - break; - - - default: - m_unknown_submsg = x.m_unknown_submsg; - - break; - } -} - -Submessage::Submessage( - Submessage&& x) noexcept -{ - m__d = x.m__d; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - m_heartbeat_submsg = std::move(x.m_heartbeat_submsg); - - break; - - - case eprosima::fastdds::rtps::core::INFO_TS: - m_info_ts_submsg = std::move(x.m_info_ts_submsg); - - break; - - - case eprosima::fastdds::rtps::core::INFO_SRC: - m_info_src_submsg = std::move(x.m_info_src_submsg); - - break; - - - case eprosima::fastdds::rtps::core::INFO_DST: - m_info_dst_submsg = std::move(x.m_info_dst_submsg); - - break; - - - default: - m_unknown_submsg = std::move(x.m_unknown_submsg); - - break; - } -} - -Submessage& Submessage::operator =( - const Submessage& x) -{ - m__d = x.m__d; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - m_heartbeat_submsg = x.m_heartbeat_submsg; - break; - - - case eprosima::fastdds::rtps::core::INFO_TS: - m_info_ts_submsg = x.m_info_ts_submsg; - break; - - - case eprosima::fastdds::rtps::core::INFO_SRC: - m_info_src_submsg = x.m_info_src_submsg; - break; - - - case eprosima::fastdds::rtps::core::INFO_DST: - m_info_dst_submsg = x.m_info_dst_submsg; - break; - - - default: - m_unknown_submsg = x.m_unknown_submsg; - - break; - } - - return *this; -} - -Submessage& Submessage::operator =( - Submessage&& x) noexcept -{ - m__d = x.m__d; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - m_heartbeat_submsg = std::move(x.m_heartbeat_submsg); - - break; - - - case eprosima::fastdds::rtps::core::INFO_TS: - m_info_ts_submsg = std::move(x.m_info_ts_submsg); - - break; - - - case eprosima::fastdds::rtps::core::INFO_SRC: - m_info_src_submsg = std::move(x.m_info_src_submsg); - - break; - - - case eprosima::fastdds::rtps::core::INFO_DST: - m_info_dst_submsg = std::move(x.m_info_dst_submsg); - - break; - - - default: - m_unknown_submsg = std::move(x.m_unknown_submsg); - - break; - } - - return *this; -} - -bool Submessage::operator ==( - const Submessage& x) const -{ - if (m__d != x.m__d) - { - return false; - } - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - return (m_heartbeat_submsg == x.m_heartbeat_submsg); - break; - - - case eprosima::fastdds::rtps::core::INFO_TS: - return (m_info_ts_submsg == x.m_info_ts_submsg); - break; - - - case eprosima::fastdds::rtps::core::INFO_SRC: - return (m_info_src_submsg == x.m_info_src_submsg); - break; - - - case eprosima::fastdds::rtps::core::INFO_DST: - return (m_info_dst_submsg == x.m_info_dst_submsg); - break; - - - default: - return m_unknown_submsg == x.m_unknown_submsg; - - break; - } - return false; -} - -bool Submessage::operator !=( - const Submessage& x) const -{ - return !(*this == x); -} - -void Submessage::_d( - eprosima::fastdds::rtps::core::SubmessageKind __d) -{ - bool b = false; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - switch (__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - b = true; - break; - default: - break; - } - break; - - - case eprosima::fastdds::rtps::core::INFO_TS: - switch (__d) - { - case eprosima::fastdds::rtps::core::INFO_TS: - b = true; - break; - default: - break; - } - break; - - - case eprosima::fastdds::rtps::core::INFO_SRC: - switch (__d) - { - case eprosima::fastdds::rtps::core::INFO_SRC: - b = true; - break; - default: - break; - } - break; - - - case eprosima::fastdds::rtps::core::INFO_DST: - switch (__d) - { - case eprosima::fastdds::rtps::core::INFO_DST: - b = true; - break; - default: - break; - } - break; - - - default: - b = true; - switch (__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - case eprosima::fastdds::rtps::core::INFO_TS: - case eprosima::fastdds::rtps::core::INFO_SRC: - case eprosima::fastdds::rtps::core::INFO_DST: - b = false; - break; - default: - break; - } - break; - - } - - if (!b) - { - throw BadParamException("Discriminator doesn't correspond with the selected union member"); - } - - m__d = __d; -} - -eprosima::fastdds::rtps::core::SubmessageKind Submessage::_d() const -{ - return m__d; -} - -eprosima::fastdds::rtps::core::SubmessageKind& Submessage::_d() -{ - return m__d; -} - -void Submessage::heartbeat_submsg( - const eprosima::fastdds::rtps::core::HeartBeatSubmessage& _heartbeat_submsg) -{ - m_heartbeat_submsg = _heartbeat_submsg; - m__d = eprosima::fastdds::rtps::core::HEARTBEAT; - -} - -void Submessage::heartbeat_submsg( - eprosima::fastdds::rtps::core::HeartBeatSubmessage&& _heartbeat_submsg) -{ - m_heartbeat_submsg = std::move(_heartbeat_submsg); - m__d = eprosima::fastdds::rtps::core::HEARTBEAT; - -} - -const eprosima::fastdds::rtps::core::HeartBeatSubmessage& Submessage::heartbeat_submsg() const -{ - bool b = false; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - b = true; - break; - default: - break; - } - - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_heartbeat_submsg; -} - -eprosima::fastdds::rtps::core::HeartBeatSubmessage& Submessage::heartbeat_submsg() -{ - bool b = false; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - b = true; - break; - default: - break; - } - - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_heartbeat_submsg; -} - - -void Submessage::info_ts_submsg( - const eprosima::fastdds::rtps::core::InfoTimestampSubmessage& _info_ts_submsg) -{ - m_info_ts_submsg = _info_ts_submsg; - m__d = eprosima::fastdds::rtps::core::INFO_TS; - -} - -void Submessage::info_ts_submsg( - eprosima::fastdds::rtps::core::InfoTimestampSubmessage&& _info_ts_submsg) -{ - m_info_ts_submsg = std::move(_info_ts_submsg); - m__d = eprosima::fastdds::rtps::core::INFO_TS; - -} - -const eprosima::fastdds::rtps::core::InfoTimestampSubmessage& Submessage::info_ts_submsg() const -{ - bool b = false; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::INFO_TS: - b = true; - break; - default: - break; - } - - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_info_ts_submsg; -} - -eprosima::fastdds::rtps::core::InfoTimestampSubmessage& Submessage::info_ts_submsg() -{ - bool b = false; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::INFO_TS: - b = true; - break; - default: - break; - } - - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_info_ts_submsg; -} - - -void Submessage::info_src_submsg( - const eprosima::fastdds::rtps::core::InfoSourceSubmessage& _info_src_submsg) -{ - m_info_src_submsg = _info_src_submsg; - m__d = eprosima::fastdds::rtps::core::INFO_SRC; - -} - -void Submessage::info_src_submsg( - eprosima::fastdds::rtps::core::InfoSourceSubmessage&& _info_src_submsg) -{ - m_info_src_submsg = std::move(_info_src_submsg); - m__d = eprosima::fastdds::rtps::core::INFO_SRC; - -} - -const eprosima::fastdds::rtps::core::InfoSourceSubmessage& Submessage::info_src_submsg() const -{ - bool b = false; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::INFO_SRC: - b = true; - break; - default: - break; - } - - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_info_src_submsg; -} - -eprosima::fastdds::rtps::core::InfoSourceSubmessage& Submessage::info_src_submsg() -{ - bool b = false; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::INFO_SRC: - b = true; - break; - default: - break; - } - - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_info_src_submsg; -} - - -void Submessage::info_dst_submsg( - const eprosima::fastdds::rtps::core::InfoDestinationSubmessage& _info_dst_submsg) -{ - m_info_dst_submsg = _info_dst_submsg; - m__d = eprosima::fastdds::rtps::core::INFO_DST; - -} - -void Submessage::info_dst_submsg( - eprosima::fastdds::rtps::core::InfoDestinationSubmessage&& _info_dst_submsg) -{ - m_info_dst_submsg = std::move(_info_dst_submsg); - m__d = eprosima::fastdds::rtps::core::INFO_DST; - -} - -const eprosima::fastdds::rtps::core::InfoDestinationSubmessage& Submessage::info_dst_submsg() const -{ - bool b = false; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::INFO_DST: - b = true; - break; - default: - break; - } - - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_info_dst_submsg; -} - -eprosima::fastdds::rtps::core::InfoDestinationSubmessage& Submessage::info_dst_submsg() -{ - bool b = false; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::INFO_DST: - b = true; - break; - default: - break; - } - - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_info_dst_submsg; -} - - -void Submessage::unknown_submsg( - const eprosima::fastdds::rtps::core::SubmessageHeader& _unknown_submsg) -{ - m_unknown_submsg = _unknown_submsg; - m__d = eprosima::fastdds::rtps::core::RTPS_HE; - -} - -void Submessage::unknown_submsg( - eprosima::fastdds::rtps::core::SubmessageHeader&& _unknown_submsg) -{ - m_unknown_submsg = std::move(_unknown_submsg); - m__d = eprosima::fastdds::rtps::core::RTPS_HE; - -} - -const eprosima::fastdds::rtps::core::SubmessageHeader& Submessage::unknown_submsg() const -{ - bool b = true; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - case eprosima::fastdds::rtps::core::INFO_TS: - case eprosima::fastdds::rtps::core::INFO_SRC: - case eprosima::fastdds::rtps::core::INFO_DST: - b = false; - break; - default: - break; - } - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_unknown_submsg; -} - -eprosima::fastdds::rtps::core::SubmessageHeader& Submessage::unknown_submsg() -{ - bool b = true; - - switch (m__d) - { - case eprosima::fastdds::rtps::core::HEARTBEAT: - case eprosima::fastdds::rtps::core::INFO_TS: - case eprosima::fastdds::rtps::core::INFO_SRC: - case eprosima::fastdds::rtps::core::INFO_DST: - b = false; - break; - default: - break; - } - if (!b) - { - throw BadParamException("This member has not been selected"); - } - - return m_unknown_submsg; -} - - - - - - -RTPSMessage::RTPSMessage() -{ - // Just to register all known types - registercore_typesTypes(); -} - -RTPSMessage::~RTPSMessage() -{ -} - -RTPSMessage::RTPSMessage( - const RTPSMessage& x) -{ - m_msg_header = x.m_msg_header; - m_submessages = x.m_submessages; -} - -RTPSMessage::RTPSMessage( - RTPSMessage&& x) noexcept -{ - m_msg_header = std::move(x.m_msg_header); - m_submessages = std::move(x.m_submessages); -} - -RTPSMessage& RTPSMessage::operator =( - const RTPSMessage& x) -{ - - m_msg_header = x.m_msg_header; - m_submessages = x.m_submessages; - return *this; -} - -RTPSMessage& RTPSMessage::operator =( - RTPSMessage&& x) noexcept -{ - - m_msg_header = std::move(x.m_msg_header); - m_submessages = std::move(x.m_submessages); - return *this; -} - -bool RTPSMessage::operator ==( - const RTPSMessage& x) const -{ - return (m_msg_header == x.m_msg_header && - m_submessages == x.m_submessages); -} - -bool RTPSMessage::operator !=( - const RTPSMessage& x) const -{ - return !(*this == x); -} - -/*! - * @brief This function copies the value in member msg_header - * @param _msg_header New value to be copied in member msg_header - */ -void RTPSMessage::msg_header( - const eprosima::fastdds::rtps::core::Header& _msg_header) -{ - m_msg_header = _msg_header; -} - -/*! - * @brief This function moves the value in member msg_header - * @param _msg_header New value to be moved in member msg_header - */ -void RTPSMessage::msg_header( - eprosima::fastdds::rtps::core::Header&& _msg_header) -{ - m_msg_header = std::move(_msg_header); -} - -/*! - * @brief This function returns a constant reference to member msg_header - * @return Constant reference to member msg_header - */ -const eprosima::fastdds::rtps::core::Header& RTPSMessage::msg_header() const -{ - return m_msg_header; -} - -/*! - * @brief This function returns a reference to member msg_header - * @return Reference to member msg_header - */ -eprosima::fastdds::rtps::core::Header& RTPSMessage::msg_header() -{ - return m_msg_header; -} - - -/*! - * @brief This function copies the value in member submessages - * @param _submessages New value to be copied in member submessages - */ -void RTPSMessage::submessages( - const std::vector& _submessages) -{ - m_submessages = _submessages; -} - -/*! - * @brief This function moves the value in member submessages - * @param _submessages New value to be moved in member submessages - */ -void RTPSMessage::submessages( - std::vector&& _submessages) -{ - m_submessages = std::move(_submessages); -} - -/*! - * @brief This function returns a constant reference to member submessages - * @return Constant reference to member submessages - */ -const std::vector& RTPSMessage::submessages() const -{ - return m_submessages; -} - -/*! - * @brief This function returns a reference to member submessages - * @return Reference to member submessages - */ -std::vector& RTPSMessage::submessages() -{ - return m_submessages; -} - - - - -} // namespace core - - -} // namespace rtps - - -} // namespace fastdds - - -} // namespace eprosima -// Include auxiliary functions like for serializing/deserializing. -#include "core_typesCdrAux.ipp" - diff --git a/test/blackbox/types/core/core_types.h b/test/blackbox/types/core/core_types.h deleted file mode 100644 index 329031fbfe3..00000000000 --- a/test/blackbox/types/core/core_types.h +++ /dev/null @@ -1,2262 +0,0 @@ -// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/*! - * @file core_types.h - * This header file contains the declaration of the described types in the IDL file. - * - * This file was generated by the tool fastddsgen. - */ - -#ifndef _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_H_ -#define _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_H_ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - - - -#if defined(_WIN32) -#if defined(EPROSIMA_USER_DLL_EXPORT) -#define eProsima_user_DllExport __declspec( dllexport ) -#else -#define eProsima_user_DllExport -#endif // EPROSIMA_USER_DLL_EXPORT -#else -#define eProsima_user_DllExport -#endif // _WIN32 - -#if defined(_WIN32) -#if defined(EPROSIMA_USER_DLL_EXPORT) -#if defined(CORE_TYPES_SOURCE) -#define CORE_TYPES_DllAPI __declspec( dllexport ) -#else -#define CORE_TYPES_DllAPI __declspec( dllimport ) -#endif // CORE_TYPES_SOURCE -#else -#define CORE_TYPES_DllAPI -#endif // EPROSIMA_USER_DLL_EXPORT -#else -#define CORE_TYPES_DllAPI -#endif // _WIN32 - -namespace eprosima { -namespace fastcdr { -class Cdr; -class CdrSizeCalculator; -} // namespace fastcdr -} // namespace eprosima - - - -namespace eprosima { - -namespace fastdds { - -namespace rtps { - -namespace core { - -namespace detail { - - - -/*! - * @brief This class represents the structure EntityId_t defined by the user in the IDL file. - * @ingroup core_types - */ -class EntityId_t -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport EntityId_t(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~EntityId_t(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityId_t that will be copied. - */ - eProsima_user_DllExport EntityId_t( - const EntityId_t& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityId_t that will be copied. - */ - eProsima_user_DllExport EntityId_t( - EntityId_t&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityId_t that will be copied. - */ - eProsima_user_DllExport EntityId_t& operator =( - const EntityId_t& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityId_t that will be copied. - */ - eProsima_user_DllExport EntityId_t& operator =( - EntityId_t&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::EntityId_t object to compare. - */ - eProsima_user_DllExport bool operator ==( - const EntityId_t& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::EntityId_t object to compare. - */ - eProsima_user_DllExport bool operator !=( - const EntityId_t& x) const; - - /*! - * @brief This function copies the value in member value - * @param _value New value to be copied in member value - */ - eProsima_user_DllExport void value( - const std::array& _value); - - /*! - * @brief This function moves the value in member value - * @param _value New value to be moved in member value - */ - eProsima_user_DllExport void value( - std::array&& _value); - - /*! - * @brief This function returns a constant reference to member value - * @return Constant reference to member value - */ - eProsima_user_DllExport const std::array& value() const; - - /*! - * @brief This function returns a reference to member value - * @return Reference to member value - */ - eProsima_user_DllExport std::array& value(); - -private: - - std::array m_value{0}; - -}; - - -/*! - * @brief This class represents the structure ProtocolVersion_t defined by the user in the IDL file. - * @ingroup core_types - */ -class ProtocolVersion_t -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport ProtocolVersion_t(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~ProtocolVersion_t(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::ProtocolVersion_t that will be copied. - */ - eProsima_user_DllExport ProtocolVersion_t( - const ProtocolVersion_t& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::ProtocolVersion_t that will be copied. - */ - eProsima_user_DllExport ProtocolVersion_t( - ProtocolVersion_t&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::ProtocolVersion_t that will be copied. - */ - eProsima_user_DllExport ProtocolVersion_t& operator =( - const ProtocolVersion_t& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::ProtocolVersion_t that will be copied. - */ - eProsima_user_DllExport ProtocolVersion_t& operator =( - ProtocolVersion_t&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::ProtocolVersion_t object to compare. - */ - eProsima_user_DllExport bool operator ==( - const ProtocolVersion_t& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::ProtocolVersion_t object to compare. - */ - eProsima_user_DllExport bool operator !=( - const ProtocolVersion_t& x) const; - - /*! - * @brief This function sets a value in member major - * @param _major New value for member major - */ - eProsima_user_DllExport void major( - uint8_t _major); - - /*! - * @brief This function returns the value of member major - * @return Value of member major - */ - eProsima_user_DllExport uint8_t major() const; - - /*! - * @brief This function returns a reference to member major - * @return Reference to member major - */ - eProsima_user_DllExport uint8_t& major(); - - - /*! - * @brief This function sets a value in member minor - * @param _minor New value for member minor - */ - eProsima_user_DllExport void minor( - uint8_t _minor); - - /*! - * @brief This function returns the value of member minor - * @return Value of member minor - */ - eProsima_user_DllExport uint8_t minor() const; - - /*! - * @brief This function returns a reference to member minor - * @return Reference to member minor - */ - eProsima_user_DllExport uint8_t& minor(); - -private: - - uint8_t m_major{0}; - uint8_t m_minor{0}; - -}; - - -/*! - * @brief This class represents the structure VendorId_t defined by the user in the IDL file. - * @ingroup core_types - */ -class VendorId_t -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport VendorId_t(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~VendorId_t(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::VendorId_t that will be copied. - */ - eProsima_user_DllExport VendorId_t( - const VendorId_t& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::VendorId_t that will be copied. - */ - eProsima_user_DllExport VendorId_t( - VendorId_t&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::VendorId_t that will be copied. - */ - eProsima_user_DllExport VendorId_t& operator =( - const VendorId_t& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::VendorId_t that will be copied. - */ - eProsima_user_DllExport VendorId_t& operator =( - VendorId_t&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::VendorId_t object to compare. - */ - eProsima_user_DllExport bool operator ==( - const VendorId_t& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::VendorId_t object to compare. - */ - eProsima_user_DllExport bool operator !=( - const VendorId_t& x) const; - - /*! - * @brief This function copies the value in member vendorId - * @param _vendorId New value to be copied in member vendorId - */ - eProsima_user_DllExport void vendorId( - const std::array& _vendorId); - - /*! - * @brief This function moves the value in member vendorId - * @param _vendorId New value to be moved in member vendorId - */ - eProsima_user_DllExport void vendorId( - std::array&& _vendorId); - - /*! - * @brief This function returns a constant reference to member vendorId - * @return Constant reference to member vendorId - */ - eProsima_user_DllExport const std::array& vendorId() const; - - /*! - * @brief This function returns a reference to member vendorId - * @return Reference to member vendorId - */ - eProsima_user_DllExport std::array& vendorId(); - -private: - - std::array m_vendorId{0}; - -}; - - -/*! - * @brief This class represents the structure GuidPrefix_t defined by the user in the IDL file. - * @ingroup core_types - */ -class GuidPrefix_t -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport GuidPrefix_t(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~GuidPrefix_t(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::GuidPrefix_t that will be copied. - */ - eProsima_user_DllExport GuidPrefix_t( - const GuidPrefix_t& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::GuidPrefix_t that will be copied. - */ - eProsima_user_DllExport GuidPrefix_t( - GuidPrefix_t&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::GuidPrefix_t that will be copied. - */ - eProsima_user_DllExport GuidPrefix_t& operator =( - const GuidPrefix_t& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::GuidPrefix_t that will be copied. - */ - eProsima_user_DllExport GuidPrefix_t& operator =( - GuidPrefix_t&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::GuidPrefix_t object to compare. - */ - eProsima_user_DllExport bool operator ==( - const GuidPrefix_t& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::GuidPrefix_t object to compare. - */ - eProsima_user_DllExport bool operator !=( - const GuidPrefix_t& x) const; - - /*! - * @brief This function copies the value in member value - * @param _value New value to be copied in member value - */ - eProsima_user_DllExport void value( - const std::array& _value); - - /*! - * @brief This function moves the value in member value - * @param _value New value to be moved in member value - */ - eProsima_user_DllExport void value( - std::array&& _value); - - /*! - * @brief This function returns a constant reference to member value - * @return Constant reference to member value - */ - eProsima_user_DllExport const std::array& value() const; - - /*! - * @brief This function returns a reference to member value - * @return Reference to member value - */ - eProsima_user_DllExport std::array& value(); - -private: - - std::array m_value{0}; - -}; - - -/*! - * @brief This class represents the structure GUID_t defined by the user in the IDL file. - * @ingroup core_types - */ -class GUID_t -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport GUID_t(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~GUID_t(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::GUID_t that will be copied. - */ - eProsima_user_DllExport GUID_t( - const GUID_t& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::GUID_t that will be copied. - */ - eProsima_user_DllExport GUID_t( - GUID_t&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::GUID_t that will be copied. - */ - eProsima_user_DllExport GUID_t& operator =( - const GUID_t& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::GUID_t that will be copied. - */ - eProsima_user_DllExport GUID_t& operator =( - GUID_t&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::GUID_t object to compare. - */ - eProsima_user_DllExport bool operator ==( - const GUID_t& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::GUID_t object to compare. - */ - eProsima_user_DllExport bool operator !=( - const GUID_t& x) const; - - /*! - * @brief This function copies the value in member guidPrefix - * @param _guidPrefix New value to be copied in member guidPrefix - */ - eProsima_user_DllExport void guidPrefix( - const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& _guidPrefix); - - /*! - * @brief This function moves the value in member guidPrefix - * @param _guidPrefix New value to be moved in member guidPrefix - */ - eProsima_user_DllExport void guidPrefix( - eprosima::fastdds::rtps::core::detail::GuidPrefix_t&& _guidPrefix); - - /*! - * @brief This function returns a constant reference to member guidPrefix - * @return Constant reference to member guidPrefix - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& guidPrefix() const; - - /*! - * @brief This function returns a reference to member guidPrefix - * @return Reference to member guidPrefix - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::GuidPrefix_t& guidPrefix(); - - - /*! - * @brief This function copies the value in member entityId - * @param _entityId New value to be copied in member entityId - */ - eProsima_user_DllExport void entityId( - const eprosima::fastdds::rtps::core::detail::EntityId_t& _entityId); - - /*! - * @brief This function moves the value in member entityId - * @param _entityId New value to be moved in member entityId - */ - eProsima_user_DllExport void entityId( - eprosima::fastdds::rtps::core::detail::EntityId_t&& _entityId); - - /*! - * @brief This function returns a constant reference to member entityId - * @return Constant reference to member entityId - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::EntityId_t& entityId() const; - - /*! - * @brief This function returns a reference to member entityId - * @return Reference to member entityId - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::EntityId_t& entityId(); - -private: - - eprosima::fastdds::rtps::core::detail::GuidPrefix_t m_guidPrefix; - eprosima::fastdds::rtps::core::detail::EntityId_t m_entityId; - -}; - - -/*! - * @brief This class represents the structure SequenceNumber_t defined by the user in the IDL file. - * @ingroup core_types - */ -class SequenceNumber_t -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport SequenceNumber_t(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~SequenceNumber_t(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumber_t that will be copied. - */ - eProsima_user_DllExport SequenceNumber_t( - const SequenceNumber_t& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumber_t that will be copied. - */ - eProsima_user_DllExport SequenceNumber_t( - SequenceNumber_t&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumber_t that will be copied. - */ - eProsima_user_DllExport SequenceNumber_t& operator =( - const SequenceNumber_t& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumber_t that will be copied. - */ - eProsima_user_DllExport SequenceNumber_t& operator =( - SequenceNumber_t&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::SequenceNumber_t object to compare. - */ - eProsima_user_DllExport bool operator ==( - const SequenceNumber_t& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::SequenceNumber_t object to compare. - */ - eProsima_user_DllExport bool operator !=( - const SequenceNumber_t& x) const; - - /*! - * @brief This function sets a value in member high - * @param _high New value for member high - */ - eProsima_user_DllExport void high( - int32_t _high); - - /*! - * @brief This function returns the value of member high - * @return Value of member high - */ - eProsima_user_DllExport int32_t high() const; - - /*! - * @brief This function returns a reference to member high - * @return Reference to member high - */ - eProsima_user_DllExport int32_t& high(); - - - /*! - * @brief This function sets a value in member low - * @param _low New value for member low - */ - eProsima_user_DllExport void low( - uint32_t _low); - - /*! - * @brief This function returns the value of member low - * @return Value of member low - */ - eProsima_user_DllExport uint32_t low() const; - - /*! - * @brief This function returns a reference to member low - * @return Reference to member low - */ - eProsima_user_DllExport uint32_t& low(); - -private: - - int32_t m_high{0}; - uint32_t m_low{0}; - -}; - - -/*! - * @brief This class represents the structure Count_t defined by the user in the IDL file. - * @ingroup core_types - */ -class Count_t -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport Count_t(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~Count_t(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Count_t that will be copied. - */ - eProsima_user_DllExport Count_t( - const Count_t& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Count_t that will be copied. - */ - eProsima_user_DllExport Count_t( - Count_t&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Count_t that will be copied. - */ - eProsima_user_DllExport Count_t& operator =( - const Count_t& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Count_t that will be copied. - */ - eProsima_user_DllExport Count_t& operator =( - Count_t&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::Count_t object to compare. - */ - eProsima_user_DllExport bool operator ==( - const Count_t& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::Count_t object to compare. - */ - eProsima_user_DllExport bool operator !=( - const Count_t& x) const; - - /*! - * @brief This function sets a value in member value - * @param _value New value for member value - */ - eProsima_user_DllExport void value( - int32_t _value); - - /*! - * @brief This function returns the value of member value - * @return Value of member value - */ - eProsima_user_DllExport int32_t value() const; - - /*! - * @brief This function returns a reference to member value - * @return Reference to member value - */ - eProsima_user_DllExport int32_t& value(); - -private: - - int32_t m_value{0}; - -}; - - -/*! - * @brief This class represents the structure Time_t defined by the user in the IDL file. - * @ingroup core_types - */ -class Time_t -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport Time_t(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~Time_t(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Time_t that will be copied. - */ - eProsima_user_DllExport Time_t( - const Time_t& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Time_t that will be copied. - */ - eProsima_user_DllExport Time_t( - Time_t&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Time_t that will be copied. - */ - eProsima_user_DllExport Time_t& operator =( - const Time_t& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Time_t that will be copied. - */ - eProsima_user_DllExport Time_t& operator =( - Time_t&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::Time_t object to compare. - */ - eProsima_user_DllExport bool operator ==( - const Time_t& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::detail::Time_t object to compare. - */ - eProsima_user_DllExport bool operator !=( - const Time_t& x) const; - - /*! - * @brief This function sets a value in member seconds - * @param _seconds New value for member seconds - */ - eProsima_user_DllExport void seconds( - uint32_t _seconds); - - /*! - * @brief This function returns the value of member seconds - * @return Value of member seconds - */ - eProsima_user_DllExport uint32_t seconds() const; - - /*! - * @brief This function returns a reference to member seconds - * @return Reference to member seconds - */ - eProsima_user_DllExport uint32_t& seconds(); - - - /*! - * @brief This function sets a value in member fraction - * @param _fraction New value for member fraction - */ - eProsima_user_DllExport void fraction( - uint32_t _fraction); - - /*! - * @brief This function returns the value of member fraction - * @return Value of member fraction - */ - eProsima_user_DllExport uint32_t fraction() const; - - /*! - * @brief This function returns a reference to member fraction - * @return Reference to member fraction - */ - eProsima_user_DllExport uint32_t& fraction(); - -private: - - uint32_t m_seconds{0}; - uint32_t m_fraction{0}; - -}; -typedef eprosima::fastdds::rtps::core::detail::Time_t Timestamp; - - -} // namespace detail - - -/*! - * @brief This class represents the structure Header defined by the user in the IDL file. - * @ingroup core_types - */ -class Header -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport Header(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~Header(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::Header that will be copied. - */ - eProsima_user_DllExport Header( - const Header& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::Header that will be copied. - */ - eProsima_user_DllExport Header( - Header&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::Header that will be copied. - */ - eProsima_user_DllExport Header& operator =( - const Header& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::Header that will be copied. - */ - eProsima_user_DllExport Header& operator =( - Header&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::Header object to compare. - */ - eProsima_user_DllExport bool operator ==( - const Header& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::Header object to compare. - */ - eProsima_user_DllExport bool operator !=( - const Header& x) const; - - /*! - * @brief This function copies the value in member prefix - * @param _prefix New value to be copied in member prefix - */ - eProsima_user_DllExport void prefix( - const std::array& _prefix); - - /*! - * @brief This function moves the value in member prefix - * @param _prefix New value to be moved in member prefix - */ - eProsima_user_DllExport void prefix( - std::array&& _prefix); - - /*! - * @brief This function returns a constant reference to member prefix - * @return Constant reference to member prefix - */ - eProsima_user_DllExport const std::array& prefix() const; - - /*! - * @brief This function returns a reference to member prefix - * @return Reference to member prefix - */ - eProsima_user_DllExport std::array& prefix(); - - - /*! - * @brief This function copies the value in member version - * @param _version New value to be copied in member version - */ - eProsima_user_DllExport void version( - const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& _version); - - /*! - * @brief This function moves the value in member version - * @param _version New value to be moved in member version - */ - eProsima_user_DllExport void version( - eprosima::fastdds::rtps::core::detail::ProtocolVersion_t&& _version); - - /*! - * @brief This function returns a constant reference to member version - * @return Constant reference to member version - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& version() const; - - /*! - * @brief This function returns a reference to member version - * @return Reference to member version - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& version(); - - - /*! - * @brief This function copies the value in member vendorId - * @param _vendorId New value to be copied in member vendorId - */ - eProsima_user_DllExport void vendorId( - const eprosima::fastdds::rtps::core::detail::VendorId_t& _vendorId); - - /*! - * @brief This function moves the value in member vendorId - * @param _vendorId New value to be moved in member vendorId - */ - eProsima_user_DllExport void vendorId( - eprosima::fastdds::rtps::core::detail::VendorId_t&& _vendorId); - - /*! - * @brief This function returns a constant reference to member vendorId - * @return Constant reference to member vendorId - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::VendorId_t& vendorId() const; - - /*! - * @brief This function returns a reference to member vendorId - * @return Reference to member vendorId - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::VendorId_t& vendorId(); - - - /*! - * @brief This function copies the value in member guidPrefix - * @param _guidPrefix New value to be copied in member guidPrefix - */ - eProsima_user_DllExport void guidPrefix( - const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& _guidPrefix); - - /*! - * @brief This function moves the value in member guidPrefix - * @param _guidPrefix New value to be moved in member guidPrefix - */ - eProsima_user_DllExport void guidPrefix( - eprosima::fastdds::rtps::core::detail::GuidPrefix_t&& _guidPrefix); - - /*! - * @brief This function returns a constant reference to member guidPrefix - * @return Constant reference to member guidPrefix - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& guidPrefix() const; - - /*! - * @brief This function returns a reference to member guidPrefix - * @return Reference to member guidPrefix - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::GuidPrefix_t& guidPrefix(); - -private: - - std::array m_prefix{0}; - eprosima::fastdds::rtps::core::detail::ProtocolVersion_t m_version; - eprosima::fastdds::rtps::core::detail::VendorId_t m_vendorId; - eprosima::fastdds::rtps::core::detail::GuidPrefix_t m_guidPrefix; - -}; - - -/*! - * @brief This class represents the structure SubmessageHeader defined by the user in the IDL file. - * @ingroup core_types - */ -class SubmessageHeader -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport SubmessageHeader(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~SubmessageHeader(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::SubmessageHeader that will be copied. - */ - eProsima_user_DllExport SubmessageHeader( - const SubmessageHeader& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::SubmessageHeader that will be copied. - */ - eProsima_user_DllExport SubmessageHeader( - SubmessageHeader&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::SubmessageHeader that will be copied. - */ - eProsima_user_DllExport SubmessageHeader& operator =( - const SubmessageHeader& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::SubmessageHeader that will be copied. - */ - eProsima_user_DllExport SubmessageHeader& operator =( - SubmessageHeader&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::SubmessageHeader object to compare. - */ - eProsima_user_DllExport bool operator ==( - const SubmessageHeader& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::SubmessageHeader object to compare. - */ - eProsima_user_DllExport bool operator !=( - const SubmessageHeader& x) const; - - /*! - * @brief This function sets a value in member submessageId - * @param _submessageId New value for member submessageId - */ - eProsima_user_DllExport void submessageId( - uint8_t _submessageId); - - /*! - * @brief This function returns the value of member submessageId - * @return Value of member submessageId - */ - eProsima_user_DllExport uint8_t submessageId() const; - - /*! - * @brief This function returns a reference to member submessageId - * @return Reference to member submessageId - */ - eProsima_user_DllExport uint8_t& submessageId(); - - - /*! - * @brief This function sets a value in member flags - * @param _flags New value for member flags - */ - eProsima_user_DllExport void flags( - uint8_t _flags); - - /*! - * @brief This function returns the value of member flags - * @return Value of member flags - */ - eProsima_user_DllExport uint8_t flags() const; - - /*! - * @brief This function returns a reference to member flags - * @return Reference to member flags - */ - eProsima_user_DllExport uint8_t& flags(); - - - /*! - * @brief This function sets a value in member submessageLength - * @param _submessageLength New value for member submessageLength - */ - eProsima_user_DllExport void submessageLength( - uint16_t _submessageLength); - - /*! - * @brief This function returns the value of member submessageLength - * @return Value of member submessageLength - */ - eProsima_user_DllExport uint16_t submessageLength() const; - - /*! - * @brief This function returns a reference to member submessageLength - * @return Reference to member submessageLength - */ - eProsima_user_DllExport uint16_t& submessageLength(); - -private: - - uint8_t m_submessageId{0}; - uint8_t m_flags{0}; - uint16_t m_submessageLength{0}; - -}; -/*! - * @brief This class represents the enumeration SubmessageKind defined by the user in the IDL file. - * @ingroup core_types - */ -enum SubmessageKind : uint32_t -{ - RTPS_HE, - PAD, - ACKNACK, - HEARTBEAT, - GAP, - INFO_TS, - INFO_SRC, - INFO_REPLY_IP4, - INFO_DST, - INFO_REPLY, - NACK_FRAG, - HEARTBEAT_FRAG, - DATA, - DATA_FRAG -}; - - -/*! - * @brief This class represents the structure HeartBeatSubmessage defined by the user in the IDL file. - * @ingroup core_types - */ -class HeartBeatSubmessage -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport HeartBeatSubmessage(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~HeartBeatSubmessage(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::HeartBeatSubmessage that will be copied. - */ - eProsima_user_DllExport HeartBeatSubmessage( - const HeartBeatSubmessage& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::HeartBeatSubmessage that will be copied. - */ - eProsima_user_DllExport HeartBeatSubmessage( - HeartBeatSubmessage&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::HeartBeatSubmessage that will be copied. - */ - eProsima_user_DllExport HeartBeatSubmessage& operator =( - const HeartBeatSubmessage& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::HeartBeatSubmessage that will be copied. - */ - eProsima_user_DllExport HeartBeatSubmessage& operator =( - HeartBeatSubmessage&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::HeartBeatSubmessage object to compare. - */ - eProsima_user_DllExport bool operator ==( - const HeartBeatSubmessage& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::HeartBeatSubmessage object to compare. - */ - eProsima_user_DllExport bool operator !=( - const HeartBeatSubmessage& x) const; - - /*! - * @brief This function copies the value in member submsgHeader - * @param _submsgHeader New value to be copied in member submsgHeader - */ - eProsima_user_DllExport void submsgHeader( - const eprosima::fastdds::rtps::core::SubmessageHeader& _submsgHeader); - - /*! - * @brief This function moves the value in member submsgHeader - * @param _submsgHeader New value to be moved in member submsgHeader - */ - eProsima_user_DllExport void submsgHeader( - eprosima::fastdds::rtps::core::SubmessageHeader&& _submsgHeader); - - /*! - * @brief This function returns a constant reference to member submsgHeader - * @return Constant reference to member submsgHeader - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::SubmessageHeader& submsgHeader() const; - - /*! - * @brief This function returns a reference to member submsgHeader - * @return Reference to member submsgHeader - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::SubmessageHeader& submsgHeader(); - - - /*! - * @brief This function copies the value in member readerId - * @param _readerId New value to be copied in member readerId - */ - eProsima_user_DllExport void readerId( - const eprosima::fastdds::rtps::core::detail::EntityId_t& _readerId); - - /*! - * @brief This function moves the value in member readerId - * @param _readerId New value to be moved in member readerId - */ - eProsima_user_DllExport void readerId( - eprosima::fastdds::rtps::core::detail::EntityId_t&& _readerId); - - /*! - * @brief This function returns a constant reference to member readerId - * @return Constant reference to member readerId - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::EntityId_t& readerId() const; - - /*! - * @brief This function returns a reference to member readerId - * @return Reference to member readerId - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::EntityId_t& readerId(); - - - /*! - * @brief This function copies the value in member writerId - * @param _writerId New value to be copied in member writerId - */ - eProsima_user_DllExport void writerId( - const eprosima::fastdds::rtps::core::detail::EntityId_t& _writerId); - - /*! - * @brief This function moves the value in member writerId - * @param _writerId New value to be moved in member writerId - */ - eProsima_user_DllExport void writerId( - eprosima::fastdds::rtps::core::detail::EntityId_t&& _writerId); - - /*! - * @brief This function returns a constant reference to member writerId - * @return Constant reference to member writerId - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::EntityId_t& writerId() const; - - /*! - * @brief This function returns a reference to member writerId - * @return Reference to member writerId - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::EntityId_t& writerId(); - - - /*! - * @brief This function copies the value in member firstSN - * @param _firstSN New value to be copied in member firstSN - */ - eProsima_user_DllExport void firstSN( - const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& _firstSN); - - /*! - * @brief This function moves the value in member firstSN - * @param _firstSN New value to be moved in member firstSN - */ - eProsima_user_DllExport void firstSN( - eprosima::fastdds::rtps::core::detail::SequenceNumber_t&& _firstSN); - - /*! - * @brief This function returns a constant reference to member firstSN - * @return Constant reference to member firstSN - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& firstSN() const; - - /*! - * @brief This function returns a reference to member firstSN - * @return Reference to member firstSN - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::SequenceNumber_t& firstSN(); - - - /*! - * @brief This function copies the value in member lastSN - * @param _lastSN New value to be copied in member lastSN - */ - eProsima_user_DllExport void lastSN( - const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& _lastSN); - - /*! - * @brief This function moves the value in member lastSN - * @param _lastSN New value to be moved in member lastSN - */ - eProsima_user_DllExport void lastSN( - eprosima::fastdds::rtps::core::detail::SequenceNumber_t&& _lastSN); - - /*! - * @brief This function returns a constant reference to member lastSN - * @return Constant reference to member lastSN - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& lastSN() const; - - /*! - * @brief This function returns a reference to member lastSN - * @return Reference to member lastSN - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::SequenceNumber_t& lastSN(); - - - /*! - * @brief This function copies the value in member count - * @param _count New value to be copied in member count - */ - eProsima_user_DllExport void count( - const eprosima::fastdds::rtps::core::detail::Count_t& _count); - - /*! - * @brief This function moves the value in member count - * @param _count New value to be moved in member count - */ - eProsima_user_DllExport void count( - eprosima::fastdds::rtps::core::detail::Count_t&& _count); - - /*! - * @brief This function returns a constant reference to member count - * @return Constant reference to member count - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::Count_t& count() const; - - /*! - * @brief This function returns a reference to member count - * @return Reference to member count - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::Count_t& count(); - -private: - - eprosima::fastdds::rtps::core::SubmessageHeader m_submsgHeader; - eprosima::fastdds::rtps::core::detail::EntityId_t m_readerId; - eprosima::fastdds::rtps::core::detail::EntityId_t m_writerId; - eprosima::fastdds::rtps::core::detail::SequenceNumber_t m_firstSN; - eprosima::fastdds::rtps::core::detail::SequenceNumber_t m_lastSN; - eprosima::fastdds::rtps::core::detail::Count_t m_count; - -}; - - -/*! - * @brief This class represents the structure InfoDestinationSubmessage defined by the user in the IDL file. - * @ingroup core_types - */ -class InfoDestinationSubmessage -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport InfoDestinationSubmessage(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~InfoDestinationSubmessage(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoDestinationSubmessage that will be copied. - */ - eProsima_user_DllExport InfoDestinationSubmessage( - const InfoDestinationSubmessage& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoDestinationSubmessage that will be copied. - */ - eProsima_user_DllExport InfoDestinationSubmessage( - InfoDestinationSubmessage&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoDestinationSubmessage that will be copied. - */ - eProsima_user_DllExport InfoDestinationSubmessage& operator =( - const InfoDestinationSubmessage& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoDestinationSubmessage that will be copied. - */ - eProsima_user_DllExport InfoDestinationSubmessage& operator =( - InfoDestinationSubmessage&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::InfoDestinationSubmessage object to compare. - */ - eProsima_user_DllExport bool operator ==( - const InfoDestinationSubmessage& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::InfoDestinationSubmessage object to compare. - */ - eProsima_user_DllExport bool operator !=( - const InfoDestinationSubmessage& x) const; - - /*! - * @brief This function copies the value in member submsgHeader - * @param _submsgHeader New value to be copied in member submsgHeader - */ - eProsima_user_DllExport void submsgHeader( - const eprosima::fastdds::rtps::core::SubmessageHeader& _submsgHeader); - - /*! - * @brief This function moves the value in member submsgHeader - * @param _submsgHeader New value to be moved in member submsgHeader - */ - eProsima_user_DllExport void submsgHeader( - eprosima::fastdds::rtps::core::SubmessageHeader&& _submsgHeader); - - /*! - * @brief This function returns a constant reference to member submsgHeader - * @return Constant reference to member submsgHeader - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::SubmessageHeader& submsgHeader() const; - - /*! - * @brief This function returns a reference to member submsgHeader - * @return Reference to member submsgHeader - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::SubmessageHeader& submsgHeader(); - - - /*! - * @brief This function copies the value in member guidPrefix - * @param _guidPrefix New value to be copied in member guidPrefix - */ - eProsima_user_DllExport void guidPrefix( - const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& _guidPrefix); - - /*! - * @brief This function moves the value in member guidPrefix - * @param _guidPrefix New value to be moved in member guidPrefix - */ - eProsima_user_DllExport void guidPrefix( - eprosima::fastdds::rtps::core::detail::GuidPrefix_t&& _guidPrefix); - - /*! - * @brief This function returns a constant reference to member guidPrefix - * @return Constant reference to member guidPrefix - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& guidPrefix() const; - - /*! - * @brief This function returns a reference to member guidPrefix - * @return Reference to member guidPrefix - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::GuidPrefix_t& guidPrefix(); - -private: - - eprosima::fastdds::rtps::core::SubmessageHeader m_submsgHeader; - eprosima::fastdds::rtps::core::detail::GuidPrefix_t m_guidPrefix; - -}; - - -/*! - * @brief This class represents the structure InfoSourceSubmessage defined by the user in the IDL file. - * @ingroup core_types - */ -class InfoSourceSubmessage -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport InfoSourceSubmessage(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~InfoSourceSubmessage(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoSourceSubmessage that will be copied. - */ - eProsima_user_DllExport InfoSourceSubmessage( - const InfoSourceSubmessage& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoSourceSubmessage that will be copied. - */ - eProsima_user_DllExport InfoSourceSubmessage( - InfoSourceSubmessage&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoSourceSubmessage that will be copied. - */ - eProsima_user_DllExport InfoSourceSubmessage& operator =( - const InfoSourceSubmessage& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoSourceSubmessage that will be copied. - */ - eProsima_user_DllExport InfoSourceSubmessage& operator =( - InfoSourceSubmessage&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::InfoSourceSubmessage object to compare. - */ - eProsima_user_DllExport bool operator ==( - const InfoSourceSubmessage& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::InfoSourceSubmessage object to compare. - */ - eProsima_user_DllExport bool operator !=( - const InfoSourceSubmessage& x) const; - - /*! - * @brief This function copies the value in member submsgHeader - * @param _submsgHeader New value to be copied in member submsgHeader - */ - eProsima_user_DllExport void submsgHeader( - const eprosima::fastdds::rtps::core::SubmessageHeader& _submsgHeader); - - /*! - * @brief This function moves the value in member submsgHeader - * @param _submsgHeader New value to be moved in member submsgHeader - */ - eProsima_user_DllExport void submsgHeader( - eprosima::fastdds::rtps::core::SubmessageHeader&& _submsgHeader); - - /*! - * @brief This function returns a constant reference to member submsgHeader - * @return Constant reference to member submsgHeader - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::SubmessageHeader& submsgHeader() const; - - /*! - * @brief This function returns a reference to member submsgHeader - * @return Reference to member submsgHeader - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::SubmessageHeader& submsgHeader(); - - - /*! - * @brief This function sets a value in member unused - * @param _unused New value for member unused - */ - eProsima_user_DllExport void unused( - int32_t _unused); - - /*! - * @brief This function returns the value of member unused - * @return Value of member unused - */ - eProsima_user_DllExport int32_t unused() const; - - /*! - * @brief This function returns a reference to member unused - * @return Reference to member unused - */ - eProsima_user_DllExport int32_t& unused(); - - - /*! - * @brief This function copies the value in member version - * @param _version New value to be copied in member version - */ - eProsima_user_DllExport void version( - const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& _version); - - /*! - * @brief This function moves the value in member version - * @param _version New value to be moved in member version - */ - eProsima_user_DllExport void version( - eprosima::fastdds::rtps::core::detail::ProtocolVersion_t&& _version); - - /*! - * @brief This function returns a constant reference to member version - * @return Constant reference to member version - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& version() const; - - /*! - * @brief This function returns a reference to member version - * @return Reference to member version - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& version(); - - - /*! - * @brief This function copies the value in member vendorId - * @param _vendorId New value to be copied in member vendorId - */ - eProsima_user_DllExport void vendorId( - const eprosima::fastdds::rtps::core::detail::VendorId_t& _vendorId); - - /*! - * @brief This function moves the value in member vendorId - * @param _vendorId New value to be moved in member vendorId - */ - eProsima_user_DllExport void vendorId( - eprosima::fastdds::rtps::core::detail::VendorId_t&& _vendorId); - - /*! - * @brief This function returns a constant reference to member vendorId - * @return Constant reference to member vendorId - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::VendorId_t& vendorId() const; - - /*! - * @brief This function returns a reference to member vendorId - * @return Reference to member vendorId - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::VendorId_t& vendorId(); - - - /*! - * @brief This function copies the value in member guidPrefix - * @param _guidPrefix New value to be copied in member guidPrefix - */ - eProsima_user_DllExport void guidPrefix( - const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& _guidPrefix); - - /*! - * @brief This function moves the value in member guidPrefix - * @param _guidPrefix New value to be moved in member guidPrefix - */ - eProsima_user_DllExport void guidPrefix( - eprosima::fastdds::rtps::core::detail::GuidPrefix_t&& _guidPrefix); - - /*! - * @brief This function returns a constant reference to member guidPrefix - * @return Constant reference to member guidPrefix - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& guidPrefix() const; - - /*! - * @brief This function returns a reference to member guidPrefix - * @return Reference to member guidPrefix - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::GuidPrefix_t& guidPrefix(); - -private: - - eprosima::fastdds::rtps::core::SubmessageHeader m_submsgHeader; - int32_t m_unused{0}; - eprosima::fastdds::rtps::core::detail::ProtocolVersion_t m_version; - eprosima::fastdds::rtps::core::detail::VendorId_t m_vendorId; - eprosima::fastdds::rtps::core::detail::GuidPrefix_t m_guidPrefix; - -}; - - -/*! - * @brief This class represents the structure InfoTimestampSubmessage defined by the user in the IDL file. - * @ingroup core_types - */ -class InfoTimestampSubmessage -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport InfoTimestampSubmessage(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~InfoTimestampSubmessage(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoTimestampSubmessage that will be copied. - */ - eProsima_user_DllExport InfoTimestampSubmessage( - const InfoTimestampSubmessage& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoTimestampSubmessage that will be copied. - */ - eProsima_user_DllExport InfoTimestampSubmessage( - InfoTimestampSubmessage&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoTimestampSubmessage that will be copied. - */ - eProsima_user_DllExport InfoTimestampSubmessage& operator =( - const InfoTimestampSubmessage& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::InfoTimestampSubmessage that will be copied. - */ - eProsima_user_DllExport InfoTimestampSubmessage& operator =( - InfoTimestampSubmessage&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::InfoTimestampSubmessage object to compare. - */ - eProsima_user_DllExport bool operator ==( - const InfoTimestampSubmessage& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::InfoTimestampSubmessage object to compare. - */ - eProsima_user_DllExport bool operator !=( - const InfoTimestampSubmessage& x) const; - - /*! - * @brief This function copies the value in member submsgHeader - * @param _submsgHeader New value to be copied in member submsgHeader - */ - eProsima_user_DllExport void submsgHeader( - const eprosima::fastdds::rtps::core::SubmessageHeader& _submsgHeader); - - /*! - * @brief This function moves the value in member submsgHeader - * @param _submsgHeader New value to be moved in member submsgHeader - */ - eProsima_user_DllExport void submsgHeader( - eprosima::fastdds::rtps::core::SubmessageHeader&& _submsgHeader); - - /*! - * @brief This function returns a constant reference to member submsgHeader - * @return Constant reference to member submsgHeader - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::SubmessageHeader& submsgHeader() const; - - /*! - * @brief This function returns a reference to member submsgHeader - * @return Reference to member submsgHeader - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::SubmessageHeader& submsgHeader(); - - - /*! - * @brief This function copies the value in member timestamp - * @param _timestamp New value to be copied in member timestamp - */ - eProsima_user_DllExport void timestamp( - const eprosima::fastdds::rtps::core::detail::Timestamp& _timestamp); - - /*! - * @brief This function moves the value in member timestamp - * @param _timestamp New value to be moved in member timestamp - */ - eProsima_user_DllExport void timestamp( - eprosima::fastdds::rtps::core::detail::Timestamp&& _timestamp); - - /*! - * @brief This function returns a constant reference to member timestamp - * @return Constant reference to member timestamp - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::Timestamp& timestamp() const; - - /*! - * @brief This function returns a reference to member timestamp - * @return Reference to member timestamp - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::Timestamp& timestamp(); - -private: - - eprosima::fastdds::rtps::core::SubmessageHeader m_submsgHeader; - eprosima::fastdds::rtps::core::detail::Timestamp m_timestamp; - -}; - - -/*! - * @brief This class represents the union Submessage defined by the user in the IDL file. - * @ingroup core_types - */ -class Submessage -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport Submessage(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~Submessage(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::Submessage that will be copied. - */ - eProsima_user_DllExport Submessage( - const Submessage& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::Submessage that will be copied. - */ - eProsima_user_DllExport Submessage( - Submessage&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::Submessage that will be copied. - */ - eProsima_user_DllExport Submessage& operator =( - const Submessage& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::Submessage that will be copied. - */ - eProsima_user_DllExport Submessage& operator =( - Submessage&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::Submessage object to compare. - */ - eProsima_user_DllExport bool operator ==( - const Submessage& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::Submessage object to compare. - */ - eProsima_user_DllExport bool operator !=( - const Submessage& x) const; - - /*! - * @brief This function sets the discriminator value. - * @param __d New value for the discriminator. - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the new value doesn't correspond to the selected union member. - */ - eProsima_user_DllExport void _d( - eprosima::fastdds::rtps::core::SubmessageKind __d); - - /*! - * @brief This function returns the value of the discriminator. - * @return Value of the discriminator - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::SubmessageKind _d() const; - - /*! - * @brief This function returns a reference to the discriminator. - * @return Reference to the discriminator. - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::SubmessageKind& _d(); - - /*! - * @brief This function copies the value in member heartbeat_submsg - * @param _heartbeat_submsg New value to be copied in member heartbeat_submsg - */ - eProsima_user_DllExport void heartbeat_submsg( - const eprosima::fastdds::rtps::core::HeartBeatSubmessage& _heartbeat_submsg); - - /*! - * @brief This function moves the value in member heartbeat_submsg - * @param _heartbeat_submsg New value to be moved in member heartbeat_submsg - */ - eProsima_user_DllExport void heartbeat_submsg( - eprosima::fastdds::rtps::core::HeartBeatSubmessage&& _heartbeat_submsg); - - /*! - * @brief This function returns a constant reference to member heartbeat_submsg - * @return Constant reference to member heartbeat_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::HeartBeatSubmessage& heartbeat_submsg() const; - - /*! - * @brief This function returns a reference to member heartbeat_submsg - * @return Reference to member heartbeat_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::HeartBeatSubmessage& heartbeat_submsg(); - - - /*! - * @brief This function copies the value in member info_ts_submsg - * @param _info_ts_submsg New value to be copied in member info_ts_submsg - */ - eProsima_user_DllExport void info_ts_submsg( - const eprosima::fastdds::rtps::core::InfoTimestampSubmessage& _info_ts_submsg); - - /*! - * @brief This function moves the value in member info_ts_submsg - * @param _info_ts_submsg New value to be moved in member info_ts_submsg - */ - eProsima_user_DllExport void info_ts_submsg( - eprosima::fastdds::rtps::core::InfoTimestampSubmessage&& _info_ts_submsg); - - /*! - * @brief This function returns a constant reference to member info_ts_submsg - * @return Constant reference to member info_ts_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::InfoTimestampSubmessage& info_ts_submsg() const; - - /*! - * @brief This function returns a reference to member info_ts_submsg - * @return Reference to member info_ts_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::InfoTimestampSubmessage& info_ts_submsg(); - - - /*! - * @brief This function copies the value in member info_src_submsg - * @param _info_src_submsg New value to be copied in member info_src_submsg - */ - eProsima_user_DllExport void info_src_submsg( - const eprosima::fastdds::rtps::core::InfoSourceSubmessage& _info_src_submsg); - - /*! - * @brief This function moves the value in member info_src_submsg - * @param _info_src_submsg New value to be moved in member info_src_submsg - */ - eProsima_user_DllExport void info_src_submsg( - eprosima::fastdds::rtps::core::InfoSourceSubmessage&& _info_src_submsg); - - /*! - * @brief This function returns a constant reference to member info_src_submsg - * @return Constant reference to member info_src_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::InfoSourceSubmessage& info_src_submsg() const; - - /*! - * @brief This function returns a reference to member info_src_submsg - * @return Reference to member info_src_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::InfoSourceSubmessage& info_src_submsg(); - - - /*! - * @brief This function copies the value in member info_dst_submsg - * @param _info_dst_submsg New value to be copied in member info_dst_submsg - */ - eProsima_user_DllExport void info_dst_submsg( - const eprosima::fastdds::rtps::core::InfoDestinationSubmessage& _info_dst_submsg); - - /*! - * @brief This function moves the value in member info_dst_submsg - * @param _info_dst_submsg New value to be moved in member info_dst_submsg - */ - eProsima_user_DllExport void info_dst_submsg( - eprosima::fastdds::rtps::core::InfoDestinationSubmessage&& _info_dst_submsg); - - /*! - * @brief This function returns a constant reference to member info_dst_submsg - * @return Constant reference to member info_dst_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::InfoDestinationSubmessage& info_dst_submsg() const; - - /*! - * @brief This function returns a reference to member info_dst_submsg - * @return Reference to member info_dst_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::InfoDestinationSubmessage& info_dst_submsg(); - - - /*! - * @brief This function copies the value in member unknown_submsg - * @param _unknown_submsg New value to be copied in member unknown_submsg - */ - eProsima_user_DllExport void unknown_submsg( - const eprosima::fastdds::rtps::core::SubmessageHeader& _unknown_submsg); - - /*! - * @brief This function moves the value in member unknown_submsg - * @param _unknown_submsg New value to be moved in member unknown_submsg - */ - eProsima_user_DllExport void unknown_submsg( - eprosima::fastdds::rtps::core::SubmessageHeader&& _unknown_submsg); - - /*! - * @brief This function returns a constant reference to member unknown_submsg - * @return Constant reference to member unknown_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::SubmessageHeader& unknown_submsg() const; - - /*! - * @brief This function returns a reference to member unknown_submsg - * @return Reference to member unknown_submsg - * @exception eprosima::fastcdr::BadParamException This exception is thrown if the requested union member is not the current selection. - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::SubmessageHeader& unknown_submsg(); - -private: - - eprosima::fastdds::rtps::core::SubmessageKind m__d; - - eprosima::fastdds::rtps::core::HeartBeatSubmessage m_heartbeat_submsg; - eprosima::fastdds::rtps::core::InfoTimestampSubmessage m_info_ts_submsg; - eprosima::fastdds::rtps::core::InfoSourceSubmessage m_info_src_submsg; - eprosima::fastdds::rtps::core::InfoDestinationSubmessage m_info_dst_submsg; - eprosima::fastdds::rtps::core::SubmessageHeader m_unknown_submsg; -}; - - - - -/*! - * @brief This class represents the structure RTPSMessage defined by the user in the IDL file. - * @ingroup core_types - */ -class RTPSMessage -{ -public: - - /*! - * @brief Default constructor. - */ - eProsima_user_DllExport RTPSMessage(); - - /*! - * @brief Default destructor. - */ - eProsima_user_DllExport ~RTPSMessage(); - - /*! - * @brief Copy constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::RTPSMessage that will be copied. - */ - eProsima_user_DllExport RTPSMessage( - const RTPSMessage& x); - - /*! - * @brief Move constructor. - * @param x Reference to the object eprosima::fastdds::rtps::core::RTPSMessage that will be copied. - */ - eProsima_user_DllExport RTPSMessage( - RTPSMessage&& x) noexcept; - - /*! - * @brief Copy assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::RTPSMessage that will be copied. - */ - eProsima_user_DllExport RTPSMessage& operator =( - const RTPSMessage& x); - - /*! - * @brief Move assignment. - * @param x Reference to the object eprosima::fastdds::rtps::core::RTPSMessage that will be copied. - */ - eProsima_user_DllExport RTPSMessage& operator =( - RTPSMessage&& x) noexcept; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::RTPSMessage object to compare. - */ - eProsima_user_DllExport bool operator ==( - const RTPSMessage& x) const; - - /*! - * @brief Comparison operator. - * @param x eprosima::fastdds::rtps::core::RTPSMessage object to compare. - */ - eProsima_user_DllExport bool operator !=( - const RTPSMessage& x) const; - - /*! - * @brief This function copies the value in member msg_header - * @param _msg_header New value to be copied in member msg_header - */ - eProsima_user_DllExport void msg_header( - const eprosima::fastdds::rtps::core::Header& _msg_header); - - /*! - * @brief This function moves the value in member msg_header - * @param _msg_header New value to be moved in member msg_header - */ - eProsima_user_DllExport void msg_header( - eprosima::fastdds::rtps::core::Header&& _msg_header); - - /*! - * @brief This function returns a constant reference to member msg_header - * @return Constant reference to member msg_header - */ - eProsima_user_DllExport const eprosima::fastdds::rtps::core::Header& msg_header() const; - - /*! - * @brief This function returns a reference to member msg_header - * @return Reference to member msg_header - */ - eProsima_user_DllExport eprosima::fastdds::rtps::core::Header& msg_header(); - - - /*! - * @brief This function copies the value in member submessages - * @param _submessages New value to be copied in member submessages - */ - eProsima_user_DllExport void submessages( - const std::vector& _submessages); - - /*! - * @brief This function moves the value in member submessages - * @param _submessages New value to be moved in member submessages - */ - eProsima_user_DllExport void submessages( - std::vector&& _submessages); - - /*! - * @brief This function returns a constant reference to member submessages - * @return Constant reference to member submessages - */ - eProsima_user_DllExport const std::vector& submessages() const; - - /*! - * @brief This function returns a reference to member submessages - * @return Reference to member submessages - */ - eProsima_user_DllExport std::vector& submessages(); - -private: - - eprosima::fastdds::rtps::core::Header m_msg_header; - std::vector m_submessages; - -}; - -} // namespace core - -} // namespace rtps - -} // namespace fastdds - -} // namespace eprosima - -#endif // _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_H_ - - - diff --git a/test/blackbox/types/core/core_typesTypeObject.cxx b/test/blackbox/types/core/core_typesTypeObject.cxx deleted file mode 100644 index b6ffdedf5b0..00000000000 --- a/test/blackbox/types/core/core_typesTypeObject.cxx +++ /dev/null @@ -1,4909 +0,0 @@ -// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/*! - * @file core_typesTypeObject.cpp - * This source file contains the definition of the described types in the IDL file. - * - * This file was generated by the tool fastddsgen. - */ - -#ifdef _WIN32 -// Remove linker warning LNK4221 on Visual Studio -namespace { char dummy; } -#endif - -#include "core_types.h" -#include "core_typesTypeObject.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace eprosima::fastdds::rtps; - -void registercore_typesTypes() -{ - static std::once_flag once_flag; - std::call_once(once_flag, []() - { - TypeObjectFactory *factory = TypeObjectFactory::get_instance(); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::EntityId_t", eprosima::fastdds::rtps::core::detail::GetEntityId_tIdentifier(true), - eprosima::fastdds::rtps::core::detail::GetEntityId_tObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::EntityId_t", eprosima::fastdds::rtps::core::detail::GetEntityId_tIdentifier(false), - eprosima::fastdds::rtps::core::detail::GetEntityId_tObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::detail::ProtocolVersion_t", eprosima::fastdds::rtps::core::detail::GetProtocolVersion_tIdentifier(true), - eprosima::fastdds::rtps::core::detail::GetProtocolVersion_tObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::ProtocolVersion_t", eprosima::fastdds::rtps::core::detail::GetProtocolVersion_tIdentifier(false), - eprosima::fastdds::rtps::core::detail::GetProtocolVersion_tObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::detail::VendorId_t", eprosima::fastdds::rtps::core::detail::GetVendorId_tIdentifier(true), - eprosima::fastdds::rtps::core::detail::GetVendorId_tObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::VendorId_t", eprosima::fastdds::rtps::core::detail::GetVendorId_tIdentifier(false), - eprosima::fastdds::rtps::core::detail::GetVendorId_tObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::detail::GuidPrefix_t", eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(true), - eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::GuidPrefix_t", eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(false), - eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::detail::GUID_t", eprosima::fastdds::rtps::core::detail::GetGUID_tIdentifier(true), - eprosima::fastdds::rtps::core::detail::GetGUID_tObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::GUID_t", eprosima::fastdds::rtps::core::detail::GetGUID_tIdentifier(false), - eprosima::fastdds::rtps::core::detail::GetGUID_tObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::detail::SequenceNumber_t", eprosima::fastdds::rtps::core::detail::GetSequenceNumber_tIdentifier(true), - eprosima::fastdds::rtps::core::detail::GetSequenceNumber_tObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::SequenceNumber_t", eprosima::fastdds::rtps::core::detail::GetSequenceNumber_tIdentifier(false), - eprosima::fastdds::rtps::core::detail::GetSequenceNumber_tObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::detail::Count_t", eprosima::fastdds::rtps::core::detail::GetCount_tIdentifier(true), - eprosima::fastdds::rtps::core::detail::GetCount_tObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::Count_t", eprosima::fastdds::rtps::core::detail::GetCount_tIdentifier(false), - eprosima::fastdds::rtps::core::detail::GetCount_tObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::detail::Time_t", eprosima::fastdds::rtps::core::detail::GetTime_tIdentifier(true), - eprosima::fastdds::rtps::core::detail::GetTime_tObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::Time_t", eprosima::fastdds::rtps::core::detail::GetTime_tIdentifier(false), - eprosima::fastdds::rtps::core::detail::GetTime_tObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::detail::Timestamp", eprosima::fastdds::rtps::core::detail::GetTimestampIdentifier(true), - eprosima::fastdds::rtps::core::detail::GetTimestampObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::detail::Timestamp", eprosima::fastdds::rtps::core::detail::GetTimestampIdentifier(false), - eprosima::fastdds::rtps::core::detail::GetTimestampObject(false)); - - - - factory->add_type_object("eprosima::fastdds::rtps::core::Header", eprosima::fastdds::rtps::core::GetHeaderIdentifier(true), - eprosima::fastdds::rtps::core::GetHeaderObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::Header", eprosima::fastdds::rtps::core::GetHeaderIdentifier(false), - eprosima::fastdds::rtps::core::GetHeaderObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::SubmessageHeader", eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(true), - eprosima::fastdds::rtps::core::GetSubmessageHeaderObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::SubmessageHeader", eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(false), - eprosima::fastdds::rtps::core::GetSubmessageHeaderObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::SubmessageKind", eprosima::fastdds::rtps::core::GetSubmessageKindIdentifier(true), - eprosima::fastdds::rtps::core::GetSubmessageKindObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::SubmessageKind", eprosima::fastdds::rtps::core::GetSubmessageKindIdentifier(false), - eprosima::fastdds::rtps::core::GetSubmessageKindObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::HeartBeatSubmessage", eprosima::fastdds::rtps::core::GetHeartBeatSubmessageIdentifier(true), - eprosima::fastdds::rtps::core::GetHeartBeatSubmessageObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::HeartBeatSubmessage", eprosima::fastdds::rtps::core::GetHeartBeatSubmessageIdentifier(false), - eprosima::fastdds::rtps::core::GetHeartBeatSubmessageObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::InfoDestinationSubmessage", eprosima::fastdds::rtps::core::GetInfoDestinationSubmessageIdentifier(true), - eprosima::fastdds::rtps::core::GetInfoDestinationSubmessageObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::InfoDestinationSubmessage", eprosima::fastdds::rtps::core::GetInfoDestinationSubmessageIdentifier(false), - eprosima::fastdds::rtps::core::GetInfoDestinationSubmessageObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::InfoSourceSubmessage", eprosima::fastdds::rtps::core::GetInfoSourceSubmessageIdentifier(true), - eprosima::fastdds::rtps::core::GetInfoSourceSubmessageObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::InfoSourceSubmessage", eprosima::fastdds::rtps::core::GetInfoSourceSubmessageIdentifier(false), - eprosima::fastdds::rtps::core::GetInfoSourceSubmessageObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::InfoTimestampSubmessage", eprosima::fastdds::rtps::core::GetInfoTimestampSubmessageIdentifier(true), - eprosima::fastdds::rtps::core::GetInfoTimestampSubmessageObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::InfoTimestampSubmessage", eprosima::fastdds::rtps::core::GetInfoTimestampSubmessageIdentifier(false), - eprosima::fastdds::rtps::core::GetInfoTimestampSubmessageObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::Submessage", eprosima::fastdds::rtps::core::GetSubmessageIdentifier(true), - eprosima::fastdds::rtps::core::GetSubmessageObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::Submessage", eprosima::fastdds::rtps::core::GetSubmessageIdentifier(false), - eprosima::fastdds::rtps::core::GetSubmessageObject(false)); - - - factory->add_type_object("eprosima::fastdds::rtps::core::RTPSMessage", eprosima::fastdds::rtps::core::GetRTPSMessageIdentifier(true), - eprosima::fastdds::rtps::core::GetRTPSMessageObject(true)); - factory->add_type_object("eprosima::fastdds::rtps::core::RTPSMessage", eprosima::fastdds::rtps::core::GetRTPSMessageIdentifier(false), - eprosima::fastdds::rtps::core::GetRTPSMessageObject(false)); - - - - - - }); -} - -namespace eprosima { - namespace fastdds { - namespace rtps { - namespace core { - namespace detail { - - - const TypeIdentifier* GetEntityId_tIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("EntityId_t", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetEntityId_tObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("EntityId_t", complete); - } - - const TypeObject* GetEntityId_tObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("EntityId_t", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteEntityId_tObject(); - } - //else - return GetMinimalEntityId_tObject(); - } - - const TypeObject* GetMinimalEntityId_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("EntityId_t", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_value; - mst_value.common().member_id(memberId++); - mst_value.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_value.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_value.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_value.common().member_flags().IS_OPTIONAL(false); - mst_value.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_value.common().member_flags().IS_KEY(false); - mst_value.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_value.common().member_type_id(*TypeObjectFactory::get_instance()->get_array_identifier("uint8_t", {4}, false)); - - MD5 value_hash("value"); - for(int i = 0; i < 4; ++i) - { - mst_value.detail().name_hash()[i] = value_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_value); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("EntityId_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("EntityId_t", false); - } - - const TypeObject* GetCompleteEntityId_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("EntityId_t", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_value; - cst_value.common().member_id(memberId++); - cst_value.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_value.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_value.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_value.common().member_flags().IS_OPTIONAL(false); - cst_value.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_value.common().member_flags().IS_KEY(false); - cst_value.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_value.common().member_type_id(*TypeObjectFactory::get_instance()->get_array_identifier("uint8_t", {4}, true)); - - cst_value.detail().name("value"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_value); - - - // Header - type_object->complete().struct_type().header().detail().type_name("EntityId_t"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("EntityId_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("EntityId_t", true); - } - - - - const TypeIdentifier* GetProtocolVersion_tIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("ProtocolVersion_t", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetProtocolVersion_tObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("ProtocolVersion_t", complete); - } - - const TypeObject* GetProtocolVersion_tObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("ProtocolVersion_t", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteProtocolVersion_tObject(); - } - //else - return GetMinimalProtocolVersion_tObject(); - } - - const TypeObject* GetMinimalProtocolVersion_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("ProtocolVersion_t", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_major; - mst_major.common().member_id(memberId++); - mst_major.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_major.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_major.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_major.common().member_flags().IS_OPTIONAL(false); - mst_major.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_major.common().member_flags().IS_KEY(false); - mst_major.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_major.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint8_t", false)); - - - MD5 major_hash("major"); - for(int i = 0; i < 4; ++i) - { - mst_major.detail().name_hash()[i] = major_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_major); - - MinimalStructMember mst_minor; - mst_minor.common().member_id(memberId++); - mst_minor.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_minor.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_minor.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_minor.common().member_flags().IS_OPTIONAL(false); - mst_minor.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_minor.common().member_flags().IS_KEY(false); - mst_minor.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_minor.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint8_t", false)); - - - MD5 minor_hash("minor"); - for(int i = 0; i < 4; ++i) - { - mst_minor.detail().name_hash()[i] = minor_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_minor); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("ProtocolVersion_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("ProtocolVersion_t", false); - } - - const TypeObject* GetCompleteProtocolVersion_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("ProtocolVersion_t", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_major; - cst_major.common().member_id(memberId++); - cst_major.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_major.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_major.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_major.common().member_flags().IS_OPTIONAL(false); - cst_major.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_major.common().member_flags().IS_KEY(false); - cst_major.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_major.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint8_t", false)); - - - cst_major.detail().name("major"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_major); - - CompleteStructMember cst_minor; - cst_minor.common().member_id(memberId++); - cst_minor.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_minor.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_minor.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_minor.common().member_flags().IS_OPTIONAL(false); - cst_minor.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_minor.common().member_flags().IS_KEY(false); - cst_minor.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_minor.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint8_t", false)); - - - cst_minor.detail().name("minor"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_minor); - - - // Header - type_object->complete().struct_type().header().detail().type_name("ProtocolVersion_t"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("ProtocolVersion_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("ProtocolVersion_t", true); - } - - - - const TypeIdentifier* GetVendorId_tIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("VendorId_t", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetVendorId_tObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("VendorId_t", complete); - } - - const TypeObject* GetVendorId_tObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("VendorId_t", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteVendorId_tObject(); - } - //else - return GetMinimalVendorId_tObject(); - } - - const TypeObject* GetMinimalVendorId_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("VendorId_t", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_vendorId; - mst_vendorId.common().member_id(memberId++); - mst_vendorId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_vendorId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_vendorId.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_vendorId.common().member_flags().IS_OPTIONAL(false); - mst_vendorId.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_vendorId.common().member_flags().IS_KEY(false); - mst_vendorId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_vendorId.common().member_type_id(*TypeObjectFactory::get_instance()->get_array_identifier("uint8_t", {2}, false)); - - MD5 vendorId_hash("vendorId"); - for(int i = 0; i < 4; ++i) - { - mst_vendorId.detail().name_hash()[i] = vendorId_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_vendorId); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("VendorId_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("VendorId_t", false); - } - - const TypeObject* GetCompleteVendorId_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("VendorId_t", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_vendorId; - cst_vendorId.common().member_id(memberId++); - cst_vendorId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_vendorId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_vendorId.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_vendorId.common().member_flags().IS_OPTIONAL(false); - cst_vendorId.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_vendorId.common().member_flags().IS_KEY(false); - cst_vendorId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_vendorId.common().member_type_id(*TypeObjectFactory::get_instance()->get_array_identifier("uint8_t", {2}, true)); - - cst_vendorId.detail().name("vendorId"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_vendorId); - - - // Header - type_object->complete().struct_type().header().detail().type_name("VendorId_t"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("VendorId_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("VendorId_t", true); - } - - - - const TypeIdentifier* GetGuidPrefix_tIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("GuidPrefix_t", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetGuidPrefix_tObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("GuidPrefix_t", complete); - } - - const TypeObject* GetGuidPrefix_tObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("GuidPrefix_t", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteGuidPrefix_tObject(); - } - //else - return GetMinimalGuidPrefix_tObject(); - } - - const TypeObject* GetMinimalGuidPrefix_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("GuidPrefix_t", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_value; - mst_value.common().member_id(memberId++); - mst_value.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_value.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_value.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_value.common().member_flags().IS_OPTIONAL(false); - mst_value.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_value.common().member_flags().IS_KEY(false); - mst_value.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_value.common().member_type_id(*TypeObjectFactory::get_instance()->get_array_identifier("uint8_t", {12}, false)); - - MD5 value_hash("value"); - for(int i = 0; i < 4; ++i) - { - mst_value.detail().name_hash()[i] = value_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_value); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("GuidPrefix_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("GuidPrefix_t", false); - } - - const TypeObject* GetCompleteGuidPrefix_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("GuidPrefix_t", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_value; - cst_value.common().member_id(memberId++); - cst_value.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_value.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_value.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_value.common().member_flags().IS_OPTIONAL(false); - cst_value.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_value.common().member_flags().IS_KEY(false); - cst_value.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_value.common().member_type_id(*TypeObjectFactory::get_instance()->get_array_identifier("uint8_t", {12}, true)); - - cst_value.detail().name("value"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_value); - - - // Header - type_object->complete().struct_type().header().detail().type_name("GuidPrefix_t"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("GuidPrefix_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("GuidPrefix_t", true); - } - - - - const TypeIdentifier* GetGUID_tIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("GUID_t", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetGUID_tObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("GUID_t", complete); - } - - const TypeObject* GetGUID_tObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("GUID_t", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteGUID_tObject(); - } - //else - return GetMinimalGUID_tObject(); - } - - const TypeObject* GetMinimalGUID_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("GUID_t", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_guidPrefix; - mst_guidPrefix.common().member_id(memberId++); - mst_guidPrefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_guidPrefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_guidPrefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_guidPrefix.common().member_flags().IS_OPTIONAL(false); - mst_guidPrefix.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_guidPrefix.common().member_flags().IS_KEY(false); - mst_guidPrefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_guidPrefix.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(false)); - - MD5 guidPrefix_hash("guidPrefix"); - for(int i = 0; i < 4; ++i) - { - mst_guidPrefix.detail().name_hash()[i] = guidPrefix_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_guidPrefix); - - MinimalStructMember mst_entityId; - mst_entityId.common().member_id(memberId++); - mst_entityId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_entityId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_entityId.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_entityId.common().member_flags().IS_OPTIONAL(false); - mst_entityId.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_entityId.common().member_flags().IS_KEY(false); - mst_entityId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_entityId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetEntityId_tIdentifier(false)); - - MD5 entityId_hash("entityId"); - for(int i = 0; i < 4; ++i) - { - mst_entityId.detail().name_hash()[i] = entityId_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_entityId); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("GUID_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("GUID_t", false); - } - - const TypeObject* GetCompleteGUID_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("GUID_t", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_guidPrefix; - cst_guidPrefix.common().member_id(memberId++); - cst_guidPrefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_guidPrefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_guidPrefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_guidPrefix.common().member_flags().IS_OPTIONAL(false); - cst_guidPrefix.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_guidPrefix.common().member_flags().IS_KEY(false); - cst_guidPrefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_guidPrefix.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(true)); - - cst_guidPrefix.detail().name("guidPrefix"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_guidPrefix); - - CompleteStructMember cst_entityId; - cst_entityId.common().member_id(memberId++); - cst_entityId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_entityId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_entityId.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_entityId.common().member_flags().IS_OPTIONAL(false); - cst_entityId.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_entityId.common().member_flags().IS_KEY(false); - cst_entityId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_entityId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetEntityId_tIdentifier(true)); - - cst_entityId.detail().name("entityId"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_entityId); - - - // Header - type_object->complete().struct_type().header().detail().type_name("GUID_t"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("GUID_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("GUID_t", true); - } - - - - const TypeIdentifier* GetSequenceNumber_tIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("SequenceNumber_t", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetSequenceNumber_tObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("SequenceNumber_t", complete); - } - - const TypeObject* GetSequenceNumber_tObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("SequenceNumber_t", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteSequenceNumber_tObject(); - } - //else - return GetMinimalSequenceNumber_tObject(); - } - - const TypeObject* GetMinimalSequenceNumber_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("SequenceNumber_t", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_high; - mst_high.common().member_id(memberId++); - mst_high.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_high.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_high.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_high.common().member_flags().IS_OPTIONAL(false); - mst_high.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_high.common().member_flags().IS_KEY(false); - mst_high.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_high.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("int32_t", false)); - - - MD5 high_hash("high"); - for(int i = 0; i < 4; ++i) - { - mst_high.detail().name_hash()[i] = high_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_high); - - MinimalStructMember mst_low; - mst_low.common().member_id(memberId++); - mst_low.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_low.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_low.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_low.common().member_flags().IS_OPTIONAL(false); - mst_low.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_low.common().member_flags().IS_KEY(false); - mst_low.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_low.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint32_t", false)); - - - MD5 low_hash("low"); - for(int i = 0; i < 4; ++i) - { - mst_low.detail().name_hash()[i] = low_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_low); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("SequenceNumber_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("SequenceNumber_t", false); - } - - const TypeObject* GetCompleteSequenceNumber_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("SequenceNumber_t", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_high; - cst_high.common().member_id(memberId++); - cst_high.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_high.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_high.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_high.common().member_flags().IS_OPTIONAL(false); - cst_high.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_high.common().member_flags().IS_KEY(false); - cst_high.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_high.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("int32_t", false)); - - - cst_high.detail().name("high"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_high); - - CompleteStructMember cst_low; - cst_low.common().member_id(memberId++); - cst_low.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_low.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_low.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_low.common().member_flags().IS_OPTIONAL(false); - cst_low.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_low.common().member_flags().IS_KEY(false); - cst_low.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_low.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint32_t", false)); - - - cst_low.detail().name("low"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_low); - - - // Header - type_object->complete().struct_type().header().detail().type_name("SequenceNumber_t"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("SequenceNumber_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("SequenceNumber_t", true); - } - - - - const TypeIdentifier* GetCount_tIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("Count_t", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetCount_tObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("Count_t", complete); - } - - const TypeObject* GetCount_tObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Count_t", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteCount_tObject(); - } - //else - return GetMinimalCount_tObject(); - } - - const TypeObject* GetMinimalCount_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Count_t", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_value; - mst_value.common().member_id(memberId++); - mst_value.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_value.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_value.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_value.common().member_flags().IS_OPTIONAL(false); - mst_value.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_value.common().member_flags().IS_KEY(false); - mst_value.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_value.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("int32_t", false)); - - - MD5 value_hash("value"); - for(int i = 0; i < 4; ++i) - { - mst_value.detail().name_hash()[i] = value_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_value); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("Count_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("Count_t", false); - } - - const TypeObject* GetCompleteCount_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Count_t", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_value; - cst_value.common().member_id(memberId++); - cst_value.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_value.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_value.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_value.common().member_flags().IS_OPTIONAL(false); - cst_value.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_value.common().member_flags().IS_KEY(false); - cst_value.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_value.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("int32_t", false)); - - - cst_value.detail().name("value"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_value); - - - // Header - type_object->complete().struct_type().header().detail().type_name("Count_t"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("Count_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("Count_t", true); - } - - - - const TypeIdentifier* GetTime_tIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("Time_t", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetTime_tObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("Time_t", complete); - } - - const TypeObject* GetTime_tObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Time_t", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteTime_tObject(); - } - //else - return GetMinimalTime_tObject(); - } - - const TypeObject* GetMinimalTime_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Time_t", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_seconds; - mst_seconds.common().member_id(memberId++); - mst_seconds.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_seconds.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_seconds.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_seconds.common().member_flags().IS_OPTIONAL(false); - mst_seconds.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_seconds.common().member_flags().IS_KEY(false); - mst_seconds.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_seconds.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint32_t", false)); - - - MD5 seconds_hash("seconds"); - for(int i = 0; i < 4; ++i) - { - mst_seconds.detail().name_hash()[i] = seconds_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_seconds); - - MinimalStructMember mst_fraction; - mst_fraction.common().member_id(memberId++); - mst_fraction.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_fraction.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_fraction.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_fraction.common().member_flags().IS_OPTIONAL(false); - mst_fraction.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_fraction.common().member_flags().IS_KEY(false); - mst_fraction.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_fraction.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint32_t", false)); - - - MD5 fraction_hash("fraction"); - for(int i = 0; i < 4; ++i) - { - mst_fraction.detail().name_hash()[i] = fraction_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_fraction); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("Time_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("Time_t", false); - } - - const TypeObject* GetCompleteTime_tObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Time_t", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_seconds; - cst_seconds.common().member_id(memberId++); - cst_seconds.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_seconds.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_seconds.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_seconds.common().member_flags().IS_OPTIONAL(false); - cst_seconds.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_seconds.common().member_flags().IS_KEY(false); - cst_seconds.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_seconds.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint32_t", false)); - - - cst_seconds.detail().name("seconds"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_seconds); - - CompleteStructMember cst_fraction; - cst_fraction.common().member_id(memberId++); - cst_fraction.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_fraction.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_fraction.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_fraction.common().member_flags().IS_OPTIONAL(false); - cst_fraction.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_fraction.common().member_flags().IS_KEY(false); - cst_fraction.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_fraction.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint32_t", false)); - - - cst_fraction.detail().name("fraction"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_fraction); - - - // Header - type_object->complete().struct_type().header().detail().type_name("Time_t"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("Time_t", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("Time_t", true); - } - - const TypeIdentifier* GetTimestampIdentifier(bool complete) - { - const TypeIdentifier* c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("Timestamp", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetTimestampObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("Timestamp", complete); - } - - const TypeObject* GetTimestampObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Timestamp", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteTimestampObject(); - } - else - { - return GetMinimalTimestampObject(); - } - } - - const TypeObject* GetMinimalTimestampObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Timestamp", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_ALIAS); - - // No flags apply - //type_object->minimal().alias_type().alias_flags().IS_FINAL(false); - //type_object->minimal().alias_type().alias_flags().IS_APPENDABLE(false); - //type_object->minimal().alias_type().alias_flags().IS_MUTABLE(false); - //type_object->minimal().alias_type().alias_flags().IS_NESTED(false); - //type_object->minimal().alias_type().alias_flags().IS_AUTOID_HASH(false); - - // type_object->minimal().alias_type().header()... Is empty - - // No flags apply - //type_object->minimal().alias_type().body().common().related_flags().TRY_CONSTRUCT1(false); - //type_object->minimal().alias_type().body().common().related_flags().TRY_CONSTRUCT2(false); - //type_object->minimal().alias_type().body().common().related_flags().IS_EXTERNAL(false); - //type_object->minimal().alias_type().body().common().related_flags().IS_OPTIONAL(false); - //type_object->minimal().alias_type().body().common().related_flags().IS_MUST_UNDERSTAND(false); - //type_object->minimal().alias_type().body().common().related_flags().IS_KEY(false); - //type_object->minimal().alias_type().body().common().related_flags().IS_DEFAULT(false); - - // Must be defined already, if don't, may be an recursive alias - const TypeIdentifier *relatedType = TypeObjectFactory::get_instance()->get_type_identifier("eprosima::fastdds::rtps::core::detail::Time_t", false); - - - if (relatedType != nullptr) - { - type_object->minimal().alias_type().body().common().related_type() = *relatedType; // Make a copy - } - else - { - // Cannot determine base type - delete type_object; - return nullptr; - } - - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().alias_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - // Don't add our TypeIdentifier but our alias - TypeObjectFactory::get_instance()->add_alias("Timestamp", "eprosima::fastdds::rtps::core::detail::Time_t"); - - TypeObjectFactory::get_instance()->add_type_object("Timestamp", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("Timestamp", false); - } - - const TypeObject* GetCompleteTimestampObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Timestamp", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_ALIAS); - - // No flags apply - //type_object->complete().alias_type().alias_flags().IS_FINAL(false); - //type_object->complete().alias_type().alias_flags().IS_APPENDABLE(false); - //type_object->complete().alias_type().alias_flags().IS_MUTABLE(false); - //type_object->complete().alias_type().alias_flags().IS_NESTED(false); - //type_object->complete().alias_type().alias_flags().IS_AUTOID_HASH(false); - - //type_object->complete().alias_type().header().detail().ann_builtin().verbatim().placement("placement"); - //type_object->complete().alias_type().header().detail().ann_builtin().verbatim().language("language"); - //type_object->complete().alias_type().header().detail().ann_builtin().verbatim().text("text"); - //type_object->complete().alias_type().header().detail().ann_custom().push_back(...); - type_object->complete().alias_type().header().detail().type_name("Timestamp"); - - // No flags apply - //type_object->complete().alias_type().body().common().related_flags().TRY_CONSTRUCT1(false); - //type_object->complete().alias_type().body().common().related_flags().TRY_CONSTRUCT2(false); - //type_object->complete().alias_type().body().common().related_flags().IS_EXTERNAL(false); - //type_object->complete().alias_type().body().common().related_flags().IS_OPTIONAL(false); - //type_object->complete().alias_type().body().common().related_flags().IS_MUST_UNDERSTAND(false); - //type_object->complete().alias_type().body().common().related_flags().IS_KEY(false); - //type_object->complete().alias_type().body().common().related_flags().IS_DEFAULT(false); - - //type_object->complete().alias_type().body().common().ann_builtin() - //type_object->complete().alias_type().body().common().ann_custom() - - // Must be defined already, if don't, may be an recursive alias - const TypeIdentifier *relatedType = TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("eprosima::fastdds::rtps::core::detail::Time_t"); - - - if (relatedType != nullptr) - { - type_object->complete().alias_type().body().common().related_type() = *relatedType; // Make a copy - } - else - { - // Cannot determine base type - delete type_object; - return nullptr; - } - - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().alias_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - // Don't add our TypeIdentifier but our alias - TypeObjectFactory::get_instance()->add_alias("Timestamp", "eprosima::fastdds::rtps::core::detail::Time_t"); - - TypeObjectFactory::get_instance()->add_type_object("Timestamp", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("Timestamp", true); - } - - } // namespace detail - - - const TypeIdentifier* GetHeaderIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("Header", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetHeaderObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("Header", complete); - } - - const TypeObject* GetHeaderObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Header", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteHeaderObject(); - } - //else - return GetMinimalHeaderObject(); - } - - const TypeObject* GetMinimalHeaderObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Header", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_prefix; - mst_prefix.common().member_id(memberId++); - mst_prefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_prefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_prefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_prefix.common().member_flags().IS_OPTIONAL(false); - mst_prefix.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_prefix.common().member_flags().IS_KEY(false); - mst_prefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_prefix.common().member_type_id(*TypeObjectFactory::get_instance()->get_array_identifier("uint8_t", {4}, false)); - - MD5 prefix_hash("prefix"); - for(int i = 0; i < 4; ++i) - { - mst_prefix.detail().name_hash()[i] = prefix_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_prefix); - - MinimalStructMember mst_version; - mst_version.common().member_id(memberId++); - mst_version.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_version.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_version.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_version.common().member_flags().IS_OPTIONAL(false); - mst_version.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_version.common().member_flags().IS_KEY(false); - mst_version.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_version.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetProtocolVersion_tIdentifier(false)); - - MD5 version_hash("version"); - for(int i = 0; i < 4; ++i) - { - mst_version.detail().name_hash()[i] = version_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_version); - - MinimalStructMember mst_vendorId; - mst_vendorId.common().member_id(memberId++); - mst_vendorId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_vendorId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_vendorId.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_vendorId.common().member_flags().IS_OPTIONAL(false); - mst_vendorId.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_vendorId.common().member_flags().IS_KEY(false); - mst_vendorId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_vendorId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetVendorId_tIdentifier(false)); - - MD5 vendorId_hash("vendorId"); - for(int i = 0; i < 4; ++i) - { - mst_vendorId.detail().name_hash()[i] = vendorId_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_vendorId); - - MinimalStructMember mst_guidPrefix; - mst_guidPrefix.common().member_id(memberId++); - mst_guidPrefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_guidPrefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_guidPrefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_guidPrefix.common().member_flags().IS_OPTIONAL(false); - mst_guidPrefix.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_guidPrefix.common().member_flags().IS_KEY(false); - mst_guidPrefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_guidPrefix.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(false)); - - MD5 guidPrefix_hash("guidPrefix"); - for(int i = 0; i < 4; ++i) - { - mst_guidPrefix.detail().name_hash()[i] = guidPrefix_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_guidPrefix); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("Header", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("Header", false); - } - - const TypeObject* GetCompleteHeaderObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Header", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_prefix; - cst_prefix.common().member_id(memberId++); - cst_prefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_prefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_prefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_prefix.common().member_flags().IS_OPTIONAL(false); - cst_prefix.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_prefix.common().member_flags().IS_KEY(false); - cst_prefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_prefix.common().member_type_id(*TypeObjectFactory::get_instance()->get_array_identifier("uint8_t", {4}, true)); - - cst_prefix.detail().name("prefix"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_prefix); - - CompleteStructMember cst_version; - cst_version.common().member_id(memberId++); - cst_version.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_version.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_version.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_version.common().member_flags().IS_OPTIONAL(false); - cst_version.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_version.common().member_flags().IS_KEY(false); - cst_version.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_version.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetProtocolVersion_tIdentifier(true)); - - cst_version.detail().name("version"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_version); - - CompleteStructMember cst_vendorId; - cst_vendorId.common().member_id(memberId++); - cst_vendorId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_vendorId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_vendorId.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_vendorId.common().member_flags().IS_OPTIONAL(false); - cst_vendorId.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_vendorId.common().member_flags().IS_KEY(false); - cst_vendorId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_vendorId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetVendorId_tIdentifier(true)); - - cst_vendorId.detail().name("vendorId"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_vendorId); - - CompleteStructMember cst_guidPrefix; - cst_guidPrefix.common().member_id(memberId++); - cst_guidPrefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_guidPrefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_guidPrefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_guidPrefix.common().member_flags().IS_OPTIONAL(false); - cst_guidPrefix.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_guidPrefix.common().member_flags().IS_KEY(false); - cst_guidPrefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_guidPrefix.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(true)); - - cst_guidPrefix.detail().name("guidPrefix"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_guidPrefix); - - - // Header - type_object->complete().struct_type().header().detail().type_name("Header"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("Header", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("Header", true); - } - - - - const TypeIdentifier* GetSubmessageHeaderIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("SubmessageHeader", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetSubmessageHeaderObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("SubmessageHeader", complete); - } - - const TypeObject* GetSubmessageHeaderObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("SubmessageHeader", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteSubmessageHeaderObject(); - } - //else - return GetMinimalSubmessageHeaderObject(); - } - - const TypeObject* GetMinimalSubmessageHeaderObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("SubmessageHeader", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_submessageId; - mst_submessageId.common().member_id(memberId++); - mst_submessageId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_submessageId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_submessageId.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_submessageId.common().member_flags().IS_OPTIONAL(false); - mst_submessageId.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_submessageId.common().member_flags().IS_KEY(false); - mst_submessageId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_submessageId.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint8_t", false)); - - - MD5 submessageId_hash("submessageId"); - for(int i = 0; i < 4; ++i) - { - mst_submessageId.detail().name_hash()[i] = submessageId_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_submessageId); - - MinimalStructMember mst_flags; - mst_flags.common().member_id(memberId++); - mst_flags.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_flags.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_flags.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_flags.common().member_flags().IS_OPTIONAL(false); - mst_flags.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_flags.common().member_flags().IS_KEY(false); - mst_flags.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_flags.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint8_t", false)); - - - MD5 flags_hash("flags"); - for(int i = 0; i < 4; ++i) - { - mst_flags.detail().name_hash()[i] = flags_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_flags); - - MinimalStructMember mst_submessageLength; - mst_submessageLength.common().member_id(memberId++); - mst_submessageLength.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_submessageLength.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_submessageLength.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_submessageLength.common().member_flags().IS_OPTIONAL(false); - mst_submessageLength.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_submessageLength.common().member_flags().IS_KEY(false); - mst_submessageLength.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_submessageLength.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint16_t", false)); - - - MD5 submessageLength_hash("submessageLength"); - for(int i = 0; i < 4; ++i) - { - mst_submessageLength.detail().name_hash()[i] = submessageLength_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_submessageLength); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("SubmessageHeader", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("SubmessageHeader", false); - } - - const TypeObject* GetCompleteSubmessageHeaderObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("SubmessageHeader", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_submessageId; - cst_submessageId.common().member_id(memberId++); - cst_submessageId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_submessageId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_submessageId.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_submessageId.common().member_flags().IS_OPTIONAL(false); - cst_submessageId.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_submessageId.common().member_flags().IS_KEY(false); - cst_submessageId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_submessageId.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint8_t", false)); - - - cst_submessageId.detail().name("submessageId"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_submessageId); - - CompleteStructMember cst_flags; - cst_flags.common().member_id(memberId++); - cst_flags.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_flags.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_flags.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_flags.common().member_flags().IS_OPTIONAL(false); - cst_flags.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_flags.common().member_flags().IS_KEY(false); - cst_flags.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_flags.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint8_t", false)); - - - cst_flags.detail().name("flags"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_flags); - - CompleteStructMember cst_submessageLength; - cst_submessageLength.common().member_id(memberId++); - cst_submessageLength.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_submessageLength.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_submessageLength.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_submessageLength.common().member_flags().IS_OPTIONAL(false); - cst_submessageLength.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_submessageLength.common().member_flags().IS_KEY(false); - cst_submessageLength.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_submessageLength.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("uint16_t", false)); - - - cst_submessageLength.detail().name("submessageLength"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_submessageLength); - - - // Header - type_object->complete().struct_type().header().detail().type_name("SubmessageHeader"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("SubmessageHeader", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("SubmessageHeader", true); - } - - const TypeIdentifier* GetSubmessageKindIdentifier(bool complete) - { - const TypeIdentifier* c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("SubmessageKind", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetSubmessageKindObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("SubmessageKind", complete); - } - - const TypeObject* GetSubmessageKindObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("SubmessageKind", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteSubmessageKindObject(); - } - // else - return GetMinimalSubmessageKindObject(); - } - - const TypeObject* GetMinimalSubmessageKindObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("SubmessageKind", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_ENUM); - - // No flags apply - //type_object->minimal().enumerated_type().enum_flags().IS_FINAL(false); - //type_object->minimal().enumerated_type().enum_flags().IS_APPENDABLE(false); - //type_object->minimal().enumerated_type().enum_flags().IS_MUTABLE(false); - //type_object->minimal().enumerated_type().enum_flags().IS_NESTED(false); - //type_object->minimal().enumerated_type().enum_flags().IS_AUTOID_HASH(false); - - type_object->minimal().enumerated_type().header().common().bit_bound(32); // TODO fixed by IDL, isn't? - - uint32_t value = 0; - MinimalEnumeratedLiteral mel_RTPS_HE; - mel_RTPS_HE.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_RTPS_HE.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_RTPS_HE.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_RTPS_HE.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_RTPS_HE.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_RTPS_HE.common().flags().IS_KEY(false); // Doesn't apply - mel_RTPS_HE.common().flags().IS_DEFAULT(false); - mel_RTPS_HE.common().value(value++); - MD5 RTPS_HE_hash("RTPS_HE"); - for(int i = 0; i < 4; ++i) - { - mel_RTPS_HE.detail().name_hash()[i] = RTPS_HE_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_RTPS_HE); - - MinimalEnumeratedLiteral mel_PAD; - mel_PAD.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_PAD.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_PAD.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_PAD.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_PAD.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_PAD.common().flags().IS_KEY(false); // Doesn't apply - mel_PAD.common().flags().IS_DEFAULT(false); - mel_PAD.common().value(value++); - MD5 PAD_hash("PAD"); - for(int i = 0; i < 4; ++i) - { - mel_PAD.detail().name_hash()[i] = PAD_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_PAD); - - MinimalEnumeratedLiteral mel_ACKNACK; - mel_ACKNACK.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_ACKNACK.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_ACKNACK.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_ACKNACK.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_ACKNACK.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_ACKNACK.common().flags().IS_KEY(false); // Doesn't apply - mel_ACKNACK.common().flags().IS_DEFAULT(false); - mel_ACKNACK.common().value(value++); - MD5 ACKNACK_hash("ACKNACK"); - for(int i = 0; i < 4; ++i) - { - mel_ACKNACK.detail().name_hash()[i] = ACKNACK_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_ACKNACK); - - MinimalEnumeratedLiteral mel_HEARTBEAT; - mel_HEARTBEAT.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_HEARTBEAT.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_HEARTBEAT.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_HEARTBEAT.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_HEARTBEAT.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_HEARTBEAT.common().flags().IS_KEY(false); // Doesn't apply - mel_HEARTBEAT.common().flags().IS_DEFAULT(false); - mel_HEARTBEAT.common().value(value++); - MD5 HEARTBEAT_hash("HEARTBEAT"); - for(int i = 0; i < 4; ++i) - { - mel_HEARTBEAT.detail().name_hash()[i] = HEARTBEAT_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_HEARTBEAT); - - MinimalEnumeratedLiteral mel_GAP; - mel_GAP.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_GAP.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_GAP.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_GAP.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_GAP.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_GAP.common().flags().IS_KEY(false); // Doesn't apply - mel_GAP.common().flags().IS_DEFAULT(false); - mel_GAP.common().value(value++); - MD5 GAP_hash("GAP"); - for(int i = 0; i < 4; ++i) - { - mel_GAP.detail().name_hash()[i] = GAP_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_GAP); - - MinimalEnumeratedLiteral mel_INFO_TS; - mel_INFO_TS.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_INFO_TS.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_INFO_TS.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_INFO_TS.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_INFO_TS.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_INFO_TS.common().flags().IS_KEY(false); // Doesn't apply - mel_INFO_TS.common().flags().IS_DEFAULT(false); - mel_INFO_TS.common().value(value++); - MD5 INFO_TS_hash("INFO_TS"); - for(int i = 0; i < 4; ++i) - { - mel_INFO_TS.detail().name_hash()[i] = INFO_TS_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_INFO_TS); - - MinimalEnumeratedLiteral mel_INFO_SRC; - mel_INFO_SRC.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_INFO_SRC.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_INFO_SRC.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_INFO_SRC.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_INFO_SRC.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_INFO_SRC.common().flags().IS_KEY(false); // Doesn't apply - mel_INFO_SRC.common().flags().IS_DEFAULT(false); - mel_INFO_SRC.common().value(value++); - MD5 INFO_SRC_hash("INFO_SRC"); - for(int i = 0; i < 4; ++i) - { - mel_INFO_SRC.detail().name_hash()[i] = INFO_SRC_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_INFO_SRC); - - MinimalEnumeratedLiteral mel_INFO_REPLY_IP4; - mel_INFO_REPLY_IP4.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_INFO_REPLY_IP4.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_INFO_REPLY_IP4.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_INFO_REPLY_IP4.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_INFO_REPLY_IP4.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_INFO_REPLY_IP4.common().flags().IS_KEY(false); // Doesn't apply - mel_INFO_REPLY_IP4.common().flags().IS_DEFAULT(false); - mel_INFO_REPLY_IP4.common().value(value++); - MD5 INFO_REPLY_IP4_hash("INFO_REPLY_IP4"); - for(int i = 0; i < 4; ++i) - { - mel_INFO_REPLY_IP4.detail().name_hash()[i] = INFO_REPLY_IP4_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_INFO_REPLY_IP4); - - MinimalEnumeratedLiteral mel_INFO_DST; - mel_INFO_DST.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_INFO_DST.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_INFO_DST.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_INFO_DST.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_INFO_DST.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_INFO_DST.common().flags().IS_KEY(false); // Doesn't apply - mel_INFO_DST.common().flags().IS_DEFAULT(false); - mel_INFO_DST.common().value(value++); - MD5 INFO_DST_hash("INFO_DST"); - for(int i = 0; i < 4; ++i) - { - mel_INFO_DST.detail().name_hash()[i] = INFO_DST_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_INFO_DST); - - MinimalEnumeratedLiteral mel_INFO_REPLY; - mel_INFO_REPLY.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_INFO_REPLY.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_INFO_REPLY.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_INFO_REPLY.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_INFO_REPLY.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_INFO_REPLY.common().flags().IS_KEY(false); // Doesn't apply - mel_INFO_REPLY.common().flags().IS_DEFAULT(false); - mel_INFO_REPLY.common().value(value++); - MD5 INFO_REPLY_hash("INFO_REPLY"); - for(int i = 0; i < 4; ++i) - { - mel_INFO_REPLY.detail().name_hash()[i] = INFO_REPLY_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_INFO_REPLY); - - MinimalEnumeratedLiteral mel_NACK_FRAG; - mel_NACK_FRAG.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_NACK_FRAG.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_NACK_FRAG.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_NACK_FRAG.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_NACK_FRAG.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_NACK_FRAG.common().flags().IS_KEY(false); // Doesn't apply - mel_NACK_FRAG.common().flags().IS_DEFAULT(false); - mel_NACK_FRAG.common().value(value++); - MD5 NACK_FRAG_hash("NACK_FRAG"); - for(int i = 0; i < 4; ++i) - { - mel_NACK_FRAG.detail().name_hash()[i] = NACK_FRAG_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_NACK_FRAG); - - MinimalEnumeratedLiteral mel_HEARTBEAT_FRAG; - mel_HEARTBEAT_FRAG.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_HEARTBEAT_FRAG.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_HEARTBEAT_FRAG.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_HEARTBEAT_FRAG.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_HEARTBEAT_FRAG.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_HEARTBEAT_FRAG.common().flags().IS_KEY(false); // Doesn't apply - mel_HEARTBEAT_FRAG.common().flags().IS_DEFAULT(false); - mel_HEARTBEAT_FRAG.common().value(value++); - MD5 HEARTBEAT_FRAG_hash("HEARTBEAT_FRAG"); - for(int i = 0; i < 4; ++i) - { - mel_HEARTBEAT_FRAG.detail().name_hash()[i] = HEARTBEAT_FRAG_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_HEARTBEAT_FRAG); - - MinimalEnumeratedLiteral mel_DATA; - mel_DATA.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_DATA.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_DATA.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_DATA.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_DATA.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_DATA.common().flags().IS_KEY(false); // Doesn't apply - mel_DATA.common().flags().IS_DEFAULT(false); - mel_DATA.common().value(value++); - MD5 DATA_hash("DATA"); - for(int i = 0; i < 4; ++i) - { - mel_DATA.detail().name_hash()[i] = DATA_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_DATA); - - MinimalEnumeratedLiteral mel_DATA_FRAG; - mel_DATA_FRAG.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - mel_DATA_FRAG.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - mel_DATA_FRAG.common().flags().IS_EXTERNAL(false); // Doesn't apply - mel_DATA_FRAG.common().flags().IS_OPTIONAL(false); // Doesn't apply - mel_DATA_FRAG.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mel_DATA_FRAG.common().flags().IS_KEY(false); // Doesn't apply - mel_DATA_FRAG.common().flags().IS_DEFAULT(false); - mel_DATA_FRAG.common().value(value++); - MD5 DATA_FRAG_hash("DATA_FRAG"); - for(int i = 0; i < 4; ++i) - { - mel_DATA_FRAG.detail().name_hash()[i] = DATA_FRAG_hash.digest[i]; - } - type_object->minimal().enumerated_type().literal_seq().emplace_back(mel_DATA_FRAG); - - - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().enumerated_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("SubmessageKind", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("SubmessageKind", false); - } - - const TypeObject* GetCompleteSubmessageKindObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("SubmessageKind", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_ENUM); - - // No flags apply - //type_object->complete().enumerated_type().enum_flags().IS_FINAL(false); - //type_object->complete().enumerated_type().enum_flags().IS_APPENDABLE(false); - //type_object->complete().enumerated_type().enum_flags().IS_MUTABLE(false); - //type_object->complete().enumerated_type().enum_flags().IS_NESTED(false); - //type_object->complete().enumerated_type().enum_flags().IS_AUTOID_HASH(false); - - type_object->complete().enumerated_type().header().common().bit_bound(32); // TODO fixed by IDL, isn't? - type_object->complete().enumerated_type().header().detail().type_name("SubmessageKind"); - - uint32_t value = 0; - CompleteEnumeratedLiteral cel_RTPS_HE; - cel_RTPS_HE.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_RTPS_HE.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_RTPS_HE.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_RTPS_HE.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_RTPS_HE.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_RTPS_HE.common().flags().IS_KEY(false); // Doesn't apply - cel_RTPS_HE.common().flags().IS_DEFAULT(false); - cel_RTPS_HE.common().value(value++); - cel_RTPS_HE.detail().name("RTPS_HE"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x00"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_RTPS_HE.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_RTPS_HE); - - CompleteEnumeratedLiteral cel_PAD; - cel_PAD.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_PAD.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_PAD.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_PAD.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_PAD.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_PAD.common().flags().IS_KEY(false); // Doesn't apply - cel_PAD.common().flags().IS_DEFAULT(false); - cel_PAD.common().value(value++); - cel_PAD.detail().name("PAD"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x01"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_PAD.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_PAD); - - CompleteEnumeratedLiteral cel_ACKNACK; - cel_ACKNACK.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_ACKNACK.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_ACKNACK.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_ACKNACK.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_ACKNACK.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_ACKNACK.common().flags().IS_KEY(false); // Doesn't apply - cel_ACKNACK.common().flags().IS_DEFAULT(false); - cel_ACKNACK.common().value(value++); - cel_ACKNACK.detail().name("ACKNACK"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x06"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_ACKNACK.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_ACKNACK); - - CompleteEnumeratedLiteral cel_HEARTBEAT; - cel_HEARTBEAT.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_HEARTBEAT.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_HEARTBEAT.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_HEARTBEAT.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_HEARTBEAT.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_HEARTBEAT.common().flags().IS_KEY(false); // Doesn't apply - cel_HEARTBEAT.common().flags().IS_DEFAULT(false); - cel_HEARTBEAT.common().value(value++); - cel_HEARTBEAT.detail().name("HEARTBEAT"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x07"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_HEARTBEAT.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_HEARTBEAT); - - CompleteEnumeratedLiteral cel_GAP; - cel_GAP.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_GAP.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_GAP.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_GAP.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_GAP.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_GAP.common().flags().IS_KEY(false); // Doesn't apply - cel_GAP.common().flags().IS_DEFAULT(false); - cel_GAP.common().value(value++); - cel_GAP.detail().name("GAP"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x08"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_GAP.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_GAP); - - CompleteEnumeratedLiteral cel_INFO_TS; - cel_INFO_TS.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_INFO_TS.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_INFO_TS.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_INFO_TS.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_INFO_TS.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_INFO_TS.common().flags().IS_KEY(false); // Doesn't apply - cel_INFO_TS.common().flags().IS_DEFAULT(false); - cel_INFO_TS.common().value(value++); - cel_INFO_TS.detail().name("INFO_TS"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x09"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_INFO_TS.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_INFO_TS); - - CompleteEnumeratedLiteral cel_INFO_SRC; - cel_INFO_SRC.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_INFO_SRC.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_INFO_SRC.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_INFO_SRC.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_INFO_SRC.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_INFO_SRC.common().flags().IS_KEY(false); // Doesn't apply - cel_INFO_SRC.common().flags().IS_DEFAULT(false); - cel_INFO_SRC.common().value(value++); - cel_INFO_SRC.detail().name("INFO_SRC"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x0c"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_INFO_SRC.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_INFO_SRC); - - CompleteEnumeratedLiteral cel_INFO_REPLY_IP4; - cel_INFO_REPLY_IP4.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_INFO_REPLY_IP4.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_INFO_REPLY_IP4.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_INFO_REPLY_IP4.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_INFO_REPLY_IP4.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_INFO_REPLY_IP4.common().flags().IS_KEY(false); // Doesn't apply - cel_INFO_REPLY_IP4.common().flags().IS_DEFAULT(false); - cel_INFO_REPLY_IP4.common().value(value++); - cel_INFO_REPLY_IP4.detail().name("INFO_REPLY_IP4"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x0d"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_INFO_REPLY_IP4.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_INFO_REPLY_IP4); - - CompleteEnumeratedLiteral cel_INFO_DST; - cel_INFO_DST.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_INFO_DST.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_INFO_DST.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_INFO_DST.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_INFO_DST.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_INFO_DST.common().flags().IS_KEY(false); // Doesn't apply - cel_INFO_DST.common().flags().IS_DEFAULT(false); - cel_INFO_DST.common().value(value++); - cel_INFO_DST.detail().name("INFO_DST"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x0e"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_INFO_DST.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_INFO_DST); - - CompleteEnumeratedLiteral cel_INFO_REPLY; - cel_INFO_REPLY.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_INFO_REPLY.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_INFO_REPLY.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_INFO_REPLY.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_INFO_REPLY.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_INFO_REPLY.common().flags().IS_KEY(false); // Doesn't apply - cel_INFO_REPLY.common().flags().IS_DEFAULT(false); - cel_INFO_REPLY.common().value(value++); - cel_INFO_REPLY.detail().name("INFO_REPLY"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x0f"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_INFO_REPLY.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_INFO_REPLY); - - CompleteEnumeratedLiteral cel_NACK_FRAG; - cel_NACK_FRAG.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_NACK_FRAG.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_NACK_FRAG.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_NACK_FRAG.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_NACK_FRAG.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_NACK_FRAG.common().flags().IS_KEY(false); // Doesn't apply - cel_NACK_FRAG.common().flags().IS_DEFAULT(false); - cel_NACK_FRAG.common().value(value++); - cel_NACK_FRAG.detail().name("NACK_FRAG"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x12"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_NACK_FRAG.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_NACK_FRAG); - - CompleteEnumeratedLiteral cel_HEARTBEAT_FRAG; - cel_HEARTBEAT_FRAG.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_HEARTBEAT_FRAG.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_HEARTBEAT_FRAG.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_HEARTBEAT_FRAG.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_HEARTBEAT_FRAG.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_HEARTBEAT_FRAG.common().flags().IS_KEY(false); // Doesn't apply - cel_HEARTBEAT_FRAG.common().flags().IS_DEFAULT(false); - cel_HEARTBEAT_FRAG.common().value(value++); - cel_HEARTBEAT_FRAG.detail().name("HEARTBEAT_FRAG"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x13"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_HEARTBEAT_FRAG.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_HEARTBEAT_FRAG); - - CompleteEnumeratedLiteral cel_DATA; - cel_DATA.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_DATA.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_DATA.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_DATA.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_DATA.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_DATA.common().flags().IS_KEY(false); // Doesn't apply - cel_DATA.common().flags().IS_DEFAULT(false); - cel_DATA.common().value(value++); - cel_DATA.detail().name("DATA"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x15"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_DATA.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_DATA); - - CompleteEnumeratedLiteral cel_DATA_FRAG; - cel_DATA_FRAG.common().flags().TRY_CONSTRUCT1(false); // Doesn't apply - cel_DATA_FRAG.common().flags().TRY_CONSTRUCT2(false); // Doesn't apply - cel_DATA_FRAG.common().flags().IS_EXTERNAL(false); // Doesn't apply - cel_DATA_FRAG.common().flags().IS_OPTIONAL(false); // Doesn't apply - cel_DATA_FRAG.common().flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cel_DATA_FRAG.common().flags().IS_KEY(false); // Doesn't apply - cel_DATA_FRAG.common().flags().IS_DEFAULT(false); - cel_DATA_FRAG.common().value(value++); - cel_DATA_FRAG.detail().name("DATA_FRAG"); - - { - AppliedAnnotation ann; - //ann.annotation_typeid(GetvalueIdentifier(true)); - ann.annotation_typeid(*TypeObjectFactory::get_instance()->get_type_identifier_trying_complete("value")); - { - AppliedAnnotationParameter annParam; - MD5 message_hash("value"); - for(int i = 0; i < 4; ++i) - { - annParam.paramname_hash()[i] = message_hash.digest[i]; - } - AnnotationParameterValue paramValue; - paramValue._d(); - paramValue.from_string("0x16"); - annParam.value(paramValue); - ann.param_seq().push_back(annParam); - } - - cel_DATA_FRAG.detail().ann_custom().push_back(ann); - } - - - type_object->complete().enumerated_type().literal_seq().emplace_back(cel_DATA_FRAG); - - - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().enumerated_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("SubmessageKind", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("SubmessageKind", true); - } - - - - const TypeIdentifier* GetHeartBeatSubmessageIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("HeartBeatSubmessage", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetHeartBeatSubmessageObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("HeartBeatSubmessage", complete); - } - - const TypeObject* GetHeartBeatSubmessageObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("HeartBeatSubmessage", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteHeartBeatSubmessageObject(); - } - //else - return GetMinimalHeartBeatSubmessageObject(); - } - - const TypeObject* GetMinimalHeartBeatSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("HeartBeatSubmessage", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_submsgHeader; - mst_submsgHeader.common().member_id(memberId++); - mst_submsgHeader.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_submsgHeader.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_submsgHeader.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_submsgHeader.common().member_flags().IS_OPTIONAL(false); - mst_submsgHeader.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_submsgHeader.common().member_flags().IS_KEY(false); - mst_submsgHeader.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_submsgHeader.common().member_type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(false)); - - MD5 submsgHeader_hash("submsgHeader"); - for(int i = 0; i < 4; ++i) - { - mst_submsgHeader.detail().name_hash()[i] = submsgHeader_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_submsgHeader); - - MinimalStructMember mst_readerId; - mst_readerId.common().member_id(memberId++); - mst_readerId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_readerId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_readerId.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_readerId.common().member_flags().IS_OPTIONAL(false); - mst_readerId.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_readerId.common().member_flags().IS_KEY(false); - mst_readerId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_readerId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetEntityId_tIdentifier(false)); - - MD5 readerId_hash("readerId"); - for(int i = 0; i < 4; ++i) - { - mst_readerId.detail().name_hash()[i] = readerId_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_readerId); - - MinimalStructMember mst_writerId; - mst_writerId.common().member_id(memberId++); - mst_writerId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_writerId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_writerId.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_writerId.common().member_flags().IS_OPTIONAL(false); - mst_writerId.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_writerId.common().member_flags().IS_KEY(false); - mst_writerId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_writerId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetEntityId_tIdentifier(false)); - - MD5 writerId_hash("writerId"); - for(int i = 0; i < 4; ++i) - { - mst_writerId.detail().name_hash()[i] = writerId_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_writerId); - - MinimalStructMember mst_firstSN; - mst_firstSN.common().member_id(memberId++); - mst_firstSN.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_firstSN.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_firstSN.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_firstSN.common().member_flags().IS_OPTIONAL(false); - mst_firstSN.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_firstSN.common().member_flags().IS_KEY(false); - mst_firstSN.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_firstSN.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetSequenceNumber_tIdentifier(false)); - - MD5 firstSN_hash("firstSN"); - for(int i = 0; i < 4; ++i) - { - mst_firstSN.detail().name_hash()[i] = firstSN_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_firstSN); - - MinimalStructMember mst_lastSN; - mst_lastSN.common().member_id(memberId++); - mst_lastSN.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_lastSN.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_lastSN.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_lastSN.common().member_flags().IS_OPTIONAL(false); - mst_lastSN.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_lastSN.common().member_flags().IS_KEY(false); - mst_lastSN.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_lastSN.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetSequenceNumber_tIdentifier(false)); - - MD5 lastSN_hash("lastSN"); - for(int i = 0; i < 4; ++i) - { - mst_lastSN.detail().name_hash()[i] = lastSN_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_lastSN); - - MinimalStructMember mst_count; - mst_count.common().member_id(memberId++); - mst_count.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_count.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_count.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_count.common().member_flags().IS_OPTIONAL(false); - mst_count.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_count.common().member_flags().IS_KEY(false); - mst_count.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_count.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetCount_tIdentifier(false)); - - MD5 count_hash("count"); - for(int i = 0; i < 4; ++i) - { - mst_count.detail().name_hash()[i] = count_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_count); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("HeartBeatSubmessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("HeartBeatSubmessage", false); - } - - const TypeObject* GetCompleteHeartBeatSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("HeartBeatSubmessage", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_submsgHeader; - cst_submsgHeader.common().member_id(memberId++); - cst_submsgHeader.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_submsgHeader.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_submsgHeader.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_submsgHeader.common().member_flags().IS_OPTIONAL(false); - cst_submsgHeader.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_submsgHeader.common().member_flags().IS_KEY(false); - cst_submsgHeader.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_submsgHeader.common().member_type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(true)); - - cst_submsgHeader.detail().name("submsgHeader"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_submsgHeader); - - CompleteStructMember cst_readerId; - cst_readerId.common().member_id(memberId++); - cst_readerId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_readerId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_readerId.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_readerId.common().member_flags().IS_OPTIONAL(false); - cst_readerId.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_readerId.common().member_flags().IS_KEY(false); - cst_readerId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_readerId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetEntityId_tIdentifier(true)); - - cst_readerId.detail().name("readerId"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_readerId); - - CompleteStructMember cst_writerId; - cst_writerId.common().member_id(memberId++); - cst_writerId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_writerId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_writerId.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_writerId.common().member_flags().IS_OPTIONAL(false); - cst_writerId.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_writerId.common().member_flags().IS_KEY(false); - cst_writerId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_writerId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetEntityId_tIdentifier(true)); - - cst_writerId.detail().name("writerId"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_writerId); - - CompleteStructMember cst_firstSN; - cst_firstSN.common().member_id(memberId++); - cst_firstSN.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_firstSN.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_firstSN.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_firstSN.common().member_flags().IS_OPTIONAL(false); - cst_firstSN.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_firstSN.common().member_flags().IS_KEY(false); - cst_firstSN.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_firstSN.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetSequenceNumber_tIdentifier(true)); - - cst_firstSN.detail().name("firstSN"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_firstSN); - - CompleteStructMember cst_lastSN; - cst_lastSN.common().member_id(memberId++); - cst_lastSN.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_lastSN.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_lastSN.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_lastSN.common().member_flags().IS_OPTIONAL(false); - cst_lastSN.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_lastSN.common().member_flags().IS_KEY(false); - cst_lastSN.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_lastSN.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetSequenceNumber_tIdentifier(true)); - - cst_lastSN.detail().name("lastSN"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_lastSN); - - CompleteStructMember cst_count; - cst_count.common().member_id(memberId++); - cst_count.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_count.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_count.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_count.common().member_flags().IS_OPTIONAL(false); - cst_count.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_count.common().member_flags().IS_KEY(false); - cst_count.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_count.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetCount_tIdentifier(true)); - - cst_count.detail().name("count"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_count); - - - // Header - type_object->complete().struct_type().header().detail().type_name("HeartBeatSubmessage"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("HeartBeatSubmessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("HeartBeatSubmessage", true); - } - - - - const TypeIdentifier* GetInfoDestinationSubmessageIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("InfoDestinationSubmessage", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetInfoDestinationSubmessageObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("InfoDestinationSubmessage", complete); - } - - const TypeObject* GetInfoDestinationSubmessageObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("InfoDestinationSubmessage", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteInfoDestinationSubmessageObject(); - } - //else - return GetMinimalInfoDestinationSubmessageObject(); - } - - const TypeObject* GetMinimalInfoDestinationSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("InfoDestinationSubmessage", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_submsgHeader; - mst_submsgHeader.common().member_id(memberId++); - mst_submsgHeader.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_submsgHeader.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_submsgHeader.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_submsgHeader.common().member_flags().IS_OPTIONAL(false); - mst_submsgHeader.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_submsgHeader.common().member_flags().IS_KEY(false); - mst_submsgHeader.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_submsgHeader.common().member_type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(false)); - - MD5 submsgHeader_hash("submsgHeader"); - for(int i = 0; i < 4; ++i) - { - mst_submsgHeader.detail().name_hash()[i] = submsgHeader_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_submsgHeader); - - MinimalStructMember mst_guidPrefix; - mst_guidPrefix.common().member_id(memberId++); - mst_guidPrefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_guidPrefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_guidPrefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_guidPrefix.common().member_flags().IS_OPTIONAL(false); - mst_guidPrefix.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_guidPrefix.common().member_flags().IS_KEY(false); - mst_guidPrefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_guidPrefix.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(false)); - - MD5 guidPrefix_hash("guidPrefix"); - for(int i = 0; i < 4; ++i) - { - mst_guidPrefix.detail().name_hash()[i] = guidPrefix_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_guidPrefix); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("InfoDestinationSubmessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("InfoDestinationSubmessage", false); - } - - const TypeObject* GetCompleteInfoDestinationSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("InfoDestinationSubmessage", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_submsgHeader; - cst_submsgHeader.common().member_id(memberId++); - cst_submsgHeader.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_submsgHeader.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_submsgHeader.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_submsgHeader.common().member_flags().IS_OPTIONAL(false); - cst_submsgHeader.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_submsgHeader.common().member_flags().IS_KEY(false); - cst_submsgHeader.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_submsgHeader.common().member_type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(true)); - - cst_submsgHeader.detail().name("submsgHeader"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_submsgHeader); - - CompleteStructMember cst_guidPrefix; - cst_guidPrefix.common().member_id(memberId++); - cst_guidPrefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_guidPrefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_guidPrefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_guidPrefix.common().member_flags().IS_OPTIONAL(false); - cst_guidPrefix.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_guidPrefix.common().member_flags().IS_KEY(false); - cst_guidPrefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_guidPrefix.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(true)); - - cst_guidPrefix.detail().name("guidPrefix"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_guidPrefix); - - - // Header - type_object->complete().struct_type().header().detail().type_name("InfoDestinationSubmessage"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("InfoDestinationSubmessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("InfoDestinationSubmessage", true); - } - - - - const TypeIdentifier* GetInfoSourceSubmessageIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("InfoSourceSubmessage", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetInfoSourceSubmessageObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("InfoSourceSubmessage", complete); - } - - const TypeObject* GetInfoSourceSubmessageObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("InfoSourceSubmessage", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteInfoSourceSubmessageObject(); - } - //else - return GetMinimalInfoSourceSubmessageObject(); - } - - const TypeObject* GetMinimalInfoSourceSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("InfoSourceSubmessage", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_submsgHeader; - mst_submsgHeader.common().member_id(memberId++); - mst_submsgHeader.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_submsgHeader.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_submsgHeader.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_submsgHeader.common().member_flags().IS_OPTIONAL(false); - mst_submsgHeader.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_submsgHeader.common().member_flags().IS_KEY(false); - mst_submsgHeader.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_submsgHeader.common().member_type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(false)); - - MD5 submsgHeader_hash("submsgHeader"); - for(int i = 0; i < 4; ++i) - { - mst_submsgHeader.detail().name_hash()[i] = submsgHeader_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_submsgHeader); - - MinimalStructMember mst_unused; - mst_unused.common().member_id(memberId++); - mst_unused.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_unused.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_unused.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_unused.common().member_flags().IS_OPTIONAL(false); - mst_unused.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_unused.common().member_flags().IS_KEY(false); - mst_unused.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_unused.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("int32_t", false)); - - - MD5 unused_hash("unused"); - for(int i = 0; i < 4; ++i) - { - mst_unused.detail().name_hash()[i] = unused_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_unused); - - MinimalStructMember mst_version; - mst_version.common().member_id(memberId++); - mst_version.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_version.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_version.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_version.common().member_flags().IS_OPTIONAL(false); - mst_version.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_version.common().member_flags().IS_KEY(false); - mst_version.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_version.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetProtocolVersion_tIdentifier(false)); - - MD5 version_hash("version"); - for(int i = 0; i < 4; ++i) - { - mst_version.detail().name_hash()[i] = version_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_version); - - MinimalStructMember mst_vendorId; - mst_vendorId.common().member_id(memberId++); - mst_vendorId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_vendorId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_vendorId.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_vendorId.common().member_flags().IS_OPTIONAL(false); - mst_vendorId.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_vendorId.common().member_flags().IS_KEY(false); - mst_vendorId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_vendorId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetVendorId_tIdentifier(false)); - - MD5 vendorId_hash("vendorId"); - for(int i = 0; i < 4; ++i) - { - mst_vendorId.detail().name_hash()[i] = vendorId_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_vendorId); - - MinimalStructMember mst_guidPrefix; - mst_guidPrefix.common().member_id(memberId++); - mst_guidPrefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_guidPrefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_guidPrefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_guidPrefix.common().member_flags().IS_OPTIONAL(false); - mst_guidPrefix.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_guidPrefix.common().member_flags().IS_KEY(false); - mst_guidPrefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_guidPrefix.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(false)); - - MD5 guidPrefix_hash("guidPrefix"); - for(int i = 0; i < 4; ++i) - { - mst_guidPrefix.detail().name_hash()[i] = guidPrefix_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_guidPrefix); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("InfoSourceSubmessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("InfoSourceSubmessage", false); - } - - const TypeObject* GetCompleteInfoSourceSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("InfoSourceSubmessage", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_submsgHeader; - cst_submsgHeader.common().member_id(memberId++); - cst_submsgHeader.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_submsgHeader.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_submsgHeader.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_submsgHeader.common().member_flags().IS_OPTIONAL(false); - cst_submsgHeader.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_submsgHeader.common().member_flags().IS_KEY(false); - cst_submsgHeader.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_submsgHeader.common().member_type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(true)); - - cst_submsgHeader.detail().name("submsgHeader"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_submsgHeader); - - CompleteStructMember cst_unused; - cst_unused.common().member_id(memberId++); - cst_unused.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_unused.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_unused.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_unused.common().member_flags().IS_OPTIONAL(false); - cst_unused.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_unused.common().member_flags().IS_KEY(false); - cst_unused.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_unused.common().member_type_id(*TypeObjectFactory::get_instance()->get_type_identifier("int32_t", false)); - - - cst_unused.detail().name("unused"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_unused); - - CompleteStructMember cst_version; - cst_version.common().member_id(memberId++); - cst_version.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_version.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_version.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_version.common().member_flags().IS_OPTIONAL(false); - cst_version.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_version.common().member_flags().IS_KEY(false); - cst_version.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_version.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetProtocolVersion_tIdentifier(true)); - - cst_version.detail().name("version"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_version); - - CompleteStructMember cst_vendorId; - cst_vendorId.common().member_id(memberId++); - cst_vendorId.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_vendorId.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_vendorId.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_vendorId.common().member_flags().IS_OPTIONAL(false); - cst_vendorId.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_vendorId.common().member_flags().IS_KEY(false); - cst_vendorId.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_vendorId.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetVendorId_tIdentifier(true)); - - cst_vendorId.detail().name("vendorId"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_vendorId); - - CompleteStructMember cst_guidPrefix; - cst_guidPrefix.common().member_id(memberId++); - cst_guidPrefix.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_guidPrefix.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_guidPrefix.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_guidPrefix.common().member_flags().IS_OPTIONAL(false); - cst_guidPrefix.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_guidPrefix.common().member_flags().IS_KEY(false); - cst_guidPrefix.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_guidPrefix.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetGuidPrefix_tIdentifier(true)); - - cst_guidPrefix.detail().name("guidPrefix"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_guidPrefix); - - - // Header - type_object->complete().struct_type().header().detail().type_name("InfoSourceSubmessage"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("InfoSourceSubmessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("InfoSourceSubmessage", true); - } - - - - const TypeIdentifier* GetInfoTimestampSubmessageIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("InfoTimestampSubmessage", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetInfoTimestampSubmessageObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("InfoTimestampSubmessage", complete); - } - - const TypeObject* GetInfoTimestampSubmessageObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("InfoTimestampSubmessage", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteInfoTimestampSubmessageObject(); - } - //else - return GetMinimalInfoTimestampSubmessageObject(); - } - - const TypeObject* GetMinimalInfoTimestampSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("InfoTimestampSubmessage", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_submsgHeader; - mst_submsgHeader.common().member_id(memberId++); - mst_submsgHeader.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_submsgHeader.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_submsgHeader.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_submsgHeader.common().member_flags().IS_OPTIONAL(false); - mst_submsgHeader.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_submsgHeader.common().member_flags().IS_KEY(false); - mst_submsgHeader.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_submsgHeader.common().member_type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(false)); - - MD5 submsgHeader_hash("submsgHeader"); - for(int i = 0; i < 4; ++i) - { - mst_submsgHeader.detail().name_hash()[i] = submsgHeader_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_submsgHeader); - - MinimalStructMember mst_timestamp; - mst_timestamp.common().member_id(memberId++); - mst_timestamp.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_timestamp.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_timestamp.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_timestamp.common().member_flags().IS_OPTIONAL(false); - mst_timestamp.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_timestamp.common().member_flags().IS_KEY(false); - mst_timestamp.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_timestamp.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetTimestampIdentifier(false)); - - MD5 timestamp_hash("timestamp"); - for(int i = 0; i < 4; ++i) - { - mst_timestamp.detail().name_hash()[i] = timestamp_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_timestamp); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("InfoTimestampSubmessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("InfoTimestampSubmessage", false); - } - - const TypeObject* GetCompleteInfoTimestampSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("InfoTimestampSubmessage", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_submsgHeader; - cst_submsgHeader.common().member_id(memberId++); - cst_submsgHeader.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_submsgHeader.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_submsgHeader.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_submsgHeader.common().member_flags().IS_OPTIONAL(false); - cst_submsgHeader.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_submsgHeader.common().member_flags().IS_KEY(false); - cst_submsgHeader.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_submsgHeader.common().member_type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(true)); - - cst_submsgHeader.detail().name("submsgHeader"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_submsgHeader); - - CompleteStructMember cst_timestamp; - cst_timestamp.common().member_id(memberId++); - cst_timestamp.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_timestamp.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_timestamp.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_timestamp.common().member_flags().IS_OPTIONAL(false); - cst_timestamp.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_timestamp.common().member_flags().IS_KEY(false); - cst_timestamp.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_timestamp.common().member_type_id(*eprosima::fastdds::rtps::core::detail::GetTimestampIdentifier(true)); - - cst_timestamp.detail().name("timestamp"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_timestamp); - - - // Header - type_object->complete().struct_type().header().detail().type_name("InfoTimestampSubmessage"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("InfoTimestampSubmessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("InfoTimestampSubmessage", true); - } - - - - const TypeIdentifier* GetSubmessageIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("Submessage", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetSubmessageObject(complete); - return TypeObjectFactory::get_instance()->get_type_identifier("Submessage", complete); - } - - const TypeObject* GetSubmessageObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Submessage", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteSubmessageObject(); - } - // else - return GetMinimalSubmessageObject(); - } - - const TypeObject* GetMinimalSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Submessage", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_UNION); - - type_object->minimal().union_type().union_flags().IS_FINAL(false); - type_object->minimal().union_type().union_flags().IS_APPENDABLE(false); - type_object->minimal().union_type().union_flags().IS_MUTABLE(false); - type_object->minimal().union_type().union_flags().IS_NESTED(false); - type_object->minimal().union_type().union_flags().IS_AUTOID_HASH(false); // Unsupported - - type_object->minimal().union_type().discriminator().common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - type_object->minimal().union_type().discriminator().common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - type_object->minimal().union_type().discriminator().common().member_flags().IS_EXTERNAL(false); // Doesn't apply - type_object->minimal().union_type().discriminator().common().member_flags().IS_OPTIONAL(false); // Doesn't apply - type_object->minimal().union_type().discriminator().common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - type_object->minimal().union_type().discriminator().common().member_flags().IS_KEY(false); // Unsupported - type_object->minimal().union_type().discriminator().common().member_flags().IS_DEFAULT(false); // Doesn't apply - - type_object->minimal().union_type().discriminator().common().type_id(*GetSubmessageKindIdentifier(false)); - - MemberId memberId = 0; - MinimalUnionMember mst_heartbeat_submsg; - mst_heartbeat_submsg.common().member_id(memberId++); - mst_heartbeat_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_heartbeat_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_heartbeat_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_heartbeat_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - mst_heartbeat_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mst_heartbeat_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - mst_heartbeat_submsg.common().member_flags().IS_DEFAULT(false); - mst_heartbeat_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetHeartBeatSubmessageIdentifier(false)); - - mst_heartbeat_submsg.common().label_seq().emplace_back(eprosima::fastdds::rtps::core::HEARTBEAT); - - MD5 heartbeat_submsg_hash("heartbeat_submsg"); - for(int i = 0; i < 4; ++i) - { - mst_heartbeat_submsg.detail().name_hash()[i] = heartbeat_submsg_hash.digest[i]; - } - type_object->minimal().union_type().member_seq().emplace_back(mst_heartbeat_submsg); - - MinimalUnionMember mst_info_ts_submsg; - mst_info_ts_submsg.common().member_id(memberId++); - mst_info_ts_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_info_ts_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_info_ts_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_info_ts_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - mst_info_ts_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mst_info_ts_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - mst_info_ts_submsg.common().member_flags().IS_DEFAULT(false); - mst_info_ts_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetInfoTimestampSubmessageIdentifier(false)); - - mst_info_ts_submsg.common().label_seq().emplace_back(eprosima::fastdds::rtps::core::INFO_TS); - - MD5 info_ts_submsg_hash("info_ts_submsg"); - for(int i = 0; i < 4; ++i) - { - mst_info_ts_submsg.detail().name_hash()[i] = info_ts_submsg_hash.digest[i]; - } - type_object->minimal().union_type().member_seq().emplace_back(mst_info_ts_submsg); - - MinimalUnionMember mst_info_src_submsg; - mst_info_src_submsg.common().member_id(memberId++); - mst_info_src_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_info_src_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_info_src_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_info_src_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - mst_info_src_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mst_info_src_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - mst_info_src_submsg.common().member_flags().IS_DEFAULT(false); - mst_info_src_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetInfoSourceSubmessageIdentifier(false)); - - mst_info_src_submsg.common().label_seq().emplace_back(eprosima::fastdds::rtps::core::INFO_SRC); - - MD5 info_src_submsg_hash("info_src_submsg"); - for(int i = 0; i < 4; ++i) - { - mst_info_src_submsg.detail().name_hash()[i] = info_src_submsg_hash.digest[i]; - } - type_object->minimal().union_type().member_seq().emplace_back(mst_info_src_submsg); - - MinimalUnionMember mst_info_dst_submsg; - mst_info_dst_submsg.common().member_id(memberId++); - mst_info_dst_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_info_dst_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_info_dst_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_info_dst_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - mst_info_dst_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mst_info_dst_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - mst_info_dst_submsg.common().member_flags().IS_DEFAULT(false); - mst_info_dst_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetInfoDestinationSubmessageIdentifier(false)); - - mst_info_dst_submsg.common().label_seq().emplace_back(eprosima::fastdds::rtps::core::INFO_DST); - - MD5 info_dst_submsg_hash("info_dst_submsg"); - for(int i = 0; i < 4; ++i) - { - mst_info_dst_submsg.detail().name_hash()[i] = info_dst_submsg_hash.digest[i]; - } - type_object->minimal().union_type().member_seq().emplace_back(mst_info_dst_submsg); - - MinimalUnionMember mst_unknown_submsg; - mst_unknown_submsg.common().member_id(memberId++); - mst_unknown_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_unknown_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_unknown_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_unknown_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - mst_unknown_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - mst_unknown_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - mst_unknown_submsg.common().member_flags().IS_DEFAULT(false); - mst_unknown_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(false)); - - MD5 unknown_submsg_hash("unknown_submsg"); - for(int i = 0; i < 4; ++i) - { - mst_unknown_submsg.detail().name_hash()[i] = unknown_submsg_hash.digest[i]; - } - type_object->minimal().union_type().member_seq().emplace_back(mst_unknown_submsg); - - - // Header - //type_object->minimal().union_type().header().detail()... // Empty - - TypeIdentifier* identifier = new TypeIdentifier(); - identifier->_d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().union_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier->equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("Submessage", identifier, type_object); - delete type_object; - delete identifier; - return TypeObjectFactory::get_instance()->get_type_object("Submessage", false); - } - - const TypeObject* GetCompleteSubmessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("Submessage", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_UNION); - - type_object->complete().union_type().union_flags().IS_FINAL(false); - type_object->complete().union_type().union_flags().IS_APPENDABLE(false); - type_object->complete().union_type().union_flags().IS_MUTABLE(false); - type_object->complete().union_type().union_flags().IS_NESTED(false); - type_object->complete().union_type().union_flags().IS_AUTOID_HASH(false); // Unsupported - - type_object->complete().union_type().discriminator().common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - type_object->complete().union_type().discriminator().common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - type_object->complete().union_type().discriminator().common().member_flags().IS_EXTERNAL(false); // Doesn't apply - type_object->complete().union_type().discriminator().common().member_flags().IS_OPTIONAL(false); // Doesn't apply - type_object->complete().union_type().discriminator().common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - type_object->complete().union_type().discriminator().common().member_flags().IS_KEY(false); // Unsupported - type_object->complete().union_type().discriminator().common().member_flags().IS_DEFAULT(false); // Doesn't apply - - type_object->complete().union_type().discriminator().common().type_id(*GetSubmessageKindIdentifier(true)); - - MemberId memberId = 0; - CompleteUnionMember cst_heartbeat_submsg; - cst_heartbeat_submsg.common().member_id(memberId++); - cst_heartbeat_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_heartbeat_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_heartbeat_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_heartbeat_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - cst_heartbeat_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cst_heartbeat_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - cst_heartbeat_submsg.common().member_flags().IS_DEFAULT(false); - cst_heartbeat_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetHeartBeatSubmessageIdentifier(true)); - cst_heartbeat_submsg.common().label_seq().emplace_back(eprosima::fastdds::rtps::core::HEARTBEAT); - - - cst_heartbeat_submsg.detail().name("heartbeat_submsg"); - - type_object->complete().union_type().member_seq().emplace_back(cst_heartbeat_submsg); - - CompleteUnionMember cst_info_ts_submsg; - cst_info_ts_submsg.common().member_id(memberId++); - cst_info_ts_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_info_ts_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_info_ts_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_info_ts_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - cst_info_ts_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cst_info_ts_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - cst_info_ts_submsg.common().member_flags().IS_DEFAULT(false); - cst_info_ts_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetInfoTimestampSubmessageIdentifier(true)); - cst_info_ts_submsg.common().label_seq().emplace_back(eprosima::fastdds::rtps::core::INFO_TS); - - - cst_info_ts_submsg.detail().name("info_ts_submsg"); - - type_object->complete().union_type().member_seq().emplace_back(cst_info_ts_submsg); - - CompleteUnionMember cst_info_src_submsg; - cst_info_src_submsg.common().member_id(memberId++); - cst_info_src_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_info_src_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_info_src_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_info_src_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - cst_info_src_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cst_info_src_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - cst_info_src_submsg.common().member_flags().IS_DEFAULT(false); - cst_info_src_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetInfoSourceSubmessageIdentifier(true)); - cst_info_src_submsg.common().label_seq().emplace_back(eprosima::fastdds::rtps::core::INFO_SRC); - - - cst_info_src_submsg.detail().name("info_src_submsg"); - - type_object->complete().union_type().member_seq().emplace_back(cst_info_src_submsg); - - CompleteUnionMember cst_info_dst_submsg; - cst_info_dst_submsg.common().member_id(memberId++); - cst_info_dst_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_info_dst_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_info_dst_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_info_dst_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - cst_info_dst_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cst_info_dst_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - cst_info_dst_submsg.common().member_flags().IS_DEFAULT(false); - cst_info_dst_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetInfoDestinationSubmessageIdentifier(true)); - cst_info_dst_submsg.common().label_seq().emplace_back(eprosima::fastdds::rtps::core::INFO_DST); - - - cst_info_dst_submsg.detail().name("info_dst_submsg"); - - type_object->complete().union_type().member_seq().emplace_back(cst_info_dst_submsg); - - CompleteUnionMember cst_unknown_submsg; - cst_unknown_submsg.common().member_id(memberId++); - cst_unknown_submsg.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_unknown_submsg.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_unknown_submsg.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_unknown_submsg.common().member_flags().IS_OPTIONAL(false); // Doesn't apply - cst_unknown_submsg.common().member_flags().IS_MUST_UNDERSTAND(false); // Doesn't apply - cst_unknown_submsg.common().member_flags().IS_KEY(false); // Doesn't apply - cst_unknown_submsg.common().member_flags().IS_DEFAULT(false); - cst_unknown_submsg.common().type_id(*eprosima::fastdds::rtps::core::GetSubmessageHeaderIdentifier(true)); - - cst_unknown_submsg.detail().name("unknown_submsg"); - - type_object->complete().union_type().member_seq().emplace_back(cst_unknown_submsg); - - - // Header - type_object->complete().union_type().header().detail().type_name("Submessage"); - - TypeIdentifier* identifier = new TypeIdentifier(); - identifier->_d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().union_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier->equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("Submessage", identifier, type_object); - delete type_object; - delete identifier; - return TypeObjectFactory::get_instance()->get_type_object("Submessage", true); - } - - - - - - const TypeIdentifier* GetRTPSMessageIdentifier(bool complete) - { - const TypeIdentifier * c_identifier = TypeObjectFactory::get_instance()->get_type_identifier("RTPSMessage", complete); - if (c_identifier != nullptr && (!complete || c_identifier->_d() == EK_COMPLETE)) - { - return c_identifier; - } - - GetRTPSMessageObject(complete); // Generated inside - return TypeObjectFactory::get_instance()->get_type_identifier("RTPSMessage", complete); - } - - const TypeObject* GetRTPSMessageObject(bool complete) - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("RTPSMessage", complete); - if (c_type_object != nullptr) - { - return c_type_object; - } - else if (complete) - { - return GetCompleteRTPSMessageObject(); - } - //else - return GetMinimalRTPSMessageObject(); - } - - const TypeObject* GetMinimalRTPSMessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("RTPSMessage", false); - if (c_type_object != nullptr) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_MINIMAL); - type_object->minimal()._d(TK_STRUCTURE); - - type_object->minimal().struct_type().struct_flags().IS_FINAL(false); - type_object->minimal().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->minimal().struct_type().struct_flags().IS_MUTABLE(false); - type_object->minimal().struct_type().struct_flags().IS_NESTED(false); - type_object->minimal().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - MinimalStructMember mst_msg_header; - mst_msg_header.common().member_id(memberId++); - mst_msg_header.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_msg_header.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_msg_header.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_msg_header.common().member_flags().IS_OPTIONAL(false); - mst_msg_header.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_msg_header.common().member_flags().IS_KEY(false); - mst_msg_header.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_msg_header.common().member_type_id(*eprosima::fastdds::rtps::core::GetHeaderIdentifier(false)); - - MD5 msg_header_hash("msg_header"); - for(int i = 0; i < 4; ++i) - { - mst_msg_header.detail().name_hash()[i] = msg_header_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_msg_header); - - MinimalStructMember mst_submessages; - mst_submessages.common().member_id(memberId++); - mst_submessages.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - mst_submessages.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - mst_submessages.common().member_flags().IS_EXTERNAL(false); // Unsupported - mst_submessages.common().member_flags().IS_OPTIONAL(false); - mst_submessages.common().member_flags().IS_MUST_UNDERSTAND(false); - mst_submessages.common().member_flags().IS_KEY(false); - mst_submessages.common().member_flags().IS_DEFAULT(false); // Doesn't apply - mst_submessages.common().member_type_id(*TypeObjectFactory::get_instance()->get_sequence_identifier("eprosima::fastdds::rtps::core::Submessage", 100, false)); - - MD5 submessages_hash("submessages"); - for(int i = 0; i < 4; ++i) - { - mst_submessages.detail().name_hash()[i] = submessages_hash.digest[i]; - } - type_object->minimal().struct_type().member_seq().emplace_back(mst_submessages); - - - // Header - // TODO Inheritance - //type_object->minimal().struct_type().header().base_type()._d(EK_MINIMAL); - //type_object->minimal().struct_type().header().base_type().equivalence_hash()[0..13]; - TypeIdentifier identifier; - identifier._d(EK_MINIMAL); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->minimal().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("RTPSMessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("RTPSMessage", false); - } - - const TypeObject* GetCompleteRTPSMessageObject() - { - const TypeObject* c_type_object = TypeObjectFactory::get_instance()->get_type_object("RTPSMessage", true); - if (c_type_object != nullptr && c_type_object->_d() == EK_COMPLETE) - { - return c_type_object; - } - - TypeObject *type_object = new TypeObject(); - type_object->_d(EK_COMPLETE); - type_object->complete()._d(TK_STRUCTURE); - - type_object->complete().struct_type().struct_flags().IS_FINAL(false); - type_object->complete().struct_type().struct_flags().IS_APPENDABLE(false); - type_object->complete().struct_type().struct_flags().IS_MUTABLE(false); - type_object->complete().struct_type().struct_flags().IS_NESTED(false); - type_object->complete().struct_type().struct_flags().IS_AUTOID_HASH(false); // Unsupported - - MemberId memberId = 0; - CompleteStructMember cst_msg_header; - cst_msg_header.common().member_id(memberId++); - cst_msg_header.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_msg_header.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_msg_header.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_msg_header.common().member_flags().IS_OPTIONAL(false); - cst_msg_header.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_msg_header.common().member_flags().IS_KEY(false); - cst_msg_header.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_msg_header.common().member_type_id(*eprosima::fastdds::rtps::core::GetHeaderIdentifier(true)); - - cst_msg_header.detail().name("msg_header"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_msg_header); - - CompleteStructMember cst_submessages; - cst_submessages.common().member_id(memberId++); - cst_submessages.common().member_flags().TRY_CONSTRUCT1(false); // Unsupported - cst_submessages.common().member_flags().TRY_CONSTRUCT2(false); // Unsupported - cst_submessages.common().member_flags().IS_EXTERNAL(false); // Unsupported - cst_submessages.common().member_flags().IS_OPTIONAL(false); - cst_submessages.common().member_flags().IS_MUST_UNDERSTAND(false); - cst_submessages.common().member_flags().IS_KEY(false); - cst_submessages.common().member_flags().IS_DEFAULT(false); // Doesn't apply - cst_submessages.common().member_type_id(*TypeObjectFactory::get_instance()->get_sequence_identifier("eprosima::fastdds::rtps::core::Submessage", 100, true)); - - cst_submessages.detail().name("submessages"); - - type_object->complete().struct_type().member_seq().emplace_back(cst_submessages); - - - // Header - type_object->complete().struct_type().header().detail().type_name("RTPSMessage"); - // TODO inheritance - TypeIdentifier identifier; - identifier._d(EK_COMPLETE); - - eprosima::fastcdr::CdrSizeCalculator calculator(eprosima::fastcdr::CdrVersion::XCDRv1); - size_t current_alignment {0}; - SerializedPayload_t payload(static_cast( - calculator.calculate_serialized_size(type_object->complete().struct_type(), current_alignment) + 4)); - eprosima::fastcdr::FastBuffer fastbuffer((char*) payload.data, payload.max_size); - // Fixed endian (Page 221, EquivalenceHash definition of Extensible and Dynamic Topic Types for DDS document) - eprosima::fastcdr::Cdr ser( - fastbuffer, eprosima::fastcdr::Cdr::LITTLE_ENDIANNESS, - eprosima::fastcdr::CdrVersion::XCDRv1); // Object that serializes the data. - payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; - - ser << *type_object; - #if FASTCDR_VERSION_MAJOR == 1 - payload.length = (uint32_t)ser.getSerializedDataLength(); //Get the serialized length - #else - payload.length = (uint32_t)ser.get_serialized_data_length(); //Get the serialized length - #endif // FASTCDR_VERSION_MAJOR == 1 - MD5 objectHash; - objectHash.update((char*)payload.data, payload.length); - objectHash.finalize(); - for(int i = 0; i < 14; ++i) - { - identifier.equivalence_hash()[i] = objectHash.digest[i]; - } - - TypeObjectFactory::get_instance()->add_type_object("RTPSMessage", &identifier, type_object); - delete type_object; - return TypeObjectFactory::get_instance()->get_type_object("RTPSMessage", true); - } - - } // namespace core - } // namespace rtps - } // namespace fastdds -} // namespace eprosima \ No newline at end of file diff --git a/test/blackbox/types/core/core_typesTypeObject.h b/test/blackbox/types/core/core_typesTypeObject.h deleted file mode 100644 index 89611ededc0..00000000000 --- a/test/blackbox/types/core/core_typesTypeObject.h +++ /dev/null @@ -1,192 +0,0 @@ -// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/*! - * @file core_typesTypeObject.h - * This header file contains the declaration of the described types in the IDL file. - * - * This file was generated by the tool fastddsgen. - */ - -#ifndef _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_TYPE_OBJECT_H_ -#define _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_TYPE_OBJECT_H_ - - -#include -#include - -#if defined(_WIN32) -#if defined(EPROSIMA_USER_DLL_EXPORT) -#define eProsima_user_DllExport __declspec( dllexport ) -#else -#define eProsima_user_DllExport -#endif -#else -#define eProsima_user_DllExport -#endif - -#if defined(_WIN32) -#if defined(EPROSIMA_USER_DLL_EXPORT) -#if defined(core_types_SOURCE) -#define core_types_DllAPI __declspec( dllexport ) -#else -#define core_types_DllAPI __declspec( dllimport ) -#endif // core_types_SOURCE -#else -#define core_types_DllAPI -#endif -#else -#define core_types_DllAPI -#endif // _WIN32 - -using namespace eprosima::fastdds::types; - -eProsima_user_DllExport void registercore_typesTypes(); - -namespace eprosima { - namespace fastdds { - namespace rtps { - namespace core { - namespace detail { - - - eProsima_user_DllExport const TypeIdentifier* GetEntityId_tIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetEntityId_tObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalEntityId_tObject(); - eProsima_user_DllExport const TypeObject* GetCompleteEntityId_tObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetProtocolVersion_tIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetProtocolVersion_tObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalProtocolVersion_tObject(); - eProsima_user_DllExport const TypeObject* GetCompleteProtocolVersion_tObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetVendorId_tIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetVendorId_tObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalVendorId_tObject(); - eProsima_user_DllExport const TypeObject* GetCompleteVendorId_tObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetGuidPrefix_tIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetGuidPrefix_tObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalGuidPrefix_tObject(); - eProsima_user_DllExport const TypeObject* GetCompleteGuidPrefix_tObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetGUID_tIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetGUID_tObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalGUID_tObject(); - eProsima_user_DllExport const TypeObject* GetCompleteGUID_tObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetSequenceNumber_tIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetSequenceNumber_tObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalSequenceNumber_tObject(); - eProsima_user_DllExport const TypeObject* GetCompleteSequenceNumber_tObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetCount_tIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetCount_tObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalCount_tObject(); - eProsima_user_DllExport const TypeObject* GetCompleteCount_tObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetTime_tIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetTime_tObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalTime_tObject(); - eProsima_user_DllExport const TypeObject* GetCompleteTime_tObject(); - - eProsima_user_DllExport const TypeIdentifier* GetTimestampIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetTimestampObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalTimestampObject(); - eProsima_user_DllExport const TypeObject* GetCompleteTimestampObject(); - - } // namespace detail - - - eProsima_user_DllExport const TypeIdentifier* GetHeaderIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetHeaderObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalHeaderObject(); - eProsima_user_DllExport const TypeObject* GetCompleteHeaderObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetSubmessageHeaderIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetSubmessageHeaderObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalSubmessageHeaderObject(); - eProsima_user_DllExport const TypeObject* GetCompleteSubmessageHeaderObject(); - - eProsima_user_DllExport const TypeIdentifier* GetSubmessageKindIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetSubmessageKindObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalSubmessageKindObject(); - eProsima_user_DllExport const TypeObject* GetCompleteSubmessageKindObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetHeartBeatSubmessageIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetHeartBeatSubmessageObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalHeartBeatSubmessageObject(); - eProsima_user_DllExport const TypeObject* GetCompleteHeartBeatSubmessageObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetInfoDestinationSubmessageIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetInfoDestinationSubmessageObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalInfoDestinationSubmessageObject(); - eProsima_user_DllExport const TypeObject* GetCompleteInfoDestinationSubmessageObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetInfoSourceSubmessageIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetInfoSourceSubmessageObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalInfoSourceSubmessageObject(); - eProsima_user_DllExport const TypeObject* GetCompleteInfoSourceSubmessageObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetInfoTimestampSubmessageIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetInfoTimestampSubmessageObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalInfoTimestampSubmessageObject(); - eProsima_user_DllExport const TypeObject* GetCompleteInfoTimestampSubmessageObject(); - - - - eProsima_user_DllExport const TypeIdentifier* GetSubmessageIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetSubmessageObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalSubmessageObject(); - eProsima_user_DllExport const TypeObject* GetCompleteSubmessageObject(); - - - - - - eProsima_user_DllExport const TypeIdentifier* GetRTPSMessageIdentifier(bool complete = false); - eProsima_user_DllExport const TypeObject* GetRTPSMessageObject(bool complete = false); - eProsima_user_DllExport const TypeObject* GetMinimalRTPSMessageObject(); - eProsima_user_DllExport const TypeObject* GetCompleteRTPSMessageObject(); - - } // namespace core - } // namespace rtps - } // namespace fastdds -} // namespace eprosima - -#endif // _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_TYPE_OBJECT_H_ \ No newline at end of file diff --git a/test/realtime/UserThreadNonBlockedTest.cpp b/test/realtime/UserThreadNonBlockedTest.cpp index 9c0969408b3..a8f7c397505 100644 --- a/test/realtime/UserThreadNonBlockedTest.cpp +++ b/test/realtime/UserThreadNonBlockedTest.cpp @@ -78,10 +78,6 @@ class DummyType : public eprosima::fastdds::dds::TopicDataType eprosima::fastcdr::FastBuffer fastbuffer((char*)payload->data, payload->length); // Object that serializes the data. eprosima::fastcdr::Cdr deser(fastbuffer // Deserialize encapsulation. -#if FASTCDR_VERSION_MAJOR == 1 - , eprosima::fastcdr::Cdr::DEFAULT_ENDIAN - , eprosima::fastcdr::Cdr::CdrType::DDS_CDR -#endif // FASTCDR_VERSION_MAJOR == 1 ); deser.read_encapsulation(); payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; diff --git a/test/unittest/dds/subscriber/FooBoundedTypeSupport.hpp b/test/unittest/dds/subscriber/FooBoundedTypeSupport.hpp index 67de52cd9e7..dd3b00c69b7 100644 --- a/test/unittest/dds/subscriber/FooBoundedTypeSupport.hpp +++ b/test/unittest/dds/subscriber/FooBoundedTypeSupport.hpp @@ -53,12 +53,10 @@ class FooBoundedTypeSupport : public TopicDataType data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? eprosima::fastcdr::CdrVersion::XCDRv1 : eprosima::fastcdr::CdrVersion::XCDRv2); payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; -#if FASTCDR_VERSION_MAJOR > 1 ser.set_encoding_flag( data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR : eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR2); -#endif // FASTCDR_VERSION_MAJOR > 1 try { @@ -90,10 +88,6 @@ class FooBoundedTypeSupport : public TopicDataType // Object that deserializes the data. eprosima::fastcdr::Cdr deser(fb -#if FASTCDR_VERSION_MAJOR == 1 - , eprosima::fastcdr::Cdr::DEFAULT_ENDIAN - , eprosima::fastcdr::Cdr::CdrType::DDS_CDR -#endif // FASTCDR_VERSION_MAJOR == 1 ); // Deserialize encapsulation. diff --git a/test/unittest/dds/subscriber/FooTypeSupport.hpp b/test/unittest/dds/subscriber/FooTypeSupport.hpp index d7c401db323..a2aa21b16c6 100644 --- a/test/unittest/dds/subscriber/FooTypeSupport.hpp +++ b/test/unittest/dds/subscriber/FooTypeSupport.hpp @@ -51,12 +51,10 @@ class FooTypeSupport : public TopicDataType data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? eprosima::fastcdr::CdrVersion::XCDRv1 : eprosima::fastcdr::CdrVersion::XCDRv2); payload.encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; -#if FASTCDR_VERSION_MAJOR > 1 ser.set_encoding_flag( data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR : eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR2); -#endif // FASTCDR_VERSION_MAJOR > 1 try { @@ -88,10 +86,6 @@ class FooTypeSupport : public TopicDataType // Object that deserializes the data. eprosima::fastcdr::Cdr deser(fb -#if FASTCDR_VERSION_MAJOR == 1 - , eprosima::fastcdr::Cdr::DEFAULT_ENDIAN - , eprosima::fastcdr::Cdr::CdrType::DDS_CDR -#endif // FASTCDR_VERSION_MAJOR == 1 ); // Deserialize encapsulation. @@ -162,11 +156,7 @@ class FooTypeSupport : public TopicDataType { MD5 md5; md5.init(); -#if FASTCDR_VERSION_MAJOR == 1 - md5.update(key_buf, static_cast(ser.getSerializedDataLength())); -#else md5.update(key_buf, static_cast(ser.get_serialized_data_length())); -#endif // FASTCDR_VERSION_MAJOR == 1 md5.finalize(); for (uint8_t i = 0; i < 16; ++i) { diff --git a/test/unittest/rtps/writer/RTPSWriterTests.cpp b/test/unittest/rtps/writer/RTPSWriterTests.cpp index f0f610d5d5b..204669e6f6a 100644 --- a/test/unittest/rtps/writer/RTPSWriterTests.cpp +++ b/test/unittest/rtps/writer/RTPSWriterTests.cpp @@ -85,15 +85,6 @@ class TestDataType constexpr static size_t data_size = 250; -#if FASTCDR_VERSION_MAJOR == 1 - static size_t getCdrSerializedSize( - const TestDataType&) - { - return TestDataType::data_size; - } - -#endif // if FASTCDR_VERSION_MAJOR == 1 - }; void pool_initialization_test (