diff --git a/src/cpp/rtps/builtin/discovery/database/DiscoveryDataBase.cpp b/src/cpp/rtps/builtin/discovery/database/DiscoveryDataBase.cpp index a1308cd4a62..ab30f17ba2a 100644 --- a/src/cpp/rtps/builtin/discovery/database/DiscoveryDataBase.cpp +++ b/src/cpp/rtps/builtin/discovery/database/DiscoveryDataBase.cpp @@ -481,9 +481,6 @@ void DiscoveryDataBase::process_pdp_data_queue() // Lock(exclusive mode) mutex locally std::lock_guard guard(mutex_); - // Swap DATA queues - pdp_data_queue_.Swap(); - // Process all messages in the queque while (!pdp_data_queue_.Empty()) { @@ -521,9 +518,6 @@ bool DiscoveryDataBase::process_edp_data_queue() // Lock(exclusive mode) mutex locally std::lock_guard guard(mutex_); - // Swap DATA queues - edp_data_queue_.Swap(); - eprosima::fastrtps::rtps::CacheChange_t* change; std::string topic_name; @@ -730,32 +724,71 @@ void DiscoveryDataBase::update_participant_from_change_( { fastrtps::rtps::GUID_t change_guid = guid_from_change(ch); + assert(ch->kind == eprosima::fastrtps::rtps::ALIVE); + + // If the change corresponds to a previously removed participant (which hasn't yet been removed from the map since + // the DATA(Up) is still unacked), update map with new data and behave as if it was a new participant. + // Remove also the old change from the disposals collection, if it was added just before + if (participant_info.change()->kind != eprosima::fastrtps::rtps::ALIVE) + { + // Update the change data + participant_info.participant_change_data(change_data); + + // Remove old change from disposals if it was added just before to avoid sending data UP + auto it = std::find(disposals_.begin(), disposals_.end(), participant_info.change()); + if (it != disposals_.end()) + { + disposals_.erase(it); + } + + // Update change. This should add the UNALIVE change to changes_to_release_, which should later both remove the + // change from the writer's history and release the change + update_change_and_unmatch_(ch, participant_info); + + // If it is local and server we have to create virtual endpoints, except for our own server + if (change_guid.guidPrefix != server_guid_prefix_ && !change_data.is_client() && change_data.is_local()) + { + // Match new server and create virtual endpoints + // NOTE: match after having updated the change, so virtual endpoints are not discarded for having + // an associated unalive participant + match_new_server_(change_guid.guidPrefix); + } + + // Treat as a new participant found + new_updates_++; + if (change_guid.guidPrefix != server_guid_prefix_) + { + server_acked_by_all(false); + } + } + // Specific case when a Data(P) from an entity A known as remote comes from the very entity A (we have // the Data(P) because of other server B, but now it arrives from A itself) // The entity A changes to local // Must be local data, or else it is a remote endpoint and should not be changed - if (change_guid.guidPrefix != server_guid_prefix_ && change_data.is_local() && + else if (change_guid.guidPrefix != server_guid_prefix_ && change_data.is_local() && DiscoveryDataBase::participant_data_has_changed_(participant_info, change_data)) { + // Update the change data + participant_info.participant_change_data(change_data); + + // Update change + update_change_and_unmatch_(ch, participant_info); + // If the participant changes to server local, virtual endpoints must be added // If it is local and server the only possibility is it was a remote server and it must be converted to local if (!change_data.is_client()) { + // NOTE: match after having updated the change in order to send the new Data(P) match_new_server_(change_guid.guidPrefix); } - // Update the change data - participant_info.participant_change_data(change_data); - - // Update change - update_change_and_unmatch_(ch, participant_info); - // Treat as a new participant found new_updates_++; server_acked_by_all(false); // It is possible that this Data(P) is in our history if it has not been acked by all - // In this case we have to resent it with the new update + // In this case we have to resend it with the new update if (!participant_info.is_acked_by_all()) { add_pdp_to_send_(ch); @@ -858,6 +891,29 @@ void DiscoveryDataBase::create_writers_from_change_( // The writer was NOT known by the database else { + // Check if corresponding participant is known, abort otherwise + // NOTE: Processing a DATA(w) should always be preceded by the reception and processing of its corresponding + // participant. However, one may receive a DATA(w) just after the participant has been removed, case in which the + // former should no longer be processed. + std::map::iterator writer_part_it = + participants_.find(writer_guid.guidPrefix); + if (writer_part_it == participants_.end()) + { + EPROSIMA_LOG_ERROR(DISCOVERY_DATABASE, + "Writer " << writer_guid << " has no associated participant. Skipping"); + assert(topic_name != virtual_topic_); + changes_to_release_.push_back(ch); // Release change so it can be reused + return; + } + else if (writer_part_it->second.change()->kind != fastrtps::rtps::ChangeKind_t::ALIVE) + { + EPROSIMA_LOG_WARNING(DISCOVERY_DATABASE, + "Writer " << writer_guid << " is associated to a removed participant. Skipping"); + assert(topic_name != virtual_topic_); + changes_to_release_.push_back(ch); // Release change so it can be reused + return; + } + // Add entry to writers_ DiscoveryEndpointInfo tmp_writer( ch, @@ -878,18 +934,7 @@ void DiscoveryDataBase::create_writers_from_change_( new_updates_++; // Add entry to participants_[guid_prefix]::writers - std::map::iterator writer_part_it = - participants_.find(writer_guid.guidPrefix); - if (writer_part_it != participants_.end()) - { - writer_part_it->second.add_writer(writer_guid); - } - else - { - EPROSIMA_LOG_ERROR(DISCOVERY_DATABASE, - "Writer " << writer_guid << " has no associated participant. Skipping"); - return; - } + writer_part_it->second.add_writer(writer_guid); // Add writer to writers_by_topic_[topic_name] add_writer_to_topic_(writer_guid, topic_name); @@ -976,6 +1021,29 @@ void DiscoveryDataBase::create_readers_from_change_( // The reader was NOT known by the database else { + // Check if corresponding participant is known, abort otherwise + // NOTE: Processing a DATA(r) should always be preceded by the reception and processing of its corresponding + // participant. However, one may receive a DATA(r) just after the participant has been removed, case in which the + // former should no longer be processed. + std::map::iterator reader_part_it = + participants_.find(reader_guid.guidPrefix); + if (reader_part_it == participants_.end()) + { + EPROSIMA_LOG_ERROR(DISCOVERY_DATABASE, + "Reader " << reader_guid << " has no associated participant. Skipping"); + assert(topic_name != virtual_topic_); + changes_to_release_.push_back(ch); // Release change so it can be reused + return; + } + else if (reader_part_it->second.change()->kind != fastrtps::rtps::ChangeKind_t::ALIVE) + { + EPROSIMA_LOG_WARNING(DISCOVERY_DATABASE, + "Reader " << reader_guid << " is associated to a removed participant. Skipping"); + assert(topic_name != virtual_topic_); + changes_to_release_.push_back(ch); // Release change so it can be reused + return; + } + // Add entry to readers_ DiscoveryEndpointInfo tmp_reader( ch, @@ -996,18 +1064,7 @@ void DiscoveryDataBase::create_readers_from_change_( new_updates_++; // Add entry to participants_[guid_prefix]::readers - std::map::iterator reader_part_it = - participants_.find(reader_guid.guidPrefix); - if (reader_part_it != participants_.end()) - { - reader_part_it->second.add_reader(reader_guid); - } - else - { - EPROSIMA_LOG_ERROR(DISCOVERY_DATABASE, - "Reader " << reader_guid << " has no associated participant. Skipping"); - return; - } + reader_part_it->second.add_reader(reader_guid); // Add reader to readers_by_topic_[topic_name] add_reader_to_topic_(reader_guid, topic_name); @@ -1287,7 +1344,7 @@ void DiscoveryDataBase::process_dispose_participant_( delete_reader_entity_(reader_guid); } - // All participant endoints must be already unmatched in others endopoints relevant_ack maps + // All participant endpoints must be already unmatched in others endpoints relevant_ack maps // Unmatch own participant unmatch_participant_(participant_guid.guidPrefix); @@ -1558,6 +1615,14 @@ bool DiscoveryDataBase::data_queue_empty() return (pdp_data_queue_.BothEmpty() && edp_data_queue_.BothEmpty()); } +void DiscoveryDataBase::swap_data_queues() +{ + // Swap EDP before PDP to avoid race condition in which both data P and w/r are received at the same time, + // just after having swapped the PDP queue + edp_data_queue_.Swap(); + pdp_data_queue_.Swap(); +} + bool DiscoveryDataBase::is_participant( const eprosima::fastrtps::rtps::GUID_t& guid) { diff --git a/src/cpp/rtps/builtin/discovery/database/DiscoveryDataBase.hpp b/src/cpp/rtps/builtin/discovery/database/DiscoveryDataBase.hpp index f5ca2daf801..fb16a3d6b63 100644 --- a/src/cpp/rtps/builtin/discovery/database/DiscoveryDataBase.hpp +++ b/src/cpp/rtps/builtin/discovery/database/DiscoveryDataBase.hpp @@ -300,6 +300,9 @@ class DiscoveryDataBase // Check if the data queue is empty bool data_queue_empty(); + // Swap both EDP and PDP data queues + void swap_data_queues(); + void to_json( nlohmann::json& j) const; diff --git a/src/cpp/rtps/builtin/discovery/participant/PDPServer.cpp b/src/cpp/rtps/builtin/discovery/participant/PDPServer.cpp index 0ca34b1b29c..a11b7882d21 100644 --- a/src/cpp/rtps/builtin/discovery/participant/PDPServer.cpp +++ b/src/cpp/rtps/builtin/discovery/participant/PDPServer.cpp @@ -1075,6 +1075,9 @@ bool PDPServer::remove_remote_participant( bool PDPServer::process_data_queues() { EPROSIMA_LOG_INFO(RTPS_PDP_SERVER, "process_data_queues start"); + // Swap both as a first step in order to avoid the following race condition: reception of data w/r while processing + // the PDP queue, not having processed yet the corresponding data P (also received while processing the queue). + discovery_db_.swap_data_queues(); discovery_db_.process_pdp_data_queue(); return discovery_db_.process_edp_data_queue(); } diff --git a/test/blackbox/CMakeLists.txt b/test/blackbox/CMakeLists.txt index 8de624e3956..a9f3566168d 100644 --- a/test/blackbox/CMakeLists.txt +++ b/test/blackbox/CMakeLists.txt @@ -116,6 +116,9 @@ gtest_discover_tests(BlackboxTests_RTPS file(GLOB BLACKBOXTESTS_TEST_SOURCE "common/BlackboxTests*.cpp") set(BLACKBOXTESTS_SOURCE ${BLACKBOXTESTS_TEST_SOURCE} + types/core/core_types.cxx + types/core/core_typesPubSubTypes.cxx + types/core/core_typesv1.cxx types/Data1mb.cxx types/Data1mbPubSubTypes.cxx types/Data1mbv1.cxx diff --git a/test/blackbox/common/DDSBlackboxTestsDiscovery.cpp b/test/blackbox/common/DDSBlackboxTestsDiscovery.cpp index 399a87454b1..502fbebfae0 100644 --- a/test/blackbox/common/DDSBlackboxTestsDiscovery.cpp +++ b/test/blackbox/common/DDSBlackboxTestsDiscovery.cpp @@ -2340,3 +2340,153 @@ TEST(Discovery, discovery_server_edp_messages_sent) EXPECT_EQ(num_data_r_w_sends_s1.load(std::memory_order::memory_order_seq_cst), 2u); EXPECT_EQ(num_data_r_w_sends_s2.load(std::memory_order::memory_order_seq_cst), 2u); } + +// This is a regression test for Redmine #23088, which corrects the following data race in the discovery server: +// a) When a participant is being removed (either because it is being deleted or because its lease duration has expired), +// it is not deleted from participants_ map until the server has received all ACKs from clients of the Data(Up). +// b) If the same participant is re-discovered (Data(p) received) while the server is waiting for the Data(Up) ACKs, +// it will not be updated in the participants_ map as ALIVE. +// c) If the Data(Up) ACKs and the Data(r/w) of the rediscovered participant are received at the same time, +// the server will delete the participant and try to process the Data(r/w) messages in the same routine. +// The server will try to register a reader/writer from a deleted participant, which will result in the error: +// "Matching unexisting participant from reader/writer". +// This test checks that this does not happen after fixing point b) and updating the participant to ALIVE. +TEST(Discovery, discovery_server_rediscover_participant_being_removed) +{ + using namespace eprosima; + using namespace eprosima::fastdds::dds; + using namespace eprosima::fastrtps::rtps; + + // One discovery server will be created, with two direct clients connected to it. + // Client 1 will be removed and then relaunched, while the Client 2 will be kept alive. + // Client 2 ACKs will be blocked to simulate a slow discovery process. + + std::atomic filter_activated { false }; + auto block_data_up_acks = [&filter_activated](fastrtps::rtps::CDRMessage_t& msg) + { + // Filter Data(Up) ACKs messages + if (filter_activated.load(std::memory_order::memory_order_seq_cst)) + { + // Go back to submsgkind + auto submsgkind_pos = msg.pos - 4; + auto acknack_submsg = eprosima::fastdds::helpers::cdr_parse_acknack_submsg( + (char*)&msg.buffer[submsgkind_pos], + msg.length - submsgkind_pos); + + assert(acknack_submsg.submsgHeader().submessageId() == ACKNACK); + + if (eprosima::fastrtps::rtps::c_EntityId_SPDPWriter == + *reinterpret_cast(&acknack_submsg.writerId()) || + eprosima::fastrtps::rtps::c_EntityId_SEDPPubWriter == + *reinterpret_cast(&acknack_submsg.writerId())) + { + std::cout << "Blocking Data(Up) ACKs" << std::endl; + return true; + } + } + return false; + }; + + // Declare a test transport that will count the number of Data(p) messages sent + auto default_udp_transport = std::make_shared(); + auto test_transport = std::make_shared(); + test_transport->drop_ack_nack_messages_filter_ = [&](fastrtps::rtps::CDRMessage_t& msg) + { + return block_data_up_acks(msg); + }; + + // Create the main participant + auto server = std::make_shared>(0, 0, 0, 0); + + Locator_t locator_server; // UDPv4 locator by default + IPLocator::setIPv4(locator_server, 127, 0, 0, 1); + IPLocator::setPhysicalPort(locator_server, global_port); + + WireProtocolConfigQos server_wp_qos; + server_wp_qos.builtin.discovery_config.discoveryProtocol = DiscoveryProtocol::SERVER; + std::istringstream("44.53.00.5f.45.50.52.4f.53.49.4d.41") >> server_wp_qos.prefix; + server_wp_qos.builtin.metatrafficUnicastLocatorList.push_back(locator_server); + // Raise the routine period to control the discovery process + server_wp_qos.builtin.discovery_config.discoveryServer_client_syncperiod = { 5, 0 }; + server_wp_qos.builtin.discovery_config.leaseDuration = { 60, 0 }; + server_wp_qos.builtin.discovery_config.leaseDuration_announcementperiod = { 59, 0 }; + server_wp_qos.builtin.discovery_config.initial_announcements.count = 1; + + // The main participant will use the test transport and a specific announcements configuration + server->disable_builtin_transport() + .add_user_transport_to_pparams(default_udp_transport) + .wire_protocol(server_wp_qos); + + // Start the main participant + ASSERT_TRUE(server->init_participant()); + + // Create clients + std::shared_ptr> client_1 = + std::make_shared>(1u, 0u, 0u, 1u); + std::shared_ptr> client_2 = + std::make_shared>(0u, 1u, 1u, 0u); + // Set participant as client + WireProtocolConfigQos client_qos; + client_qos.builtin.discovery_config.discoveryProtocol = DiscoveryProtocol::CLIENT; + RemoteServerAttributes remote_server_att; + remote_server_att.ReadguidPrefix("44.53.00.5f.45.50.52.4f.53.49.4d.41"); + remote_server_att.metatrafficUnicastLocatorList.push_back(locator_server); + client_qos.builtin.discovery_config.m_DiscoveryServers.push_back(remote_server_att); + client_qos.builtin.discovery_config.leaseDuration = { 60, 0 }; + client_qos.builtin.discovery_config.leaseDuration_announcementperiod = { 59, 0 }; + client_qos.builtin.discovery_config.initial_announcements.count = 1; + std::istringstream("64.61.74.61.5f.72.61.63.65.5f.64.73") >> client_qos.prefix; + + // Init client 1 + client_1->wire_protocol(client_qos) + .setup_transports(eprosima::fastdds::rtps::BuiltinTransports::UDPv4) + .pub_topic_name(TEST_TOPIC_NAME); + ASSERT_TRUE(client_1->init_participant()); + ASSERT_TRUE(client_1->init_publisher(0u)); + + // Init client 2 + WireProtocolConfigQos client2_qos = client_qos; + std::istringstream("73.61.74.61.5f.72.61.63.65.5f.64.73") >> client2_qos.prefix; + client_2->wire_protocol(client2_qos) + .disable_builtin_transport() + .add_user_transport_to_pparams(test_transport) + .sub_topic_name(TEST_TOPIC_NAME); + ASSERT_TRUE(client_2->init_participant()); + ASSERT_TRUE(client_2->init_subscriber(0u)); + + // Wait at least the servers routine period to discover endpoints + ASSERT_TRUE(server->wait_discovery(std::chrono::seconds(6), 2, true)); + client_2->sub_wait_discovery(1); + client_1->pub_wait_discovery(1); + + // Server discovered both clients, activate filter to block Data(Up) ACKs + std::this_thread::sleep_for(std::chrono::seconds(1)); + std::cout << "Blocking Data(Up) ACKs activated" << std::endl; + filter_activated.store(true, std::memory_order::memory_order_seq_cst); + + // Remove client 1 + client_1.reset(); + ASSERT_TRUE(client_1 == nullptr); + // Ensure client 2 has unmatched the client 1 + client_2->sub_wait_discovery(0); + std::this_thread::sleep_for(std::chrono::seconds(3)); + + // Relaunch client 1 and deactivate the filter + client_1 = std::make_shared>(1u, 0u, 0u, 1u); + client_1->wire_protocol(client_qos) + .setup_transports(eprosima::fastdds::rtps::BuiltinTransports::UDPv4) + .pub_topic_name(TEST_TOPIC_NAME); + // Init only the participant, publisher will be initialized later + ASSERT_TRUE(client_1->init_participant()); + std::cout << "Blocking Data(Up) ACKs deactivated" << std::endl; + filter_activated.store(false, std::memory_order::memory_order_seq_cst); + + // Give time to receive Data(Up) ACK, process the Data(p) and update the participant, + // but do it before a whole period of the server's routine. + // In this way new Data(w) and Data(Up) ACK are processed in the same routine + std::this_thread::sleep_for(std::chrono::seconds(1)); + ASSERT_TRUE(client_1->init_publisher(0u)); + + // Client 2 should discover client 1 again and log error "Writer has no associated participant." should not appear + client_2->sub_wait_discovery(1); +} diff --git a/test/blackbox/types/core/core_types.cxx b/test/blackbox/types/core/core_types.cxx new file mode 100644 index 00000000000..eb232b25254 --- /dev/null +++ b/test/blackbox/types/core/core_types.cxx @@ -0,0 +1,3062 @@ +// 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 (version: 3.3.1). + */ + +#ifdef _WIN32 +// Remove linker warning LNK4221 on Visual Studio +namespace { +char dummy; +} // namespace +#endif // _WIN32 + +#include "core_types.h" + +#if FASTCDR_VERSION_MAJOR > 1 + +#include + + +#include +using namespace eprosima::fastcdr::exception; + +#include + + +namespace eprosima { + +namespace fastdds { + +namespace rtps { + +namespace core { + +namespace detail { + + + +EntityId_t::EntityId_t() +{ +} + +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() +{ +} + +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() +{ +} + +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() +{ +} + +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() +{ +} + +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() +{ +} + +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() +{ +} + +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() +{ +} + +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; +} + + + + + +SequenceNumberSet::SequenceNumberSet() +{ +} + +SequenceNumberSet::~SequenceNumberSet() +{ +} + +SequenceNumberSet::SequenceNumberSet( + const SequenceNumberSet& x) +{ + m_bitmapBase = x.m_bitmapBase; + m_numBits = x.m_numBits; + m_bitmap = x.m_bitmap; +} + +SequenceNumberSet::SequenceNumberSet( + SequenceNumberSet&& x) noexcept +{ + m_bitmapBase = std::move(x.m_bitmapBase); + m_numBits = x.m_numBits; + m_bitmap = std::move(x.m_bitmap); +} + +SequenceNumberSet& SequenceNumberSet::operator =( + const SequenceNumberSet& x) +{ + + m_bitmapBase = x.m_bitmapBase; + m_numBits = x.m_numBits; + m_bitmap = x.m_bitmap; + return *this; +} + +SequenceNumberSet& SequenceNumberSet::operator =( + SequenceNumberSet&& x) noexcept +{ + + m_bitmapBase = std::move(x.m_bitmapBase); + m_numBits = x.m_numBits; + m_bitmap = std::move(x.m_bitmap); + return *this; +} + +bool SequenceNumberSet::operator ==( + const SequenceNumberSet& x) const +{ + return (m_bitmapBase == x.m_bitmapBase && + m_numBits == x.m_numBits && + m_bitmap == x.m_bitmap); +} + +bool SequenceNumberSet::operator !=( + const SequenceNumberSet& x) const +{ + return !(*this == x); +} + +/*! + * @brief This function copies the value in member bitmapBase + * @param _bitmapBase New value to be copied in member bitmapBase + */ +void SequenceNumberSet::bitmapBase( + const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& _bitmapBase) +{ + m_bitmapBase = _bitmapBase; +} + +/*! + * @brief This function moves the value in member bitmapBase + * @param _bitmapBase New value to be moved in member bitmapBase + */ +void SequenceNumberSet::bitmapBase( + eprosima::fastdds::rtps::core::detail::SequenceNumber_t&& _bitmapBase) +{ + m_bitmapBase = std::move(_bitmapBase); +} + +/*! + * @brief This function returns a constant reference to member bitmapBase + * @return Constant reference to member bitmapBase + */ +const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& SequenceNumberSet::bitmapBase() const +{ + return m_bitmapBase; +} + +/*! + * @brief This function returns a reference to member bitmapBase + * @return Reference to member bitmapBase + */ +eprosima::fastdds::rtps::core::detail::SequenceNumber_t& SequenceNumberSet::bitmapBase() +{ + return m_bitmapBase; +} + + +/*! + * @brief This function sets a value in member numBits + * @param _numBits New value for member numBits + */ +void SequenceNumberSet::numBits( + uint32_t _numBits) +{ + m_numBits = _numBits; +} + +/*! + * @brief This function returns the value of member numBits + * @return Value of member numBits + */ +uint32_t SequenceNumberSet::numBits() const +{ + return m_numBits; +} + +/*! + * @brief This function returns a reference to member numBits + * @return Reference to member numBits + */ +uint32_t& SequenceNumberSet::numBits() +{ + return m_numBits; +} + + +/*! + * @brief This function copies the value in member bitmap + * @param _bitmap New value to be copied in member bitmap + */ +void SequenceNumberSet::bitmap( + const std::array& _bitmap) +{ + m_bitmap = _bitmap; +} + +/*! + * @brief This function moves the value in member bitmap + * @param _bitmap New value to be moved in member bitmap + */ +void SequenceNumberSet::bitmap( + std::array&& _bitmap) +{ + m_bitmap = std::move(_bitmap); +} + +/*! + * @brief This function returns a constant reference to member bitmap + * @return Constant reference to member bitmap + */ +const std::array& SequenceNumberSet::bitmap() const +{ + return m_bitmap; +} + +/*! + * @brief This function returns a reference to member bitmap + * @return Reference to member bitmap + */ +std::array& SequenceNumberSet::bitmap() +{ + return m_bitmap; +} + + + + +Locator_t::Locator_t() +{ +} + +Locator_t::~Locator_t() +{ +} + +Locator_t::Locator_t( + const Locator_t& x) +{ + m_kind = x.m_kind; + m_port = x.m_port; + m_address = x.m_address; +} + +Locator_t::Locator_t( + Locator_t&& x) noexcept +{ + m_kind = x.m_kind; + m_port = x.m_port; + m_address = std::move(x.m_address); +} + +Locator_t& Locator_t::operator =( + const Locator_t& x) +{ + + m_kind = x.m_kind; + m_port = x.m_port; + m_address = x.m_address; + return *this; +} + +Locator_t& Locator_t::operator =( + Locator_t&& x) noexcept +{ + + m_kind = x.m_kind; + m_port = x.m_port; + m_address = std::move(x.m_address); + return *this; +} + +bool Locator_t::operator ==( + const Locator_t& x) const +{ + return (m_kind == x.m_kind && + m_port == x.m_port && + m_address == x.m_address); +} + +bool Locator_t::operator !=( + const Locator_t& x) const +{ + return !(*this == x); +} + +/*! + * @brief This function sets a value in member kind + * @param _kind New value for member kind + */ +void Locator_t::kind( + int32_t _kind) +{ + m_kind = _kind; +} + +/*! + * @brief This function returns the value of member kind + * @return Value of member kind + */ +int32_t Locator_t::kind() const +{ + return m_kind; +} + +/*! + * @brief This function returns a reference to member kind + * @return Reference to member kind + */ +int32_t& Locator_t::kind() +{ + return m_kind; +} + + +/*! + * @brief This function sets a value in member port + * @param _port New value for member port + */ +void Locator_t::port( + uint32_t _port) +{ + m_port = _port; +} + +/*! + * @brief This function returns the value of member port + * @return Value of member port + */ +uint32_t Locator_t::port() const +{ + return m_port; +} + +/*! + * @brief This function returns a reference to member port + * @return Reference to member port + */ +uint32_t& Locator_t::port() +{ + return m_port; +} + + +/*! + * @brief This function copies the value in member address + * @param _address New value to be copied in member address + */ +void Locator_t::address( + const std::array& _address) +{ + m_address = _address; +} + +/*! + * @brief This function moves the value in member address + * @param _address New value to be moved in member address + */ +void Locator_t::address( + std::array&& _address) +{ + m_address = std::move(_address); +} + +/*! + * @brief This function returns a constant reference to member address + * @return Constant reference to member address + */ +const std::array& Locator_t::address() const +{ + return m_address; +} + +/*! + * @brief This function returns a reference to member address + * @return Reference to member address + */ +std::array& Locator_t::address() +{ + return m_address; +} + + + + +Duration_t::Duration_t() +{ +} + +Duration_t::~Duration_t() +{ +} + +Duration_t::Duration_t( + const Duration_t& x) +{ + m_seconds = x.m_seconds; + m_fraction = x.m_fraction; +} + +Duration_t::Duration_t( + Duration_t&& x) noexcept +{ + m_seconds = x.m_seconds; + m_fraction = x.m_fraction; +} + +Duration_t& Duration_t::operator =( + const Duration_t& x) +{ + + m_seconds = x.m_seconds; + m_fraction = x.m_fraction; + return *this; +} + +Duration_t& Duration_t::operator =( + Duration_t&& x) noexcept +{ + + m_seconds = x.m_seconds; + m_fraction = x.m_fraction; + return *this; +} + +bool Duration_t::operator ==( + const Duration_t& x) const +{ + return (m_seconds == x.m_seconds && + m_fraction == x.m_fraction); +} + +bool Duration_t::operator !=( + const Duration_t& x) const +{ + return !(*this == x); +} + +/*! + * @brief This function sets a value in member seconds + * @param _seconds New value for member seconds + */ +void Duration_t::seconds( + int32_t _seconds) +{ + m_seconds = _seconds; +} + +/*! + * @brief This function returns the value of member seconds + * @return Value of member seconds + */ +int32_t Duration_t::seconds() const +{ + return m_seconds; +} + +/*! + * @brief This function returns a reference to member seconds + * @return Reference to member seconds + */ +int32_t& Duration_t::seconds() +{ + return m_seconds; +} + + +/*! + * @brief This function sets a value in member fraction + * @param _fraction New value for member fraction + */ +void Duration_t::fraction( + uint32_t _fraction) +{ + m_fraction = _fraction; +} + +/*! + * @brief This function returns the value of member fraction + * @return Value of member fraction + */ +uint32_t Duration_t::fraction() const +{ + return m_fraction; +} + +/*! + * @brief This function returns a reference to member fraction + * @return Reference to member fraction + */ +uint32_t& Duration_t::fraction() +{ + return m_fraction; +} + + + + + + +StatusInfo_t::StatusInfo_t() +{ +} + +StatusInfo_t::~StatusInfo_t() +{ +} + +StatusInfo_t::StatusInfo_t( + const StatusInfo_t& x) +{ + m_value = x.m_value; +} + +StatusInfo_t::StatusInfo_t( + StatusInfo_t&& x) noexcept +{ + m_value = std::move(x.m_value); +} + +StatusInfo_t& StatusInfo_t::operator =( + const StatusInfo_t& x) +{ + + m_value = x.m_value; + return *this; +} + +StatusInfo_t& StatusInfo_t::operator =( + StatusInfo_t&& x) noexcept +{ + + m_value = std::move(x.m_value); + return *this; +} + +bool StatusInfo_t::operator ==( + const StatusInfo_t& x) const +{ + return (m_value == x.m_value); +} + +bool StatusInfo_t::operator !=( + const StatusInfo_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 StatusInfo_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 StatusInfo_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& StatusInfo_t::value() const +{ + return m_value; +} + +/*! + * @brief This function returns a reference to member value + * @return Reference to member value + */ +std::array& StatusInfo_t::value() +{ + return m_value; +} + + + + +KeyHash_t::KeyHash_t() +{ +} + +KeyHash_t::~KeyHash_t() +{ +} + +KeyHash_t::KeyHash_t( + const KeyHash_t& x) +{ + m_value = x.m_value; +} + +KeyHash_t::KeyHash_t( + KeyHash_t&& x) noexcept +{ + m_value = std::move(x.m_value); +} + +KeyHash_t& KeyHash_t::operator =( + const KeyHash_t& x) +{ + + m_value = x.m_value; + return *this; +} + +KeyHash_t& KeyHash_t::operator =( + KeyHash_t&& x) noexcept +{ + + m_value = std::move(x.m_value); + return *this; +} + +bool KeyHash_t::operator ==( + const KeyHash_t& x) const +{ + return (m_value == x.m_value); +} + +bool KeyHash_t::operator !=( + const KeyHash_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 KeyHash_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 KeyHash_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& KeyHash_t::value() const +{ + return m_value; +} + +/*! + * @brief This function returns a reference to member value + * @return Reference to member value + */ +std::array& KeyHash_t::value() +{ + return m_value; +} + + + + +EntityName_t::EntityName_t() +{ +} + +EntityName_t::~EntityName_t() +{ +} + +EntityName_t::EntityName_t( + const EntityName_t& x) +{ + m_name = x.m_name; +} + +EntityName_t::EntityName_t( + EntityName_t&& x) noexcept +{ + m_name = std::move(x.m_name); +} + +EntityName_t& EntityName_t::operator =( + const EntityName_t& x) +{ + + m_name = x.m_name; + return *this; +} + +EntityName_t& EntityName_t::operator =( + EntityName_t&& x) noexcept +{ + + m_name = std::move(x.m_name); + return *this; +} + +bool EntityName_t::operator ==( + const EntityName_t& x) const +{ + return (m_name == x.m_name); +} + +bool EntityName_t::operator !=( + const EntityName_t& x) const +{ + return !(*this == x); +} + +/*! + * @brief This function copies the value in member name + * @param _name New value to be copied in member name + */ +void EntityName_t::name( + const std::string& _name) +{ + m_name = _name; +} + +/*! + * @brief This function moves the value in member name + * @param _name New value to be moved in member name + */ +void EntityName_t::name( + std::string&& _name) +{ + m_name = std::move(_name); +} + +/*! + * @brief This function returns a constant reference to member name + * @return Constant reference to member name + */ +const std::string& EntityName_t::name() const +{ + return m_name; +} + +/*! + * @brief This function returns a reference to member name + * @return Reference to member name + */ +std::string& EntityName_t::name() +{ + return m_name; +} + + + + +} // namespace detail + + +Header::Header() +{ +} + +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() +{ +} + +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; +} + + +namespace SubmessageKind { + + +} // namespace SubmessageKind + + +AckNackSubmessage::AckNackSubmessage() +{ +} + +AckNackSubmessage::~AckNackSubmessage() +{ +} + +AckNackSubmessage::AckNackSubmessage( + const AckNackSubmessage& x) +{ + m_submsgHeader = x.m_submsgHeader; + m_readerId = x.m_readerId; + m_writerId = x.m_writerId; + m_readerSNState = x.m_readerSNState; + m_count = x.m_count; +} + +AckNackSubmessage::AckNackSubmessage( + AckNackSubmessage&& x) noexcept +{ + m_submsgHeader = std::move(x.m_submsgHeader); + m_readerId = std::move(x.m_readerId); + m_writerId = std::move(x.m_writerId); + m_readerSNState = std::move(x.m_readerSNState); + m_count = std::move(x.m_count); +} + +AckNackSubmessage& AckNackSubmessage::operator =( + const AckNackSubmessage& x) +{ + + m_submsgHeader = x.m_submsgHeader; + m_readerId = x.m_readerId; + m_writerId = x.m_writerId; + m_readerSNState = x.m_readerSNState; + m_count = x.m_count; + return *this; +} + +AckNackSubmessage& AckNackSubmessage::operator =( + AckNackSubmessage&& x) noexcept +{ + + m_submsgHeader = std::move(x.m_submsgHeader); + m_readerId = std::move(x.m_readerId); + m_writerId = std::move(x.m_writerId); + m_readerSNState = std::move(x.m_readerSNState); + m_count = std::move(x.m_count); + return *this; +} + +bool AckNackSubmessage::operator ==( + const AckNackSubmessage& x) const +{ + return (m_submsgHeader == x.m_submsgHeader && + m_readerId == x.m_readerId && + m_writerId == x.m_writerId && + m_readerSNState == x.m_readerSNState && + m_count == x.m_count); +} + +bool AckNackSubmessage::operator !=( + const AckNackSubmessage& 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 AckNackSubmessage::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 AckNackSubmessage::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& AckNackSubmessage::submsgHeader() const +{ + return m_submsgHeader; +} + +/*! + * @brief This function returns a reference to member submsgHeader + * @return Reference to member submsgHeader + */ +eprosima::fastdds::rtps::core::SubmessageHeader& AckNackSubmessage::submsgHeader() +{ + return m_submsgHeader; +} + + +/*! + * @brief This function copies the value in member readerId + * @param _readerId New value to be copied in member readerId + */ +void AckNackSubmessage::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 AckNackSubmessage::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& AckNackSubmessage::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& AckNackSubmessage::readerId() +{ + return m_readerId; +} + + +/*! + * @brief This function copies the value in member writerId + * @param _writerId New value to be copied in member writerId + */ +void AckNackSubmessage::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 AckNackSubmessage::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& AckNackSubmessage::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& AckNackSubmessage::writerId() +{ + return m_writerId; +} + + +/*! + * @brief This function copies the value in member readerSNState + * @param _readerSNState New value to be copied in member readerSNState + */ +void AckNackSubmessage::readerSNState( + const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& _readerSNState) +{ + m_readerSNState = _readerSNState; +} + +/*! + * @brief This function moves the value in member readerSNState + * @param _readerSNState New value to be moved in member readerSNState + */ +void AckNackSubmessage::readerSNState( + eprosima::fastdds::rtps::core::detail::SequenceNumberSet&& _readerSNState) +{ + m_readerSNState = std::move(_readerSNState); +} + +/*! + * @brief This function returns a constant reference to member readerSNState + * @return Constant reference to member readerSNState + */ +const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& AckNackSubmessage::readerSNState() const +{ + return m_readerSNState; +} + +/*! + * @brief This function returns a reference to member readerSNState + * @return Reference to member readerSNState + */ +eprosima::fastdds::rtps::core::detail::SequenceNumberSet& AckNackSubmessage::readerSNState() +{ + return m_readerSNState; +} + + +/*! + * @brief This function copies the value in member count + * @param _count New value to be copied in member count + */ +void AckNackSubmessage::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 AckNackSubmessage::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& AckNackSubmessage::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& AckNackSubmessage::count() +{ + return m_count; +} + + + + +HeartBeatSubmessage::HeartBeatSubmessage() +{ +} + +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() +{ +} + +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() +{ +} + +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() +{ +} + +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; +} + + + + +} // namespace core + + +} // namespace rtps + + +} // namespace fastdds + + +} // namespace eprosima +// Include auxiliary functions like for serializing/deserializing. +#include "core_typesCdrAux.ipp" + +#endif // FASTCDR_VERSION_MAJOR > 1 diff --git a/test/blackbox/types/core/core_types.h b/test/blackbox/types/core/core_types.h new file mode 100644 index 00000000000..eb969dd00f9 --- /dev/null +++ b/test/blackbox/types/core/core_types.h @@ -0,0 +1,2778 @@ +// 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 (version: 3.3.1). + */ + +#include +#include "core_typesv1.h" + +#if FASTCDR_VERSION_MAJOR > 1 + +#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; + + + +/*! + * @brief This class represents the structure SequenceNumberSet defined by the user in the IDL file. + * @ingroup core_types + */ +class SequenceNumberSet +{ +public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport SequenceNumberSet(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~SequenceNumberSet(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumberSet that will be copied. + */ + eProsima_user_DllExport SequenceNumberSet( + const SequenceNumberSet& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumberSet that will be copied. + */ + eProsima_user_DllExport SequenceNumberSet( + SequenceNumberSet&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumberSet that will be copied. + */ + eProsima_user_DllExport SequenceNumberSet& operator =( + const SequenceNumberSet& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumberSet that will be copied. + */ + eProsima_user_DllExport SequenceNumberSet& operator =( + SequenceNumberSet&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::SequenceNumberSet object to compare. + */ + eProsima_user_DllExport bool operator ==( + const SequenceNumberSet& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::SequenceNumberSet object to compare. + */ + eProsima_user_DllExport bool operator !=( + const SequenceNumberSet& x) const; + + /*! + * @brief This function copies the value in member bitmapBase + * @param _bitmapBase New value to be copied in member bitmapBase + */ + eProsima_user_DllExport void bitmapBase( + const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& _bitmapBase); + + /*! + * @brief This function moves the value in member bitmapBase + * @param _bitmapBase New value to be moved in member bitmapBase + */ + eProsima_user_DllExport void bitmapBase( + eprosima::fastdds::rtps::core::detail::SequenceNumber_t&& _bitmapBase); + + /*! + * @brief This function returns a constant reference to member bitmapBase + * @return Constant reference to member bitmapBase + */ + eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& bitmapBase() const; + + /*! + * @brief This function returns a reference to member bitmapBase + * @return Reference to member bitmapBase + */ + eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::SequenceNumber_t& bitmapBase(); + + + /*! + * @brief This function sets a value in member numBits + * @param _numBits New value for member numBits + */ + eProsima_user_DllExport void numBits( + uint32_t _numBits); + + /*! + * @brief This function returns the value of member numBits + * @return Value of member numBits + */ + eProsima_user_DllExport uint32_t numBits() const; + + /*! + * @brief This function returns a reference to member numBits + * @return Reference to member numBits + */ + eProsima_user_DllExport uint32_t& numBits(); + + + /*! + * @brief This function copies the value in member bitmap + * @param _bitmap New value to be copied in member bitmap + */ + eProsima_user_DllExport void bitmap( + const std::array& _bitmap); + + /*! + * @brief This function moves the value in member bitmap + * @param _bitmap New value to be moved in member bitmap + */ + eProsima_user_DllExport void bitmap( + std::array&& _bitmap); + + /*! + * @brief This function returns a constant reference to member bitmap + * @return Constant reference to member bitmap + */ + eProsima_user_DllExport const std::array& bitmap() const; + + /*! + * @brief This function returns a reference to member bitmap + * @return Reference to member bitmap + */ + eProsima_user_DllExport std::array& bitmap(); + +private: + + eprosima::fastdds::rtps::core::detail::SequenceNumber_t m_bitmapBase; + uint32_t m_numBits{0}; + std::array m_bitmap{0}; + +}; + + +/*! + * @brief This class represents the structure Locator_t defined by the user in the IDL file. + * @ingroup core_types + */ +class Locator_t +{ +public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport Locator_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~Locator_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Locator_t that will be copied. + */ + eProsima_user_DllExport Locator_t( + const Locator_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Locator_t that will be copied. + */ + eProsima_user_DllExport Locator_t( + Locator_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Locator_t that will be copied. + */ + eProsima_user_DllExport Locator_t& operator =( + const Locator_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Locator_t that will be copied. + */ + eProsima_user_DllExport Locator_t& operator =( + Locator_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::Locator_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const Locator_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::Locator_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const Locator_t& x) const; + + /*! + * @brief This function sets a value in member kind + * @param _kind New value for member kind + */ + eProsima_user_DllExport void kind( + int32_t _kind); + + /*! + * @brief This function returns the value of member kind + * @return Value of member kind + */ + eProsima_user_DllExport int32_t kind() const; + + /*! + * @brief This function returns a reference to member kind + * @return Reference to member kind + */ + eProsima_user_DllExport int32_t& kind(); + + + /*! + * @brief This function sets a value in member port + * @param _port New value for member port + */ + eProsima_user_DllExport void port( + uint32_t _port); + + /*! + * @brief This function returns the value of member port + * @return Value of member port + */ + eProsima_user_DllExport uint32_t port() const; + + /*! + * @brief This function returns a reference to member port + * @return Reference to member port + */ + eProsima_user_DllExport uint32_t& port(); + + + /*! + * @brief This function copies the value in member address + * @param _address New value to be copied in member address + */ + eProsima_user_DllExport void address( + const std::array& _address); + + /*! + * @brief This function moves the value in member address + * @param _address New value to be moved in member address + */ + eProsima_user_DllExport void address( + std::array&& _address); + + /*! + * @brief This function returns a constant reference to member address + * @return Constant reference to member address + */ + eProsima_user_DllExport const std::array& address() const; + + /*! + * @brief This function returns a reference to member address + * @return Reference to member address + */ + eProsima_user_DllExport std::array& address(); + +private: + + int32_t m_kind{0}; + uint32_t m_port{0}; + std::array m_address{0}; + +}; + + +/*! + * @brief This class represents the structure Duration_t defined by the user in the IDL file. + * @ingroup core_types + */ +class Duration_t +{ +public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport Duration_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~Duration_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Duration_t that will be copied. + */ + eProsima_user_DllExport Duration_t( + const Duration_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Duration_t that will be copied. + */ + eProsima_user_DllExport Duration_t( + Duration_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Duration_t that will be copied. + */ + eProsima_user_DllExport Duration_t& operator =( + const Duration_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Duration_t that will be copied. + */ + eProsima_user_DllExport Duration_t& operator =( + Duration_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::Duration_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const Duration_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::Duration_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const Duration_t& x) const; + + /*! + * @brief This function sets a value in member seconds + * @param _seconds New value for member seconds + */ + eProsima_user_DllExport void seconds( + int32_t _seconds); + + /*! + * @brief This function returns the value of member seconds + * @return Value of member seconds + */ + eProsima_user_DllExport int32_t seconds() const; + + /*! + * @brief This function returns a reference to member seconds + * @return Reference to member seconds + */ + eProsima_user_DllExport int32_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: + + int32_t m_seconds{0}; + uint32_t m_fraction{0}; + +}; +typedef uint32_t DomainId_t; + +typedef uint32_t BuiltinEndpointQos_t; + + + +/*! + * @brief This class represents the structure StatusInfo_t defined by the user in the IDL file. + * @ingroup core_types + */ +class StatusInfo_t +{ +public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport StatusInfo_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~StatusInfo_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::StatusInfo_t that will be copied. + */ + eProsima_user_DllExport StatusInfo_t( + const StatusInfo_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::StatusInfo_t that will be copied. + */ + eProsima_user_DllExport StatusInfo_t( + StatusInfo_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::StatusInfo_t that will be copied. + */ + eProsima_user_DllExport StatusInfo_t& operator =( + const StatusInfo_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::StatusInfo_t that will be copied. + */ + eProsima_user_DllExport StatusInfo_t& operator =( + StatusInfo_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::StatusInfo_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const StatusInfo_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::StatusInfo_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const StatusInfo_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 KeyHash_t defined by the user in the IDL file. + * @ingroup core_types + */ +class KeyHash_t +{ +public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport KeyHash_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~KeyHash_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::KeyHash_t that will be copied. + */ + eProsima_user_DllExport KeyHash_t( + const KeyHash_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::KeyHash_t that will be copied. + */ + eProsima_user_DllExport KeyHash_t( + KeyHash_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::KeyHash_t that will be copied. + */ + eProsima_user_DllExport KeyHash_t& operator =( + const KeyHash_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::KeyHash_t that will be copied. + */ + eProsima_user_DllExport KeyHash_t& operator =( + KeyHash_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::KeyHash_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const KeyHash_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::KeyHash_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const KeyHash_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 EntityName_t defined by the user in the IDL file. + * @ingroup core_types + */ +class EntityName_t +{ +public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport EntityName_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~EntityName_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityName_t that will be copied. + */ + eProsima_user_DllExport EntityName_t( + const EntityName_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityName_t that will be copied. + */ + eProsima_user_DllExport EntityName_t( + EntityName_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityName_t that will be copied. + */ + eProsima_user_DllExport EntityName_t& operator =( + const EntityName_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityName_t that will be copied. + */ + eProsima_user_DllExport EntityName_t& operator =( + EntityName_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::EntityName_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const EntityName_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::EntityName_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const EntityName_t& x) const; + + /*! + * @brief This function copies the value in member name + * @param _name New value to be copied in member name + */ + eProsima_user_DllExport void name( + const std::string& _name); + + /*! + * @brief This function moves the value in member name + * @param _name New value to be moved in member name + */ + eProsima_user_DllExport void name( + std::string&& _name); + + /*! + * @brief This function returns a constant reference to member name + * @return Constant reference to member name + */ + eProsima_user_DllExport const std::string& name() const; + + /*! + * @brief This function returns a reference to member name + * @return Reference to member name + */ + eProsima_user_DllExport std::string& name(); + +private: + + std::string m_name; + +}; + +} // 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}; + +}; +namespace SubmessageKind { + +const char RTPS_HE = 0x00; +const char PAD = 0x01; +const char ACKNACK = 0x06; +const char HEARTBEAT = 0x07; +const char GAP = 0x08; +const char INFO_TS = 0x09; +const char INFO_SRC = 0x0c; +const char INFO_REPLY_IP4 = 0x0d; +const char INFO_DST = 0x0e; +const char INFO_REPLY = 0x0f; +const char NACK_FRAG = 0x12; +const char HEARTBEAT_FRAG = 0x13; +const char DATA = 0x15; +const char DATA_FRAG = 0x16; + +} // namespace SubmessageKind + + +/*! + * @brief This class represents the structure AckNackSubmessage defined by the user in the IDL file. + * @ingroup core_types + */ +class AckNackSubmessage +{ +public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport AckNackSubmessage(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~AckNackSubmessage(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::AckNackSubmessage that will be copied. + */ + eProsima_user_DllExport AckNackSubmessage( + const AckNackSubmessage& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::AckNackSubmessage that will be copied. + */ + eProsima_user_DllExport AckNackSubmessage( + AckNackSubmessage&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::AckNackSubmessage that will be copied. + */ + eProsima_user_DllExport AckNackSubmessage& operator =( + const AckNackSubmessage& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::AckNackSubmessage that will be copied. + */ + eProsima_user_DllExport AckNackSubmessage& operator =( + AckNackSubmessage&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::AckNackSubmessage object to compare. + */ + eProsima_user_DllExport bool operator ==( + const AckNackSubmessage& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::AckNackSubmessage object to compare. + */ + eProsima_user_DllExport bool operator !=( + const AckNackSubmessage& 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 readerSNState + * @param _readerSNState New value to be copied in member readerSNState + */ + eProsima_user_DllExport void readerSNState( + const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& _readerSNState); + + /*! + * @brief This function moves the value in member readerSNState + * @param _readerSNState New value to be moved in member readerSNState + */ + eProsima_user_DllExport void readerSNState( + eprosima::fastdds::rtps::core::detail::SequenceNumberSet&& _readerSNState); + + /*! + * @brief This function returns a constant reference to member readerSNState + * @return Constant reference to member readerSNState + */ + eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& readerSNState() const; + + /*! + * @brief This function returns a reference to member readerSNState + * @return Reference to member readerSNState + */ + eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::SequenceNumberSet& readerSNState(); + + + /*! + * @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::SequenceNumberSet m_readerSNState; + eprosima::fastdds::rtps::core::detail::Count_t m_count; + +}; + + +/*! + * @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; + +}; + +} // namespace core + +} // namespace rtps + +} // namespace fastdds + +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_H_ + + + +#endif // FASTCDR_VERSION_MAJOR > 1 diff --git a/test/blackbox/types/core/core_types.idl b/test/blackbox/types/core/core_types.idl new file mode 100644 index 00000000000..f5eb5c22fa4 --- /dev/null +++ b/test/blackbox/types/core/core_types.idl @@ -0,0 +1,197 @@ +// Copyright 2024 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 test/blackbox/types/core/core_types.idl + */ + +module eprosima { +module fastdds { +module rtps { +module core { + +module detail { + + struct EntityId_t + { + octet value[4]; + }; + + struct ProtocolVersion_t + { + octet major; + octet minor; + }; + + struct VendorId_t + { + octet vendorId[2]; + }; + + struct GuidPrefix_t + { + octet value[12]; + }; + + struct GUID_t + { + GuidPrefix_t guidPrefix; + EntityId_t entityId; + }; + + struct SequenceNumber_t + { + long high; + unsigned long low; + }; + + struct Count_t + { + long value; + }; + + struct Time_t + { + unsigned long seconds; + unsigned long fraction; + }; + + typedef Time_t Timestamp; + + struct SequenceNumberSet + { + SequenceNumber_t bitmapBase; + unsigned long numBits; + octet bitmap[8]; + }; + + struct Locator_t + { + long kind; + unsigned long port; + octet address[16]; + }; + + struct Duration_t + { + long seconds; + unsigned long fraction; + }; + + typedef unsigned long DomainId_t; + typedef unsigned long BuiltinEndpointQos_t; + + struct StatusInfo_t + { + octet value[4]; + }; + + struct KeyHash_t + { + octet value[16]; + }; + + struct EntityName_t + { + string name; + }; + +}; // namespace detail + +//-------- RTPS 9.4.4 ------------ +struct Header +{ + octet prefix[4]; + detail::ProtocolVersion_t version; + detail::VendorId_t vendorId; + detail::GuidPrefix_t guidPrefix; +}; + +//-------- RTPS 9.4.5.1 ---------- +struct SubmessageHeader +{ + octet submessageId; + octet flags; + unsigned short submessageLength; /* octetsToNextHeader */ +}; + +//-------- RTPS 9.4.5.1.1 -------- +module SubmessageKind +{ + const char RTPS_HE = 0x00; + const char PAD = 0x01; + const char ACKNACK = 0x06; + const char HEARTBEAT = 0x07; + const char GAP = 0x08; + const char INFO_TS = 0x09; + const char INFO_SRC = 0x0c; + const char INFO_REPLY_IP4 = 0x0d; + const char INFO_DST = 0x0e; + const char INFO_REPLY = 0x0f; + const char NACK_FRAG = 0x12; + const char HEARTBEAT_FRAG = 0x13; + const char DATA = 0x15; + const char DATA_FRAG = 0x16; +}; + +//-------- RTPS 9.4.5.3 -------- +struct AckNackSubmessage +{ + SubmessageHeader submsgHeader; + detail::EntityId_t readerId; + detail::EntityId_t writerId; + detail::SequenceNumberSet readerSNState; + detail::Count_t count; +}; + +//-------- RTPS 9.4.5.7 -------- +struct HeartBeatSubmessage +{ + SubmessageHeader submsgHeader; + detail::EntityId_t readerId; + detail::EntityId_t writerId; + detail::SequenceNumber_t firstSN; + detail::SequenceNumber_t lastSN; + detail::Count_t count; +}; + +//-------- RTPS 9.4.5.9 -------- +struct InfoDestinationSubmessage +{ + SubmessageHeader submsgHeader; + detail::GuidPrefix_t guidPrefix; +}; + +//-------- RTPS 9.4.5.11 ------- +struct InfoSourceSubmessage +{ + SubmessageHeader submsgHeader; + long unused; + detail::ProtocolVersion_t version; + detail::VendorId_t vendorId; + detail::GuidPrefix_t guidPrefix; +}; + +//-------- RTPS 9.4.5.12 ------- +struct InfoTimestampSubmessage +{ + SubmessageHeader submsgHeader; + detail::Timestamp timestamp; +}; + + +}; // namespace core +}; // namespace rtps +}; // namespace fastdds +}; // namespace eprosima diff --git a/test/blackbox/types/core/core_typesCdrAux.hpp b/test/blackbox/types/core/core_typesCdrAux.hpp new file mode 100644 index 00000000000..639be4d6929 --- /dev/null +++ b/test/blackbox/types/core/core_typesCdrAux.hpp @@ -0,0 +1,271 @@ +// 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_typesCdrAux.hpp + * This source file contains some definitions of CDR related functions. + * + * This file was generated by the tool fastddsgen (version: 3.3.1). + */ + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPESCDRAUX_HPP_ +#define _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPESCDRAUX_HPP_ + +#include "core_types.h" + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_SequenceNumber_t_max_cdr_typesize {12UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_SequenceNumber_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_InfoTimestampSubmessage_max_cdr_typesize {24UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_InfoTimestampSubmessage_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_Count_t_max_cdr_typesize {8UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_Count_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_GuidPrefix_t_max_cdr_typesize {16UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_GuidPrefix_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_StatusInfo_t_max_cdr_typesize {8UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_StatusInfo_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_ProtocolVersion_t_max_cdr_typesize {6UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_ProtocolVersion_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_GUID_t_max_cdr_typesize {28UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_GUID_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_Time_t_max_cdr_typesize {12UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_Time_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_AckNackSubmessage_max_cdr_typesize {64UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_AckNackSubmessage_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_InfoDestinationSubmessage_max_cdr_typesize {28UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_InfoDestinationSubmessage_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_EntityId_t_max_cdr_typesize {8UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_EntityId_t_max_key_cdr_typesize {0UL}; + + +constexpr uint32_t eprosima_fastdds_rtps_core_Header_max_cdr_typesize {40UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_Header_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_EntityName_t_max_cdr_typesize {264UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_EntityName_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_Duration_t_max_cdr_typesize {12UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_Duration_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_SubmessageHeader_max_cdr_typesize {8UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_SubmessageHeader_max_key_cdr_typesize {0UL}; + + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_SequenceNumberSet_max_cdr_typesize {28UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_SequenceNumberSet_max_key_cdr_typesize {0UL}; + + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_KeyHash_t_max_cdr_typesize {20UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_KeyHash_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_VendorId_t_max_cdr_typesize {6UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_VendorId_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_detail_Locator_t_max_cdr_typesize {28UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_detail_Locator_t_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_HeartBeatSubmessage_max_cdr_typesize {60UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_HeartBeatSubmessage_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_fastdds_rtps_core_InfoSourceSubmessage_max_cdr_typesize {48UL}; +constexpr uint32_t eprosima_fastdds_rtps_core_InfoSourceSubmessage_max_key_cdr_typesize {0UL}; + + +namespace eprosima { +namespace fastcdr { + +class Cdr; +class CdrSizeCalculator; + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::EntityId_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::VendorId_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::GUID_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Count_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Time_t& data); + + + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Locator_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Duration_t& data); + + + + + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::StatusInfo_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::KeyHash_t& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::EntityName_t& data); + + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::Header& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::SubmessageHeader& data); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::AckNackSubmessage& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::HeartBeatSubmessage& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::InfoDestinationSubmessage& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::InfoSourceSubmessage& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::InfoTimestampSubmessage& data); + + + + + + +} // namespace fastcdr +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPESCDRAUX_HPP_ + diff --git a/test/blackbox/types/core/core_typesCdrAux.ipp b/test/blackbox/types/core/core_typesCdrAux.ipp new file mode 100644 index 00000000000..acf6cbb1e5a --- /dev/null +++ b/test/blackbox/types/core/core_typesCdrAux.ipp @@ -0,0 +1,2120 @@ +// 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_typesCdrAux.ipp + * This source file contains some declarations of CDR related functions. + * + * This file was generated by the tool fastddsgen (version: 3.3.1). + */ + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPESCDRAUX_IPP_ +#define _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPESCDRAUX_IPP_ + +#include "core_typesCdrAux.hpp" + +#include +#include + + +#include +using namespace eprosima::fastcdr::exception; + +namespace eprosima { +namespace fastcdr { + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::EntityId_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.value(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::EntityId_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.value() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::EntityId_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.value(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::EntityId_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.major(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.minor(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.major() + << eprosima::fastcdr::MemberId(1) << data.minor() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.major(); + break; + + case 1: + dcdr >> data.minor(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::VendorId_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.vendorId(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::VendorId_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.vendorId() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::VendorId_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.vendorId(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::VendorId_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.value(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.value() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::GuidPrefix_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.value(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::GUID_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.guidPrefix(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.entityId(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::GUID_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.guidPrefix() + << eprosima::fastcdr::MemberId(1) << data.entityId() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::GUID_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.guidPrefix(); + break; + + case 1: + dcdr >> data.entityId(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::GUID_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.high(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.low(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.high() + << eprosima::fastcdr::MemberId(1) << data.low() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::SequenceNumber_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.high(); + break; + + case 1: + dcdr >> data.low(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::Count_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.value(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Count_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.value() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::Count_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.value(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Count_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::Time_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.seconds(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.fraction(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Time_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.seconds() + << eprosima::fastcdr::MemberId(1) << data.fraction() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::Time_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.seconds(); + break; + + case 1: + dcdr >> data.fraction(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Time_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.bitmapBase(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.numBits(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.bitmap(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.bitmapBase() + << eprosima::fastcdr::MemberId(1) << data.numBits() + << eprosima::fastcdr::MemberId(2) << data.bitmap() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::SequenceNumberSet& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.bitmapBase(); + break; + + case 1: + dcdr >> data.numBits(); + break; + + case 2: + dcdr >> data.bitmap(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::Locator_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.kind(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.port(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.address(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Locator_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.kind() + << eprosima::fastcdr::MemberId(1) << data.port() + << eprosima::fastcdr::MemberId(2) << data.address() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::Locator_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.kind(); + break; + + case 1: + dcdr >> data.port(); + break; + + case 2: + dcdr >> data.address(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Locator_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::Duration_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.seconds(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.fraction(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Duration_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.seconds() + << eprosima::fastcdr::MemberId(1) << data.fraction() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::Duration_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.seconds(); + break; + + case 1: + dcdr >> data.fraction(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::Duration_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::StatusInfo_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.value(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::StatusInfo_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.value() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::StatusInfo_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.value(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::StatusInfo_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::KeyHash_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.value(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::KeyHash_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.value() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::KeyHash_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.value(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::KeyHash_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::detail::EntityName_t& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.name(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::EntityName_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.name() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::detail::EntityName_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.name(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::detail::EntityName_t& data) +{ + using namespace eprosima::fastdds::rtps::core::detail; + + static_cast(scdr); + static_cast(data); +} + + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::Header& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.prefix(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.version(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.vendorId(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.guidPrefix(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::Header& data) +{ + using namespace eprosima::fastdds::rtps::core; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.prefix() + << eprosima::fastcdr::MemberId(1) << data.version() + << eprosima::fastcdr::MemberId(2) << data.vendorId() + << eprosima::fastcdr::MemberId(3) << data.guidPrefix() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::Header& data) +{ + using namespace eprosima::fastdds::rtps::core; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.prefix(); + break; + + case 1: + dcdr >> data.version(); + break; + + case 2: + dcdr >> data.vendorId(); + break; + + case 3: + dcdr >> data.guidPrefix(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::Header& data) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::SubmessageHeader& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.submessageId(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.flags(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.submessageLength(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::SubmessageHeader& data) +{ + using namespace eprosima::fastdds::rtps::core; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.submessageId() + << eprosima::fastcdr::MemberId(1) << data.flags() + << eprosima::fastcdr::MemberId(2) << data.submessageLength() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::SubmessageHeader& data) +{ + using namespace eprosima::fastdds::rtps::core; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.submessageId(); + break; + + case 1: + dcdr >> data.flags(); + break; + + case 2: + dcdr >> data.submessageLength(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::SubmessageHeader& data) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(scdr); + static_cast(data); +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::AckNackSubmessage& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.submsgHeader(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.readerId(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.writerId(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.readerSNState(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.count(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::AckNackSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.submsgHeader() + << eprosima::fastcdr::MemberId(1) << data.readerId() + << eprosima::fastcdr::MemberId(2) << data.writerId() + << eprosima::fastcdr::MemberId(3) << data.readerSNState() + << eprosima::fastcdr::MemberId(4) << data.count() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::AckNackSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.submsgHeader(); + break; + + case 1: + dcdr >> data.readerId(); + break; + + case 2: + dcdr >> data.writerId(); + break; + + case 3: + dcdr >> data.readerSNState(); + break; + + case 4: + dcdr >> data.count(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::AckNackSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::HeartBeatSubmessage& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.submsgHeader(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.readerId(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.writerId(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.firstSN(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.lastSN(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.count(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::HeartBeatSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.submsgHeader() + << eprosima::fastcdr::MemberId(1) << data.readerId() + << eprosima::fastcdr::MemberId(2) << data.writerId() + << eprosima::fastcdr::MemberId(3) << data.firstSN() + << eprosima::fastcdr::MemberId(4) << data.lastSN() + << eprosima::fastcdr::MemberId(5) << data.count() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::HeartBeatSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.submsgHeader(); + break; + + case 1: + dcdr >> data.readerId(); + break; + + case 2: + dcdr >> data.writerId(); + break; + + case 3: + dcdr >> data.firstSN(); + break; + + case 4: + dcdr >> data.lastSN(); + break; + + case 5: + dcdr >> data.count(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::HeartBeatSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::InfoDestinationSubmessage& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.submsgHeader(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.guidPrefix(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::InfoDestinationSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.submsgHeader() + << eprosima::fastcdr::MemberId(1) << data.guidPrefix() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::InfoDestinationSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.submsgHeader(); + break; + + case 1: + dcdr >> data.guidPrefix(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::InfoDestinationSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::InfoSourceSubmessage& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.submsgHeader(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.unused(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.version(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.vendorId(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.guidPrefix(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::InfoSourceSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.submsgHeader() + << eprosima::fastcdr::MemberId(1) << data.unused() + << eprosima::fastcdr::MemberId(2) << data.version() + << eprosima::fastcdr::MemberId(3) << data.vendorId() + << eprosima::fastcdr::MemberId(4) << data.guidPrefix() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::InfoSourceSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.submsgHeader(); + break; + + case 1: + dcdr >> data.unused(); + break; + + case 2: + dcdr >> data.version(); + break; + + case 3: + dcdr >> data.vendorId(); + break; + + case 4: + dcdr >> data.guidPrefix(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::InfoSourceSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::fastdds::rtps::core::InfoTimestampSubmessage& data, + size_t& current_alignment) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.submsgHeader(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.timestamp(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::InfoTimestampSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.submsgHeader() + << eprosima::fastcdr::MemberId(1) << data.timestamp() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::fastdds::rtps::core::InfoTimestampSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.submsgHeader(); + break; + + case 1: + dcdr >> data.timestamp(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::fastdds::rtps::core::InfoTimestampSubmessage& data) +{ + using namespace eprosima::fastdds::rtps::core; + + static_cast(scdr); + static_cast(data); +} + + + + + + + +} // namespace fastcdr +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPESCDRAUX_IPP_ + diff --git a/test/blackbox/types/core/core_typesPubSubTypes.cxx b/test/blackbox/types/core/core_typesPubSubTypes.cxx new file mode 100644 index 00000000000..b018e5ba61b --- /dev/null +++ b/test/blackbox/types/core/core_typesPubSubTypes.cxx @@ -0,0 +1,4184 @@ +// 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_typesPubSubTypes.cpp + * This header file contains the implementation of the serialization functions. + * + * This file was generated by the tool fastddsgen (version: 3.3.1). + */ + + +#include + +#include "core_typesPubSubTypes.h" +#include "core_typesCdrAux.hpp" + +using SerializedPayload_t = eprosima::fastrtps::rtps::SerializedPayload_t; +using InstanceHandle_t = eprosima::fastrtps::rtps::InstanceHandle_t; +using DataRepresentationId_t = eprosima::fastdds::dds::DataRepresentationId_t; + +namespace eprosima { + namespace fastdds { + namespace rtps { + namespace core { + namespace detail { + + + EntityId_tPubSubType::EntityId_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::EntityId_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(EntityId_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_EntityId_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_EntityId_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_EntityId_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + EntityId_tPubSubType::~EntityId_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool EntityId_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + EntityId_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool EntityId_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + EntityId_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function EntityId_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* EntityId_tPubSubType::createData() + { + return reinterpret_cast(new EntityId_t()); + } + + void EntityId_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool EntityId_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + EntityId_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_EntityId_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_EntityId_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + ProtocolVersion_tPubSubType::ProtocolVersion_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::ProtocolVersion_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(ProtocolVersion_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_ProtocolVersion_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_ProtocolVersion_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_ProtocolVersion_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + ProtocolVersion_tPubSubType::~ProtocolVersion_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool ProtocolVersion_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + ProtocolVersion_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool ProtocolVersion_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + ProtocolVersion_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function ProtocolVersion_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* ProtocolVersion_tPubSubType::createData() + { + return reinterpret_cast(new ProtocolVersion_t()); + } + + void ProtocolVersion_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool ProtocolVersion_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + ProtocolVersion_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_ProtocolVersion_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_ProtocolVersion_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + VendorId_tPubSubType::VendorId_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::VendorId_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(VendorId_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_VendorId_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_VendorId_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_VendorId_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + VendorId_tPubSubType::~VendorId_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool VendorId_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + VendorId_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool VendorId_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + VendorId_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function VendorId_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* VendorId_tPubSubType::createData() + { + return reinterpret_cast(new VendorId_t()); + } + + void VendorId_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool VendorId_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + VendorId_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_VendorId_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_VendorId_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + GuidPrefix_tPubSubType::GuidPrefix_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::GuidPrefix_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(GuidPrefix_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_GuidPrefix_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_GuidPrefix_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_GuidPrefix_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + GuidPrefix_tPubSubType::~GuidPrefix_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool GuidPrefix_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + GuidPrefix_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool GuidPrefix_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + GuidPrefix_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function GuidPrefix_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* GuidPrefix_tPubSubType::createData() + { + return reinterpret_cast(new GuidPrefix_t()); + } + + void GuidPrefix_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool GuidPrefix_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + GuidPrefix_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_GuidPrefix_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_GuidPrefix_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + GUID_tPubSubType::GUID_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::GUID_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(GUID_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_GUID_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_GUID_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_GUID_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + GUID_tPubSubType::~GUID_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool GUID_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + GUID_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool GUID_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + GUID_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function GUID_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* GUID_tPubSubType::createData() + { + return reinterpret_cast(new GUID_t()); + } + + void GUID_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool GUID_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + GUID_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_GUID_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_GUID_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + SequenceNumber_tPubSubType::SequenceNumber_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::SequenceNumber_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(SequenceNumber_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_SequenceNumber_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_SequenceNumber_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_SequenceNumber_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + SequenceNumber_tPubSubType::~SequenceNumber_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool SequenceNumber_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + SequenceNumber_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool SequenceNumber_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + SequenceNumber_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function SequenceNumber_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* SequenceNumber_tPubSubType::createData() + { + return reinterpret_cast(new SequenceNumber_t()); + } + + void SequenceNumber_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool SequenceNumber_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + SequenceNumber_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_SequenceNumber_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_SequenceNumber_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + Count_tPubSubType::Count_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::Count_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(Count_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_Count_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_Count_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_Count_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + Count_tPubSubType::~Count_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool Count_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + Count_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool Count_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + Count_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function Count_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* Count_tPubSubType::createData() + { + return reinterpret_cast(new Count_t()); + } + + void Count_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool Count_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + Count_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_Count_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_Count_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + Time_tPubSubType::Time_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::Time_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(Time_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_Time_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_Time_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_Time_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + Time_tPubSubType::~Time_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool Time_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + Time_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool Time_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + Time_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function Time_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* Time_tPubSubType::createData() + { + return reinterpret_cast(new Time_t()); + } + + void Time_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool Time_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + Time_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_Time_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_Time_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + + + SequenceNumberSetPubSubType::SequenceNumberSetPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::SequenceNumberSet"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(SequenceNumberSet::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_SequenceNumberSet_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_SequenceNumberSet_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_SequenceNumberSet_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + SequenceNumberSetPubSubType::~SequenceNumberSetPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool SequenceNumberSetPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + SequenceNumberSet* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool SequenceNumberSetPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + SequenceNumberSet* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function SequenceNumberSetPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* SequenceNumberSetPubSubType::createData() + { + return reinterpret_cast(new SequenceNumberSet()); + } + + void SequenceNumberSetPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool SequenceNumberSetPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + SequenceNumberSet* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_SequenceNumberSet_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_SequenceNumberSet_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + Locator_tPubSubType::Locator_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::Locator_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(Locator_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_Locator_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_Locator_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_Locator_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + Locator_tPubSubType::~Locator_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool Locator_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + Locator_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool Locator_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + Locator_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function Locator_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* Locator_tPubSubType::createData() + { + return reinterpret_cast(new Locator_t()); + } + + void Locator_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool Locator_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + Locator_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_Locator_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_Locator_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + Duration_tPubSubType::Duration_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::Duration_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(Duration_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_Duration_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_Duration_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_Duration_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + Duration_tPubSubType::~Duration_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool Duration_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + Duration_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool Duration_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + Duration_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function Duration_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* Duration_tPubSubType::createData() + { + return reinterpret_cast(new Duration_t()); + } + + void Duration_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool Duration_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + Duration_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_Duration_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_Duration_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + + + + + StatusInfo_tPubSubType::StatusInfo_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::StatusInfo_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(StatusInfo_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_StatusInfo_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_StatusInfo_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_StatusInfo_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + StatusInfo_tPubSubType::~StatusInfo_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool StatusInfo_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + StatusInfo_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool StatusInfo_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + StatusInfo_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function StatusInfo_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* StatusInfo_tPubSubType::createData() + { + return reinterpret_cast(new StatusInfo_t()); + } + + void StatusInfo_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool StatusInfo_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + StatusInfo_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_StatusInfo_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_StatusInfo_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + KeyHash_tPubSubType::KeyHash_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::KeyHash_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(KeyHash_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_KeyHash_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_KeyHash_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_KeyHash_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + KeyHash_tPubSubType::~KeyHash_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool KeyHash_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + KeyHash_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool KeyHash_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + KeyHash_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function KeyHash_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* KeyHash_tPubSubType::createData() + { + return reinterpret_cast(new KeyHash_t()); + } + + void KeyHash_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool KeyHash_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + KeyHash_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_KeyHash_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_KeyHash_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + EntityName_tPubSubType::EntityName_tPubSubType() + { + setName("eprosima::fastdds::rtps::core::detail::EntityName_t"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(EntityName_t::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_detail_EntityName_t_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_detail_EntityName_t_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_detail_EntityName_t_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + EntityName_tPubSubType::~EntityName_tPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool EntityName_tPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + EntityName_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool EntityName_tPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + EntityName_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function EntityName_tPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* EntityName_tPubSubType::createData() + { + return reinterpret_cast(new EntityName_t()); + } + + void EntityName_tPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool EntityName_tPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + EntityName_t* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_detail_EntityName_t_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_detail_EntityName_t_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + } //End of namespace detail + + + + HeaderPubSubType::HeaderPubSubType() + { + setName("eprosima::fastdds::rtps::core::Header"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(Header::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_Header_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_Header_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_Header_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + HeaderPubSubType::~HeaderPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool HeaderPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + Header* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool HeaderPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + Header* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function HeaderPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* HeaderPubSubType::createData() + { + return reinterpret_cast(new Header()); + } + + void HeaderPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool HeaderPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + Header* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_Header_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_Header_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + SubmessageHeaderPubSubType::SubmessageHeaderPubSubType() + { + setName("eprosima::fastdds::rtps::core::SubmessageHeader"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(SubmessageHeader::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_SubmessageHeader_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_SubmessageHeader_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_SubmessageHeader_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + SubmessageHeaderPubSubType::~SubmessageHeaderPubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool SubmessageHeaderPubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + SubmessageHeader* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool SubmessageHeaderPubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + SubmessageHeader* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function SubmessageHeaderPubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* SubmessageHeaderPubSubType::createData() + { + return reinterpret_cast(new SubmessageHeader()); + } + + void SubmessageHeaderPubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool SubmessageHeaderPubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + SubmessageHeader* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_SubmessageHeader_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_SubmessageHeader_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + namespace SubmessageKind { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } //End of namespace SubmessageKind + + + + AckNackSubmessagePubSubType::AckNackSubmessagePubSubType() + { + setName("eprosima::fastdds::rtps::core::AckNackSubmessage"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(AckNackSubmessage::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_AckNackSubmessage_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_AckNackSubmessage_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_AckNackSubmessage_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + AckNackSubmessagePubSubType::~AckNackSubmessagePubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool AckNackSubmessagePubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + AckNackSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool AckNackSubmessagePubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + AckNackSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function AckNackSubmessagePubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* AckNackSubmessagePubSubType::createData() + { + return reinterpret_cast(new AckNackSubmessage()); + } + + void AckNackSubmessagePubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool AckNackSubmessagePubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + AckNackSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_AckNackSubmessage_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_AckNackSubmessage_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + HeartBeatSubmessagePubSubType::HeartBeatSubmessagePubSubType() + { + setName("eprosima::fastdds::rtps::core::HeartBeatSubmessage"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(HeartBeatSubmessage::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_HeartBeatSubmessage_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_HeartBeatSubmessage_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_HeartBeatSubmessage_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + HeartBeatSubmessagePubSubType::~HeartBeatSubmessagePubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool HeartBeatSubmessagePubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + HeartBeatSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool HeartBeatSubmessagePubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + HeartBeatSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function HeartBeatSubmessagePubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* HeartBeatSubmessagePubSubType::createData() + { + return reinterpret_cast(new HeartBeatSubmessage()); + } + + void HeartBeatSubmessagePubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool HeartBeatSubmessagePubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + HeartBeatSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_HeartBeatSubmessage_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_HeartBeatSubmessage_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + InfoDestinationSubmessagePubSubType::InfoDestinationSubmessagePubSubType() + { + setName("eprosima::fastdds::rtps::core::InfoDestinationSubmessage"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(InfoDestinationSubmessage::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_InfoDestinationSubmessage_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_InfoDestinationSubmessage_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_InfoDestinationSubmessage_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + InfoDestinationSubmessagePubSubType::~InfoDestinationSubmessagePubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool InfoDestinationSubmessagePubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + InfoDestinationSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool InfoDestinationSubmessagePubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + InfoDestinationSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function InfoDestinationSubmessagePubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* InfoDestinationSubmessagePubSubType::createData() + { + return reinterpret_cast(new InfoDestinationSubmessage()); + } + + void InfoDestinationSubmessagePubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool InfoDestinationSubmessagePubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + InfoDestinationSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_InfoDestinationSubmessage_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_InfoDestinationSubmessage_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + InfoSourceSubmessagePubSubType::InfoSourceSubmessagePubSubType() + { + setName("eprosima::fastdds::rtps::core::InfoSourceSubmessage"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(InfoSourceSubmessage::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_InfoSourceSubmessage_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_InfoSourceSubmessage_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_InfoSourceSubmessage_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + InfoSourceSubmessagePubSubType::~InfoSourceSubmessagePubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool InfoSourceSubmessagePubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + InfoSourceSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool InfoSourceSubmessagePubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + InfoSourceSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function InfoSourceSubmessagePubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* InfoSourceSubmessagePubSubType::createData() + { + return reinterpret_cast(new InfoSourceSubmessage()); + } + + void InfoSourceSubmessagePubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool InfoSourceSubmessagePubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + InfoSourceSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_InfoSourceSubmessage_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_InfoSourceSubmessage_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + + InfoTimestampSubmessagePubSubType::InfoTimestampSubmessagePubSubType() + { + setName("eprosima::fastdds::rtps::core::InfoTimestampSubmessage"); + uint32_t type_size = + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(InfoTimestampSubmessage::getMaxCdrSerializedSize()); + #else + eprosima_fastdds_rtps_core_InfoTimestampSubmessage_max_cdr_typesize; + #endif + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = false; + uint32_t keyLength = eprosima_fastdds_rtps_core_InfoTimestampSubmessage_max_key_cdr_typesize > 16 ? eprosima_fastdds_rtps_core_InfoTimestampSubmessage_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + InfoTimestampSubmessagePubSubType::~InfoTimestampSubmessagePubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool InfoTimestampSubmessagePubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + InfoTimestampSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->max_size); + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + 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::DELIMIT_CDR2); + #endif // FASTCDR_VERSION_MAJOR > 1 + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + #if FASTCDR_VERSION_MAJOR > 1 + ser.set_dds_cdr_options({0,0}); + #else + ser.setDDSCdrOptions(0); + #endif // FASTCDR_VERSION_MAJOR > 1 + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + #if FASTCDR_VERSION_MAJOR == 1 + payload->length = static_cast(ser.getSerializedDataLength()); + #else + payload->length = static_cast(ser.get_serialized_data_length()); + #endif // FASTCDR_VERSION_MAJOR == 1 + return true; + } + + bool InfoTimestampSubmessagePubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + InfoTimestampSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(payload->data), payload->length); + + // Object that deserializes the data. + 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 + ); + + // Deserialize encapsulation. + deser.read_encapsulation(); + payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS ? CDR_BE : CDR_LE; + + // Deserialize the object. + deser >> *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + return true; + } + + std::function InfoTimestampSubmessagePubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + #if FASTCDR_VERSION_MAJOR == 1 + static_cast(data_representation); + return static_cast(type::getCdrSerializedSize(*static_cast(data))) + + 4u /*encapsulation*/; + #else + try + { + eprosima::fastcdr::CdrSizeCalculator calculator( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::CdrVersion::XCDRv1 :eprosima::fastcdr::CdrVersion::XCDRv2); + size_t current_alignment {0}; + return static_cast(calculator.calculate_serialized_size( + *static_cast(data), current_alignment)) + + 4u /*encapsulation*/; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return 0; + } + #endif // FASTCDR_VERSION_MAJOR == 1 + }; + } + + void* InfoTimestampSubmessagePubSubType::createData() + { + return reinterpret_cast(new InfoTimestampSubmessage()); + } + + void InfoTimestampSubmessagePubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool InfoTimestampSubmessagePubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + InfoTimestampSubmessage* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_fastdds_rtps_core_InfoTimestampSubmessage_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS, eprosima::fastcdr::CdrVersion::XCDRv1); + #if FASTCDR_VERSION_MAJOR == 1 + p_type->serializeKey(ser); + #else + eprosima::fastcdr::serialize_key(ser, *p_type); + #endif // FASTCDR_VERSION_MAJOR == 1 + if (force_md5 || eprosima_fastdds_rtps_core_InfoTimestampSubmessage_max_key_cdr_typesize > 16) + { + m_md5.init(); + #if FASTCDR_VERSION_MAJOR == 1 + m_md5.update(m_keyBuffer, static_cast(ser.getSerializedDataLength())); + #else + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + #endif // FASTCDR_VERSION_MAJOR == 1 + m_md5.finalize(); + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_md5.digest[i]; + } + } + else + { + for (uint8_t i = 0; i < 16; ++i) + { + handle->value[i] = m_keyBuffer[i]; + } + } + return true; + } + + + } //End of namespace core + + + } //End of namespace rtps + + + } //End of namespace fastdds + + +} //End of namespace eprosima + diff --git a/test/blackbox/types/core/core_typesPubSubTypes.h b/test/blackbox/types/core/core_typesPubSubTypes.h new file mode 100644 index 00000000000..1ae5fde0e0c --- /dev/null +++ b/test/blackbox/types/core/core_typesPubSubTypes.h @@ -0,0 +1,1981 @@ +// 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_typesPubSubTypes.h + * This header file contains the declaration of the serialization functions. + * + * This file was generated by the tool fastddsgen (version: 3.3.1). + */ + + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_PUBSUBTYPES_H_ +#define _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_PUBSUBTYPES_H_ + +#include +#include +#include +#include +#include + +#include "core_types.h" + + +#if !defined(GEN_API_VER) || (GEN_API_VER != 2) +#error \ + Generated core_types is not compatible with current installed Fast DDS. Please, regenerate it with fastddsgen. +#endif // GEN_API_VER + +namespace eprosima +{ + namespace fastdds + { + namespace rtps + { + namespace core + { + namespace detail + { + + + + /*! + * @brief This class represents the TopicDataType of the type EntityId_t defined by the user in the IDL file. + * @ingroup core_types + */ + class EntityId_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef EntityId_t type; + + eProsima_user_DllExport EntityId_tPubSubType(); + + eProsima_user_DllExport ~EntityId_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type ProtocolVersion_t defined by the user in the IDL file. + * @ingroup core_types + */ + class ProtocolVersion_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef ProtocolVersion_t type; + + eProsima_user_DllExport ProtocolVersion_tPubSubType(); + + eProsima_user_DllExport ~ProtocolVersion_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type VendorId_t defined by the user in the IDL file. + * @ingroup core_types + */ + class VendorId_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef VendorId_t type; + + eProsima_user_DllExport VendorId_tPubSubType(); + + eProsima_user_DllExport ~VendorId_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type GuidPrefix_t defined by the user in the IDL file. + * @ingroup core_types + */ + class GuidPrefix_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef GuidPrefix_t type; + + eProsima_user_DllExport GuidPrefix_tPubSubType(); + + eProsima_user_DllExport ~GuidPrefix_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type GUID_t defined by the user in the IDL file. + * @ingroup core_types + */ + class GUID_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef GUID_t type; + + eProsima_user_DllExport GUID_tPubSubType(); + + eProsima_user_DllExport ~GUID_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type SequenceNumber_t defined by the user in the IDL file. + * @ingroup core_types + */ + class SequenceNumber_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef SequenceNumber_t type; + + eProsima_user_DllExport SequenceNumber_tPubSubType(); + + eProsima_user_DllExport ~SequenceNumber_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type Count_t defined by the user in the IDL file. + * @ingroup core_types + */ + class Count_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef Count_t type; + + eProsima_user_DllExport Count_tPubSubType(); + + eProsima_user_DllExport ~Count_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type Time_t defined by the user in the IDL file. + * @ingroup core_types + */ + class Time_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef Time_t type; + + eProsima_user_DllExport Time_tPubSubType(); + + eProsima_user_DllExport ~Time_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + typedef eprosima::fastdds::rtps::core::detail::Time_t Timestamp; + + + + /*! + * @brief This class represents the TopicDataType of the type SequenceNumberSet defined by the user in the IDL file. + * @ingroup core_types + */ + class SequenceNumberSetPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef SequenceNumberSet type; + + eProsima_user_DllExport SequenceNumberSetPubSubType(); + + eProsima_user_DllExport ~SequenceNumberSetPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type Locator_t defined by the user in the IDL file. + * @ingroup core_types + */ + class Locator_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef Locator_t type; + + eProsima_user_DllExport Locator_tPubSubType(); + + eProsima_user_DllExport ~Locator_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type Duration_t defined by the user in the IDL file. + * @ingroup core_types + */ + class Duration_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef Duration_t type; + + eProsima_user_DllExport Duration_tPubSubType(); + + eProsima_user_DllExport ~Duration_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + typedef uint32_t DomainId_t; + typedef uint32_t BuiltinEndpointQos_t; + + + + /*! + * @brief This class represents the TopicDataType of the type StatusInfo_t defined by the user in the IDL file. + * @ingroup core_types + */ + class StatusInfo_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef StatusInfo_t type; + + eProsima_user_DllExport StatusInfo_tPubSubType(); + + eProsima_user_DllExport ~StatusInfo_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type KeyHash_t defined by the user in the IDL file. + * @ingroup core_types + */ + class KeyHash_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef KeyHash_t type; + + eProsima_user_DllExport KeyHash_tPubSubType(); + + eProsima_user_DllExport ~KeyHash_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type EntityName_t defined by the user in the IDL file. + * @ingroup core_types + */ + class EntityName_tPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef EntityName_t type; + + eProsima_user_DllExport EntityName_tPubSubType(); + + eProsima_user_DllExport ~EntityName_tPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + } + + + + /*! + * @brief This class represents the TopicDataType of the type Header defined by the user in the IDL file. + * @ingroup core_types + */ + class HeaderPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef Header type; + + eProsima_user_DllExport HeaderPubSubType(); + + eProsima_user_DllExport ~HeaderPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type SubmessageHeader defined by the user in the IDL file. + * @ingroup core_types + */ + class SubmessageHeaderPubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef SubmessageHeader type; + + eProsima_user_DllExport SubmessageHeaderPubSubType(); + + eProsima_user_DllExport ~SubmessageHeaderPubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + namespace SubmessageKind + { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + + + + /*! + * @brief This class represents the TopicDataType of the type AckNackSubmessage defined by the user in the IDL file. + * @ingroup core_types + */ + class AckNackSubmessagePubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef AckNackSubmessage type; + + eProsima_user_DllExport AckNackSubmessagePubSubType(); + + eProsima_user_DllExport ~AckNackSubmessagePubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type HeartBeatSubmessage defined by the user in the IDL file. + * @ingroup core_types + */ + class HeartBeatSubmessagePubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef HeartBeatSubmessage type; + + eProsima_user_DllExport HeartBeatSubmessagePubSubType(); + + eProsima_user_DllExport ~HeartBeatSubmessagePubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type InfoDestinationSubmessage defined by the user in the IDL file. + * @ingroup core_types + */ + class InfoDestinationSubmessagePubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef InfoDestinationSubmessage type; + + eProsima_user_DllExport InfoDestinationSubmessagePubSubType(); + + eProsima_user_DllExport ~InfoDestinationSubmessagePubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type InfoSourceSubmessage defined by the user in the IDL file. + * @ingroup core_types + */ + class InfoSourceSubmessagePubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef InfoSourceSubmessage type; + + eProsima_user_DllExport InfoSourceSubmessagePubSubType(); + + eProsima_user_DllExport ~InfoSourceSubmessagePubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + + + + /*! + * @brief This class represents the TopicDataType of the type InfoTimestampSubmessage defined by the user in the IDL file. + * @ingroup core_types + */ + class InfoTimestampSubmessagePubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef InfoTimestampSubmessage type; + + eProsima_user_DllExport InfoTimestampSubmessagePubSubType(); + + eProsima_user_DllExport ~InfoTimestampSubmessagePubSubType() override; + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload) override + { + return serialize(data, payload, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport bool serialize( + void* data, + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool deserialize( + eprosima::fastrtps::rtps::SerializedPayload_t* payload, + void* data) override; + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data) override + { + return getSerializedSizeProvider(data, eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION); + } + + eProsima_user_DllExport std::function getSerializedSizeProvider( + void* data, + eprosima::fastdds::dds::DataRepresentationId_t data_representation) override; + + eProsima_user_DllExport bool getKey( + void* data, + eprosima::fastrtps::rtps::InstanceHandle_t* ihandle, + bool force_md5 = false) override; + + eProsima_user_DllExport void* createData() override; + + eProsima_user_DllExport void deleteData( + void* data) override; + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + eProsima_user_DllExport inline bool is_bounded() const override + { + return true; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED + + #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + eProsima_user_DllExport inline bool is_plain() const override + { + return false; + } + + eProsima_user_DllExport inline bool is_plain( + eprosima::fastdds::dds::DataRepresentationId_t data_representation) const override + { + static_cast(data_representation); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN + + #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + eProsima_user_DllExport inline bool construct_sample( + void* memory) const override + { + static_cast(memory); + return false; + } + + #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE + + MD5 m_md5; + unsigned char* m_keyBuffer; + + }; + } + } + } +} + +#endif // _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_PUBSUBTYPES_H_ + diff --git a/test/blackbox/types/core/core_typesv1.cxx b/test/blackbox/types/core/core_typesv1.cxx new file mode 100644 index 00000000000..ec22fb0e2fc --- /dev/null +++ b/test/blackbox/types/core/core_typesv1.cxx @@ -0,0 +1,4831 @@ +// 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 (version: 3.3.1). + */ + +#ifdef _WIN32 +// Remove linker warning LNK4221 on Visual Studio +namespace { +char dummy; +} // namespace +#endif // _WIN32 + +#include "core_types.h" + +#if FASTCDR_VERSION_MAJOR == 1 + +#include + + +#include +using namespace eprosima::fastcdr::exception; + +#include + +namespace helper { namespace internal { + +enum class Size { + UInt8, + UInt16, + UInt32, + UInt64, +}; + +constexpr Size get_size(int s) { + return (s <= 8 ) ? Size::UInt8: + (s <= 16) ? Size::UInt16: + (s <= 32) ? Size::UInt32: Size::UInt64; +} + +template +struct FindTypeH; + +template<> +struct FindTypeH { + using type = std::uint8_t; +}; + +template<> +struct FindTypeH { + using type = std::uint16_t; +}; + +template<> +struct FindTypeH { + using type = std::uint32_t; +}; + +template<> +struct FindTypeH { + using type = std::uint64_t; +}; +} + +template +struct FindType { + using type = typename internal::FindTypeH::type; +}; +} + +#define eprosima_fastdds_rtps_core_detail_SequenceNumber_t_max_cdr_typesize 12ULL; +#define eprosima_fastdds_rtps_core_InfoTimestampSubmessage_max_cdr_typesize 24ULL; +#define eprosima_fastdds_rtps_core_detail_Count_t_max_cdr_typesize 8ULL; +#define eprosima_fastdds_rtps_core_detail_GuidPrefix_t_max_cdr_typesize 16ULL; +#define eprosima_fastdds_rtps_core_detail_StatusInfo_t_max_cdr_typesize 8ULL; +#define eprosima_fastdds_rtps_core_detail_ProtocolVersion_t_max_cdr_typesize 6ULL; +#define eprosima_fastdds_rtps_core_detail_GUID_t_max_cdr_typesize 28ULL; +#define eprosima_fastdds_rtps_core_detail_Time_t_max_cdr_typesize 12ULL; +#define eprosima_fastdds_rtps_core_AckNackSubmessage_max_cdr_typesize 64ULL; +#define eprosima_fastdds_rtps_core_InfoDestinationSubmessage_max_cdr_typesize 28ULL; +#define eprosima_fastdds_rtps_core_detail_EntityId_t_max_cdr_typesize 8ULL; + +#define eprosima_fastdds_rtps_core_Header_max_cdr_typesize 40ULL; +#define eprosima_fastdds_rtps_core_detail_EntityName_t_max_cdr_typesize 264ULL; +#define eprosima_fastdds_rtps_core_detail_Duration_t_max_cdr_typesize 12ULL; +#define eprosima_fastdds_rtps_core_SubmessageHeader_max_cdr_typesize 8ULL; + +#define eprosima_fastdds_rtps_core_detail_SequenceNumberSet_max_cdr_typesize 28ULL; + +#define eprosima_fastdds_rtps_core_detail_KeyHash_t_max_cdr_typesize 20ULL; +#define eprosima_fastdds_rtps_core_detail_VendorId_t_max_cdr_typesize 6ULL; +#define eprosima_fastdds_rtps_core_detail_Locator_t_max_cdr_typesize 28ULL; +#define eprosima_fastdds_rtps_core_HeartBeatSubmessage_max_cdr_typesize 60ULL; +#define eprosima_fastdds_rtps_core_InfoSourceSubmessage_max_cdr_typesize 48ULL; + + +namespace eprosima { + +namespace fastdds { + +namespace rtps { + +namespace core { + +namespace detail { + + + +EntityId_t::EntityId_t() +{ + // octet m_value + memset(&m_value, 0, ((4)) * 1); + +} + +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); +} + +size_t EntityId_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_EntityId_t_max_cdr_typesize; +} + +size_t EntityId_t::getCdrSerializedSize( + const EntityId_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += (((4)) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + + return current_alignment - initial_alignment; +} + + +void EntityId_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_value; + + +} + +void EntityId_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_value; + + +} + + +bool EntityId_t::isKeyDefined() +{ + return false; +} + +void EntityId_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // octet m_major + m_major = 0; + // octet m_minor + m_minor = 0; + +} + +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); +} + +size_t ProtocolVersion_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_ProtocolVersion_t_max_cdr_typesize; +} + +size_t ProtocolVersion_t::getCdrSerializedSize( + const ProtocolVersion_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + return current_alignment - initial_alignment; +} + + +void ProtocolVersion_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_major; + + scdr << m_minor; + +} + +void ProtocolVersion_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_major; + + + + dcdr >> m_minor; + + +} + + +bool ProtocolVersion_t::isKeyDefined() +{ + return false; +} + +void ProtocolVersion_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // octet m_vendorId + memset(&m_vendorId, 0, ((2)) * 1); + +} + +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); +} + +size_t VendorId_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_VendorId_t_max_cdr_typesize; +} + +size_t VendorId_t::getCdrSerializedSize( + const VendorId_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += (((2)) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + + return current_alignment - initial_alignment; +} + + +void VendorId_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_vendorId; + + +} + +void VendorId_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_vendorId; + + +} + + +bool VendorId_t::isKeyDefined() +{ + return false; +} + +void VendorId_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // octet m_value + memset(&m_value, 0, ((12)) * 1); + +} + +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); +} + +size_t GuidPrefix_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_GuidPrefix_t_max_cdr_typesize; +} + +size_t GuidPrefix_t::getCdrSerializedSize( + const GuidPrefix_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += (((12)) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + + return current_alignment - initial_alignment; +} + + +void GuidPrefix_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_value; + + +} + +void GuidPrefix_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_value; + + +} + + +bool GuidPrefix_t::isKeyDefined() +{ + return false; +} + +void GuidPrefix_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // eprosima::fastdds::rtps::core::detail::GuidPrefix_t m_guidPrefix + + // eprosima::fastdds::rtps::core::detail::EntityId_t m_entityId + + +} + +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); +} + +size_t GUID_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_GUID_t_max_cdr_typesize; +} + +size_t GUID_t::getCdrSerializedSize( + const GUID_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += eprosima::fastdds::rtps::core::detail::GuidPrefix_t::getCdrSerializedSize(data.guidPrefix(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::EntityId_t::getCdrSerializedSize(data.entityId(), current_alignment); + + + return current_alignment - initial_alignment; +} + + +void GUID_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_guidPrefix; + + scdr << m_entityId; + +} + +void GUID_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_guidPrefix; + + + + dcdr >> m_entityId; + + +} + + +bool GUID_t::isKeyDefined() +{ + return false; +} + +void GUID_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // long m_high + m_high = 0; + // unsigned long m_low + m_low = 0; + +} + +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); +} + +size_t SequenceNumber_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_SequenceNumber_t_max_cdr_typesize; +} + +size_t SequenceNumber_t::getCdrSerializedSize( + const SequenceNumber_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + return current_alignment - initial_alignment; +} + + +void SequenceNumber_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_high; + + scdr << m_low; + +} + +void SequenceNumber_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_high; + + + + dcdr >> m_low; + + +} + + +bool SequenceNumber_t::isKeyDefined() +{ + return false; +} + +void SequenceNumber_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // long m_value + m_value = 0; + +} + +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); +} + +size_t Count_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_Count_t_max_cdr_typesize; +} + +size_t Count_t::getCdrSerializedSize( + const Count_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + return current_alignment - initial_alignment; +} + + +void Count_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_value; + +} + +void Count_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_value; + + +} + + +bool Count_t::isKeyDefined() +{ + return false; +} + +void Count_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // unsigned long m_seconds + m_seconds = 0; + // unsigned long m_fraction + m_fraction = 0; + +} + +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); +} + +size_t Time_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_Time_t_max_cdr_typesize; +} + +size_t Time_t::getCdrSerializedSize( + const Time_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + return current_alignment - initial_alignment; +} + + +void Time_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_seconds; + + scdr << m_fraction; + +} + +void Time_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_seconds; + + + + dcdr >> m_fraction; + + +} + + +bool Time_t::isKeyDefined() +{ + return false; +} + +void Time_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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; +} + + + + + + +SequenceNumberSet::SequenceNumberSet() +{ + // eprosima::fastdds::rtps::core::detail::SequenceNumber_t m_bitmapBase + + // unsigned long m_numBits + m_numBits = 0; + // octet m_bitmap + memset(&m_bitmap, 0, ((8)) * 1); + +} + +SequenceNumberSet::~SequenceNumberSet() +{ +} + +SequenceNumberSet::SequenceNumberSet( + const SequenceNumberSet& x) +{ + m_bitmapBase = x.m_bitmapBase; + + + m_numBits = x.m_numBits; + + + m_bitmap = x.m_bitmap; + +} + +SequenceNumberSet::SequenceNumberSet( + SequenceNumberSet&& x) noexcept +{ + m_bitmapBase = std::move(x.m_bitmapBase); + + + m_numBits = x.m_numBits; + + + m_bitmap = std::move(x.m_bitmap); + +} + +SequenceNumberSet& SequenceNumberSet::operator =( + const SequenceNumberSet& x) +{ + m_bitmapBase = x.m_bitmapBase; + + + m_numBits = x.m_numBits; + + + m_bitmap = x.m_bitmap; + + return *this; +} + +SequenceNumberSet& SequenceNumberSet::operator =( + SequenceNumberSet&& x) noexcept +{ + m_bitmapBase = std::move(x.m_bitmapBase); + + + m_numBits = x.m_numBits; + + + m_bitmap = std::move(x.m_bitmap); + + return *this; +} + +bool SequenceNumberSet::operator ==( + const SequenceNumberSet& x) const +{ + return (m_bitmapBase == x.m_bitmapBase && + m_numBits == x.m_numBits && + m_bitmap == x.m_bitmap); +} + +bool SequenceNumberSet::operator !=( + const SequenceNumberSet& x) const +{ + return !(*this == x); +} + +size_t SequenceNumberSet::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_SequenceNumberSet_max_cdr_typesize; +} + +size_t SequenceNumberSet::getCdrSerializedSize( + const SequenceNumberSet& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += eprosima::fastdds::rtps::core::detail::SequenceNumber_t::getCdrSerializedSize(data.bitmapBase(), current_alignment); + + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + current_alignment += (((8)) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + + return current_alignment - initial_alignment; +} + + +void SequenceNumberSet::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_bitmapBase; + + scdr << m_numBits; + + scdr << m_bitmap; + + +} + +void SequenceNumberSet::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_bitmapBase; + + + + dcdr >> m_numBits; + + + + dcdr >> m_bitmap; + + +} + + +bool SequenceNumberSet::isKeyDefined() +{ + return false; +} + +void SequenceNumberSet::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @brief This function copies the value in member bitmapBase + * @param _bitmapBase New value to be copied in member bitmapBase + */ +void SequenceNumberSet::bitmapBase( + const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& _bitmapBase) +{ + m_bitmapBase = _bitmapBase; +} + +/*! + * @brief This function moves the value in member bitmapBase + * @param _bitmapBase New value to be moved in member bitmapBase + */ +void SequenceNumberSet::bitmapBase( + eprosima::fastdds::rtps::core::detail::SequenceNumber_t&& _bitmapBase) +{ + m_bitmapBase = std::move(_bitmapBase); +} + +/*! + * @brief This function returns a constant reference to member bitmapBase + * @return Constant reference to member bitmapBase + */ +const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& SequenceNumberSet::bitmapBase() const +{ + return m_bitmapBase; +} + +/*! + * @brief This function returns a reference to member bitmapBase + * @return Reference to member bitmapBase + */ +eprosima::fastdds::rtps::core::detail::SequenceNumber_t& SequenceNumberSet::bitmapBase() +{ + return m_bitmapBase; +} + + +/*! + * @brief This function sets a value in member numBits + * @param _numBits New value for member numBits + */ +void SequenceNumberSet::numBits( + uint32_t _numBits) +{ + m_numBits = _numBits; +} + +/*! + * @brief This function returns the value of member numBits + * @return Value of member numBits + */ +uint32_t SequenceNumberSet::numBits() const +{ + return m_numBits; +} + +/*! + * @brief This function returns a reference to member numBits + * @return Reference to member numBits + */ +uint32_t& SequenceNumberSet::numBits() +{ + return m_numBits; +} + + +/*! + * @brief This function copies the value in member bitmap + * @param _bitmap New value to be copied in member bitmap + */ +void SequenceNumberSet::bitmap( + const std::array& _bitmap) +{ + m_bitmap = _bitmap; +} + +/*! + * @brief This function moves the value in member bitmap + * @param _bitmap New value to be moved in member bitmap + */ +void SequenceNumberSet::bitmap( + std::array&& _bitmap) +{ + m_bitmap = std::move(_bitmap); +} + +/*! + * @brief This function returns a constant reference to member bitmap + * @return Constant reference to member bitmap + */ +const std::array& SequenceNumberSet::bitmap() const +{ + return m_bitmap; +} + +/*! + * @brief This function returns a reference to member bitmap + * @return Reference to member bitmap + */ +std::array& SequenceNumberSet::bitmap() +{ + return m_bitmap; +} + + + + + +Locator_t::Locator_t() +{ + // long m_kind + m_kind = 0; + // unsigned long m_port + m_port = 0; + // octet m_address + memset(&m_address, 0, ((16)) * 1); + +} + +Locator_t::~Locator_t() +{ +} + +Locator_t::Locator_t( + const Locator_t& x) +{ + m_kind = x.m_kind; + + + m_port = x.m_port; + + + m_address = x.m_address; + +} + +Locator_t::Locator_t( + Locator_t&& x) noexcept +{ + m_kind = x.m_kind; + + + m_port = x.m_port; + + + m_address = std::move(x.m_address); + +} + +Locator_t& Locator_t::operator =( + const Locator_t& x) +{ + m_kind = x.m_kind; + + + m_port = x.m_port; + + + m_address = x.m_address; + + return *this; +} + +Locator_t& Locator_t::operator =( + Locator_t&& x) noexcept +{ + m_kind = x.m_kind; + + + m_port = x.m_port; + + + m_address = std::move(x.m_address); + + return *this; +} + +bool Locator_t::operator ==( + const Locator_t& x) const +{ + return (m_kind == x.m_kind && + m_port == x.m_port && + m_address == x.m_address); +} + +bool Locator_t::operator !=( + const Locator_t& x) const +{ + return !(*this == x); +} + +size_t Locator_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_Locator_t_max_cdr_typesize; +} + +size_t Locator_t::getCdrSerializedSize( + const Locator_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + current_alignment += (((16)) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + + return current_alignment - initial_alignment; +} + + +void Locator_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_kind; + + scdr << m_port; + + scdr << m_address; + + +} + +void Locator_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_kind; + + + + dcdr >> m_port; + + + + dcdr >> m_address; + + +} + + +bool Locator_t::isKeyDefined() +{ + return false; +} + +void Locator_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @brief This function sets a value in member kind + * @param _kind New value for member kind + */ +void Locator_t::kind( + int32_t _kind) +{ + m_kind = _kind; +} + +/*! + * @brief This function returns the value of member kind + * @return Value of member kind + */ +int32_t Locator_t::kind() const +{ + return m_kind; +} + +/*! + * @brief This function returns a reference to member kind + * @return Reference to member kind + */ +int32_t& Locator_t::kind() +{ + return m_kind; +} + + +/*! + * @brief This function sets a value in member port + * @param _port New value for member port + */ +void Locator_t::port( + uint32_t _port) +{ + m_port = _port; +} + +/*! + * @brief This function returns the value of member port + * @return Value of member port + */ +uint32_t Locator_t::port() const +{ + return m_port; +} + +/*! + * @brief This function returns a reference to member port + * @return Reference to member port + */ +uint32_t& Locator_t::port() +{ + return m_port; +} + + +/*! + * @brief This function copies the value in member address + * @param _address New value to be copied in member address + */ +void Locator_t::address( + const std::array& _address) +{ + m_address = _address; +} + +/*! + * @brief This function moves the value in member address + * @param _address New value to be moved in member address + */ +void Locator_t::address( + std::array&& _address) +{ + m_address = std::move(_address); +} + +/*! + * @brief This function returns a constant reference to member address + * @return Constant reference to member address + */ +const std::array& Locator_t::address() const +{ + return m_address; +} + +/*! + * @brief This function returns a reference to member address + * @return Reference to member address + */ +std::array& Locator_t::address() +{ + return m_address; +} + + + + + +Duration_t::Duration_t() +{ + // long m_seconds + m_seconds = 0; + // unsigned long m_fraction + m_fraction = 0; + +} + +Duration_t::~Duration_t() +{ +} + +Duration_t::Duration_t( + const Duration_t& x) +{ + m_seconds = x.m_seconds; + + + m_fraction = x.m_fraction; + +} + +Duration_t::Duration_t( + Duration_t&& x) noexcept +{ + m_seconds = x.m_seconds; + + + m_fraction = x.m_fraction; + +} + +Duration_t& Duration_t::operator =( + const Duration_t& x) +{ + m_seconds = x.m_seconds; + + + m_fraction = x.m_fraction; + + return *this; +} + +Duration_t& Duration_t::operator =( + Duration_t&& x) noexcept +{ + m_seconds = x.m_seconds; + + + m_fraction = x.m_fraction; + + return *this; +} + +bool Duration_t::operator ==( + const Duration_t& x) const +{ + return (m_seconds == x.m_seconds && + m_fraction == x.m_fraction); +} + +bool Duration_t::operator !=( + const Duration_t& x) const +{ + return !(*this == x); +} + +size_t Duration_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_Duration_t_max_cdr_typesize; +} + +size_t Duration_t::getCdrSerializedSize( + const Duration_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + return current_alignment - initial_alignment; +} + + +void Duration_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_seconds; + + scdr << m_fraction; + +} + +void Duration_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_seconds; + + + + dcdr >> m_fraction; + + +} + + +bool Duration_t::isKeyDefined() +{ + return false; +} + +void Duration_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @brief This function sets a value in member seconds + * @param _seconds New value for member seconds + */ +void Duration_t::seconds( + int32_t _seconds) +{ + m_seconds = _seconds; +} + +/*! + * @brief This function returns the value of member seconds + * @return Value of member seconds + */ +int32_t Duration_t::seconds() const +{ + return m_seconds; +} + +/*! + * @brief This function returns a reference to member seconds + * @return Reference to member seconds + */ +int32_t& Duration_t::seconds() +{ + return m_seconds; +} + + +/*! + * @brief This function sets a value in member fraction + * @param _fraction New value for member fraction + */ +void Duration_t::fraction( + uint32_t _fraction) +{ + m_fraction = _fraction; +} + +/*! + * @brief This function returns the value of member fraction + * @return Value of member fraction + */ +uint32_t Duration_t::fraction() const +{ + return m_fraction; +} + +/*! + * @brief This function returns a reference to member fraction + * @return Reference to member fraction + */ +uint32_t& Duration_t::fraction() +{ + return m_fraction; +} + + + + + + + +StatusInfo_t::StatusInfo_t() +{ + // octet m_value + memset(&m_value, 0, ((4)) * 1); + +} + +StatusInfo_t::~StatusInfo_t() +{ +} + +StatusInfo_t::StatusInfo_t( + const StatusInfo_t& x) +{ + m_value = x.m_value; + +} + +StatusInfo_t::StatusInfo_t( + StatusInfo_t&& x) noexcept +{ + m_value = std::move(x.m_value); + +} + +StatusInfo_t& StatusInfo_t::operator =( + const StatusInfo_t& x) +{ + m_value = x.m_value; + + return *this; +} + +StatusInfo_t& StatusInfo_t::operator =( + StatusInfo_t&& x) noexcept +{ + m_value = std::move(x.m_value); + + return *this; +} + +bool StatusInfo_t::operator ==( + const StatusInfo_t& x) const +{ + return (m_value == x.m_value); +} + +bool StatusInfo_t::operator !=( + const StatusInfo_t& x) const +{ + return !(*this == x); +} + +size_t StatusInfo_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_StatusInfo_t_max_cdr_typesize; +} + +size_t StatusInfo_t::getCdrSerializedSize( + const StatusInfo_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += (((4)) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + + return current_alignment - initial_alignment; +} + + +void StatusInfo_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_value; + + +} + +void StatusInfo_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_value; + + +} + + +bool StatusInfo_t::isKeyDefined() +{ + return false; +} + +void StatusInfo_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @brief This function copies the value in member value + * @param _value New value to be copied in member value + */ +void StatusInfo_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 StatusInfo_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& StatusInfo_t::value() const +{ + return m_value; +} + +/*! + * @brief This function returns a reference to member value + * @return Reference to member value + */ +std::array& StatusInfo_t::value() +{ + return m_value; +} + + + + + +KeyHash_t::KeyHash_t() +{ + // octet m_value + memset(&m_value, 0, ((16)) * 1); + +} + +KeyHash_t::~KeyHash_t() +{ +} + +KeyHash_t::KeyHash_t( + const KeyHash_t& x) +{ + m_value = x.m_value; + +} + +KeyHash_t::KeyHash_t( + KeyHash_t&& x) noexcept +{ + m_value = std::move(x.m_value); + +} + +KeyHash_t& KeyHash_t::operator =( + const KeyHash_t& x) +{ + m_value = x.m_value; + + return *this; +} + +KeyHash_t& KeyHash_t::operator =( + KeyHash_t&& x) noexcept +{ + m_value = std::move(x.m_value); + + return *this; +} + +bool KeyHash_t::operator ==( + const KeyHash_t& x) const +{ + return (m_value == x.m_value); +} + +bool KeyHash_t::operator !=( + const KeyHash_t& x) const +{ + return !(*this == x); +} + +size_t KeyHash_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_KeyHash_t_max_cdr_typesize; +} + +size_t KeyHash_t::getCdrSerializedSize( + const KeyHash_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += (((16)) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + + return current_alignment - initial_alignment; +} + + +void KeyHash_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_value; + + +} + +void KeyHash_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_value; + + +} + + +bool KeyHash_t::isKeyDefined() +{ + return false; +} + +void KeyHash_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @brief This function copies the value in member value + * @param _value New value to be copied in member value + */ +void KeyHash_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 KeyHash_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& KeyHash_t::value() const +{ + return m_value; +} + +/*! + * @brief This function returns a reference to member value + * @return Reference to member value + */ +std::array& KeyHash_t::value() +{ + return m_value; +} + + + + + +EntityName_t::EntityName_t() +{ + // /type_d() m_name + + +} + +EntityName_t::~EntityName_t() +{ +} + +EntityName_t::EntityName_t( + const EntityName_t& x) +{ + m_name = x.m_name; + +} + +EntityName_t::EntityName_t( + EntityName_t&& x) noexcept +{ + m_name = std::move(x.m_name); + +} + +EntityName_t& EntityName_t::operator =( + const EntityName_t& x) +{ + m_name = x.m_name; + + return *this; +} + +EntityName_t& EntityName_t::operator =( + EntityName_t&& x) noexcept +{ + m_name = std::move(x.m_name); + + return *this; +} + +bool EntityName_t::operator ==( + const EntityName_t& x) const +{ + return (m_name == x.m_name); +} + +bool EntityName_t::operator !=( + const EntityName_t& x) const +{ + return !(*this == x); +} + +size_t EntityName_t::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_detail_EntityName_t_max_cdr_typesize; +} + +size_t EntityName_t::getCdrSerializedSize( + const EntityName_t& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4) + data.name().size() + 1; + + + return current_alignment - initial_alignment; +} + + +void EntityName_t::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_name.c_str(); + +} + +void EntityName_t::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_name; + + +} + + +bool EntityName_t::isKeyDefined() +{ + return false; +} + +void EntityName_t::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @brief This function copies the value in member name + * @param _name New value to be copied in member name + */ +void EntityName_t::name( + const std::string& _name) +{ + m_name = _name; +} + +/*! + * @brief This function moves the value in member name + * @param _name New value to be moved in member name + */ +void EntityName_t::name( + std::string&& _name) +{ + m_name = std::move(_name); +} + +/*! + * @brief This function returns a constant reference to member name + * @return Constant reference to member name + */ +const std::string& EntityName_t::name() const +{ + return m_name; +} + +/*! + * @brief This function returns a reference to member name + * @return Reference to member name + */ +std::string& EntityName_t::name() +{ + return m_name; +} + + + + + +} // namespace detail + + +Header::Header() +{ + // octet m_prefix + memset(&m_prefix, 0, ((4)) * 1); + // 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 + + +} + +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); +} + +size_t Header::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_Header_max_cdr_typesize; +} + +size_t Header::getCdrSerializedSize( + const Header& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += (((4)) * 1) + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + + current_alignment += eprosima::fastdds::rtps::core::detail::ProtocolVersion_t::getCdrSerializedSize(data.version(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::VendorId_t::getCdrSerializedSize(data.vendorId(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::GuidPrefix_t::getCdrSerializedSize(data.guidPrefix(), current_alignment); + + + return current_alignment - initial_alignment; +} + + +void Header::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_prefix; + + + scdr << m_version; + + scdr << m_vendorId; + + scdr << m_guidPrefix; + +} + +void Header::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_prefix; + + + + dcdr >> m_version; + + + + dcdr >> m_vendorId; + + + + dcdr >> m_guidPrefix; + + +} + + +bool Header::isKeyDefined() +{ + return false; +} + +void Header::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // octet m_submessageId + m_submessageId = 0; + // octet m_flags + m_flags = 0; + // unsigned short m_submessageLength + m_submessageLength = 0; + +} + +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); +} + +size_t SubmessageHeader::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_SubmessageHeader_max_cdr_typesize; +} + +size_t SubmessageHeader::getCdrSerializedSize( + const SubmessageHeader& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + current_alignment += 1 + eprosima::fastcdr::Cdr::alignment(current_alignment, 1); + + + current_alignment += 2 + eprosima::fastcdr::Cdr::alignment(current_alignment, 2); + + + return current_alignment - initial_alignment; +} + + +void SubmessageHeader::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_submessageId; + + scdr << m_flags; + + scdr << m_submessageLength; + +} + +void SubmessageHeader::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_submessageId; + + + + dcdr >> m_flags; + + + + dcdr >> m_submessageLength; + + +} + + +bool SubmessageHeader::isKeyDefined() +{ + return false; +} + +void SubmessageHeader::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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; +} + + + +namespace SubmessageKind { + + +} // namespace SubmessageKind + + +AckNackSubmessage::AckNackSubmessage() +{ + // 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::SequenceNumberSet m_readerSNState + + // eprosima::fastdds::rtps::core::detail::Count_t m_count + + +} + +AckNackSubmessage::~AckNackSubmessage() +{ +} + +AckNackSubmessage::AckNackSubmessage( + const AckNackSubmessage& x) +{ + m_submsgHeader = x.m_submsgHeader; + + + m_readerId = x.m_readerId; + + + m_writerId = x.m_writerId; + + + m_readerSNState = x.m_readerSNState; + + + m_count = x.m_count; + +} + +AckNackSubmessage::AckNackSubmessage( + AckNackSubmessage&& x) noexcept +{ + m_submsgHeader = std::move(x.m_submsgHeader); + + + m_readerId = std::move(x.m_readerId); + + + m_writerId = std::move(x.m_writerId); + + + m_readerSNState = std::move(x.m_readerSNState); + + + m_count = std::move(x.m_count); + +} + +AckNackSubmessage& AckNackSubmessage::operator =( + const AckNackSubmessage& x) +{ + m_submsgHeader = x.m_submsgHeader; + + + m_readerId = x.m_readerId; + + + m_writerId = x.m_writerId; + + + m_readerSNState = x.m_readerSNState; + + + m_count = x.m_count; + + return *this; +} + +AckNackSubmessage& AckNackSubmessage::operator =( + AckNackSubmessage&& x) noexcept +{ + m_submsgHeader = std::move(x.m_submsgHeader); + + + m_readerId = std::move(x.m_readerId); + + + m_writerId = std::move(x.m_writerId); + + + m_readerSNState = std::move(x.m_readerSNState); + + + m_count = std::move(x.m_count); + + return *this; +} + +bool AckNackSubmessage::operator ==( + const AckNackSubmessage& x) const +{ + return (m_submsgHeader == x.m_submsgHeader && + m_readerId == x.m_readerId && + m_writerId == x.m_writerId && + m_readerSNState == x.m_readerSNState && + m_count == x.m_count); +} + +bool AckNackSubmessage::operator !=( + const AckNackSubmessage& x) const +{ + return !(*this == x); +} + +size_t AckNackSubmessage::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_AckNackSubmessage_max_cdr_typesize; +} + +size_t AckNackSubmessage::getCdrSerializedSize( + const AckNackSubmessage& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += eprosima::fastdds::rtps::core::SubmessageHeader::getCdrSerializedSize(data.submsgHeader(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::EntityId_t::getCdrSerializedSize(data.readerId(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::EntityId_t::getCdrSerializedSize(data.writerId(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::SequenceNumberSet::getCdrSerializedSize(data.readerSNState(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::Count_t::getCdrSerializedSize(data.count(), current_alignment); + + + return current_alignment - initial_alignment; +} + + +void AckNackSubmessage::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_submsgHeader; + + scdr << m_readerId; + + scdr << m_writerId; + + scdr << m_readerSNState; + + scdr << m_count; + +} + +void AckNackSubmessage::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_submsgHeader; + + + + dcdr >> m_readerId; + + + + dcdr >> m_writerId; + + + + dcdr >> m_readerSNState; + + + + dcdr >> m_count; + + +} + + +bool AckNackSubmessage::isKeyDefined() +{ + return false; +} + +void AckNackSubmessage::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @brief This function copies the value in member submsgHeader + * @param _submsgHeader New value to be copied in member submsgHeader + */ +void AckNackSubmessage::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 AckNackSubmessage::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& AckNackSubmessage::submsgHeader() const +{ + return m_submsgHeader; +} + +/*! + * @brief This function returns a reference to member submsgHeader + * @return Reference to member submsgHeader + */ +eprosima::fastdds::rtps::core::SubmessageHeader& AckNackSubmessage::submsgHeader() +{ + return m_submsgHeader; +} + + +/*! + * @brief This function copies the value in member readerId + * @param _readerId New value to be copied in member readerId + */ +void AckNackSubmessage::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 AckNackSubmessage::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& AckNackSubmessage::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& AckNackSubmessage::readerId() +{ + return m_readerId; +} + + +/*! + * @brief This function copies the value in member writerId + * @param _writerId New value to be copied in member writerId + */ +void AckNackSubmessage::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 AckNackSubmessage::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& AckNackSubmessage::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& AckNackSubmessage::writerId() +{ + return m_writerId; +} + + +/*! + * @brief This function copies the value in member readerSNState + * @param _readerSNState New value to be copied in member readerSNState + */ +void AckNackSubmessage::readerSNState( + const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& _readerSNState) +{ + m_readerSNState = _readerSNState; +} + +/*! + * @brief This function moves the value in member readerSNState + * @param _readerSNState New value to be moved in member readerSNState + */ +void AckNackSubmessage::readerSNState( + eprosima::fastdds::rtps::core::detail::SequenceNumberSet&& _readerSNState) +{ + m_readerSNState = std::move(_readerSNState); +} + +/*! + * @brief This function returns a constant reference to member readerSNState + * @return Constant reference to member readerSNState + */ +const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& AckNackSubmessage::readerSNState() const +{ + return m_readerSNState; +} + +/*! + * @brief This function returns a reference to member readerSNState + * @return Reference to member readerSNState + */ +eprosima::fastdds::rtps::core::detail::SequenceNumberSet& AckNackSubmessage::readerSNState() +{ + return m_readerSNState; +} + + +/*! + * @brief This function copies the value in member count + * @param _count New value to be copied in member count + */ +void AckNackSubmessage::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 AckNackSubmessage::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& AckNackSubmessage::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& AckNackSubmessage::count() +{ + return m_count; +} + + + + + +HeartBeatSubmessage::HeartBeatSubmessage() +{ + // 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 + + +} + +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); +} + +size_t HeartBeatSubmessage::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_HeartBeatSubmessage_max_cdr_typesize; +} + +size_t HeartBeatSubmessage::getCdrSerializedSize( + const HeartBeatSubmessage& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += eprosima::fastdds::rtps::core::SubmessageHeader::getCdrSerializedSize(data.submsgHeader(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::EntityId_t::getCdrSerializedSize(data.readerId(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::EntityId_t::getCdrSerializedSize(data.writerId(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::SequenceNumber_t::getCdrSerializedSize(data.firstSN(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::SequenceNumber_t::getCdrSerializedSize(data.lastSN(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::Count_t::getCdrSerializedSize(data.count(), current_alignment); + + + return current_alignment - initial_alignment; +} + + +void HeartBeatSubmessage::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_submsgHeader; + + scdr << m_readerId; + + scdr << m_writerId; + + scdr << m_firstSN; + + scdr << m_lastSN; + + scdr << m_count; + +} + +void HeartBeatSubmessage::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_submsgHeader; + + + + dcdr >> m_readerId; + + + + dcdr >> m_writerId; + + + + dcdr >> m_firstSN; + + + + dcdr >> m_lastSN; + + + + dcdr >> m_count; + + +} + + +bool HeartBeatSubmessage::isKeyDefined() +{ + return false; +} + +void HeartBeatSubmessage::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // eprosima::fastdds::rtps::core::SubmessageHeader m_submsgHeader + + // eprosima::fastdds::rtps::core::detail::GuidPrefix_t m_guidPrefix + + +} + +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); +} + +size_t InfoDestinationSubmessage::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_InfoDestinationSubmessage_max_cdr_typesize; +} + +size_t InfoDestinationSubmessage::getCdrSerializedSize( + const InfoDestinationSubmessage& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += eprosima::fastdds::rtps::core::SubmessageHeader::getCdrSerializedSize(data.submsgHeader(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::GuidPrefix_t::getCdrSerializedSize(data.guidPrefix(), current_alignment); + + + return current_alignment - initial_alignment; +} + + +void InfoDestinationSubmessage::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_submsgHeader; + + scdr << m_guidPrefix; + +} + +void InfoDestinationSubmessage::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_submsgHeader; + + + + dcdr >> m_guidPrefix; + + +} + + +bool InfoDestinationSubmessage::isKeyDefined() +{ + return false; +} + +void InfoDestinationSubmessage::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // eprosima::fastdds::rtps::core::SubmessageHeader m_submsgHeader + + // long m_unused + 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 + + +} + +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); +} + +size_t InfoSourceSubmessage::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_InfoSourceSubmessage_max_cdr_typesize; +} + +size_t InfoSourceSubmessage::getCdrSerializedSize( + const InfoSourceSubmessage& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += eprosima::fastdds::rtps::core::SubmessageHeader::getCdrSerializedSize(data.submsgHeader(), current_alignment); + + + current_alignment += 4 + eprosima::fastcdr::Cdr::alignment(current_alignment, 4); + + + current_alignment += eprosima::fastdds::rtps::core::detail::ProtocolVersion_t::getCdrSerializedSize(data.version(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::VendorId_t::getCdrSerializedSize(data.vendorId(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::GuidPrefix_t::getCdrSerializedSize(data.guidPrefix(), current_alignment); + + + return current_alignment - initial_alignment; +} + + +void InfoSourceSubmessage::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_submsgHeader; + + scdr << m_unused; + + scdr << m_version; + + scdr << m_vendorId; + + scdr << m_guidPrefix; + +} + +void InfoSourceSubmessage::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_submsgHeader; + + + + dcdr >> m_unused; + + + + dcdr >> m_version; + + + + dcdr >> m_vendorId; + + + + dcdr >> m_guidPrefix; + + +} + + +bool InfoSourceSubmessage::isKeyDefined() +{ + return false; +} + +void InfoSourceSubmessage::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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() +{ + // eprosima::fastdds::rtps::core::SubmessageHeader m_submsgHeader + + // eprosima::fastdds::rtps::core::detail::Timestamp m_timestamp + + +} + +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); +} + +size_t InfoTimestampSubmessage::getMaxCdrSerializedSize( + size_t current_alignment) +{ + static_cast(current_alignment); + return eprosima_fastdds_rtps_core_InfoTimestampSubmessage_max_cdr_typesize; +} + +size_t InfoTimestampSubmessage::getCdrSerializedSize( + const InfoTimestampSubmessage& data, + size_t current_alignment) +{ + (void)data; + size_t initial_alignment = current_alignment; + + current_alignment += eprosima::fastdds::rtps::core::SubmessageHeader::getCdrSerializedSize(data.submsgHeader(), current_alignment); + + + current_alignment += eprosima::fastdds::rtps::core::detail::Timestamp::getCdrSerializedSize(data.timestamp(), current_alignment); + + + return current_alignment - initial_alignment; +} + + +void InfoTimestampSubmessage::serialize( + eprosima::fastcdr::Cdr& scdr) const +{ + scdr << m_submsgHeader; + + scdr << m_timestamp; + +} + +void InfoTimestampSubmessage::deserialize( + eprosima::fastcdr::Cdr& dcdr) +{ + dcdr >> m_submsgHeader; + + + + dcdr >> m_timestamp; + + +} + + +bool InfoTimestampSubmessage::isKeyDefined() +{ + return false; +} + +void InfoTimestampSubmessage::serializeKey( + eprosima::fastcdr::Cdr& scdr) const +{ + (void) scdr; +} + +/*! + * @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; +} + + + + + +} // namespace core + + +} // namespace rtps + + +} // namespace fastdds + + +} // namespace eprosima + +#endif // FASTCDR_VERSION_MAJOR == 1 diff --git a/test/blackbox/types/core/core_typesv1.h b/test/blackbox/types/core/core_typesv1.h new file mode 100644 index 00000000000..d474a57e859 --- /dev/null +++ b/test/blackbox/types/core/core_typesv1.h @@ -0,0 +1,3889 @@ +// 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 (version: 3.3.1). + */ + +#include + +#if FASTCDR_VERSION_MAJOR == 1 + +#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 + +#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; +} // 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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::EntityId_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + std::array m_value; + + }; + + + + /*! + * @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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::ProtocolVersion_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + uint8_t m_major; + uint8_t m_minor; + + }; + + + + /*! + * @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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::VendorId_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + std::array m_vendorId; + + }; + + + + /*! + * @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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::GuidPrefix_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + std::array m_value; + + }; + + + + /*! + * @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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::GUID_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + 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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + int32_t m_high; + uint32_t m_low; + + }; + + + + /*! + * @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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::Count_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + int32_t m_value; + + }; + + + + /*! + * @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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::Time_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + uint32_t m_seconds; + uint32_t m_fraction; + + }; + + typedef eprosima::fastdds::rtps::core::detail::Time_t Timestamp; + + + + /*! + * @brief This class represents the structure SequenceNumberSet defined by the user in the IDL file. + * @ingroup core_types + */ + class SequenceNumberSet + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport SequenceNumberSet(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~SequenceNumberSet(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumberSet that will be copied. + */ + eProsima_user_DllExport SequenceNumberSet( + const SequenceNumberSet& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumberSet that will be copied. + */ + eProsima_user_DllExport SequenceNumberSet( + SequenceNumberSet&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumberSet that will be copied. + */ + eProsima_user_DllExport SequenceNumberSet& operator =( + const SequenceNumberSet& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::SequenceNumberSet that will be copied. + */ + eProsima_user_DllExport SequenceNumberSet& operator =( + SequenceNumberSet&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::SequenceNumberSet object to compare. + */ + eProsima_user_DllExport bool operator ==( + const SequenceNumberSet& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::SequenceNumberSet object to compare. + */ + eProsima_user_DllExport bool operator !=( + const SequenceNumberSet& x) const; + + /*! + * @brief This function copies the value in member bitmapBase + * @param _bitmapBase New value to be copied in member bitmapBase + */ + eProsima_user_DllExport void bitmapBase( + const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& _bitmapBase); + + /*! + * @brief This function moves the value in member bitmapBase + * @param _bitmapBase New value to be moved in member bitmapBase + */ + eProsima_user_DllExport void bitmapBase( + eprosima::fastdds::rtps::core::detail::SequenceNumber_t&& _bitmapBase); + + /*! + * @brief This function returns a constant reference to member bitmapBase + * @return Constant reference to member bitmapBase + */ + eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::SequenceNumber_t& bitmapBase() const; + + /*! + * @brief This function returns a reference to member bitmapBase + * @return Reference to member bitmapBase + */ + eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::SequenceNumber_t& bitmapBase(); + + + /*! + * @brief This function sets a value in member numBits + * @param _numBits New value for member numBits + */ + eProsima_user_DllExport void numBits( + uint32_t _numBits); + + /*! + * @brief This function returns the value of member numBits + * @return Value of member numBits + */ + eProsima_user_DllExport uint32_t numBits() const; + + /*! + * @brief This function returns a reference to member numBits + * @return Reference to member numBits + */ + eProsima_user_DllExport uint32_t& numBits(); + + + /*! + * @brief This function copies the value in member bitmap + * @param _bitmap New value to be copied in member bitmap + */ + eProsima_user_DllExport void bitmap( + const std::array& _bitmap); + + /*! + * @brief This function moves the value in member bitmap + * @param _bitmap New value to be moved in member bitmap + */ + eProsima_user_DllExport void bitmap( + std::array&& _bitmap); + + /*! + * @brief This function returns a constant reference to member bitmap + * @return Constant reference to member bitmap + */ + eProsima_user_DllExport const std::array& bitmap() const; + + /*! + * @brief This function returns a reference to member bitmap + * @return Reference to member bitmap + */ + eProsima_user_DllExport std::array& bitmap(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + eprosima::fastdds::rtps::core::detail::SequenceNumber_t m_bitmapBase; + uint32_t m_numBits; + std::array m_bitmap; + + }; + + + + /*! + * @brief This class represents the structure Locator_t defined by the user in the IDL file. + * @ingroup core_types + */ + class Locator_t + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport Locator_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~Locator_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Locator_t that will be copied. + */ + eProsima_user_DllExport Locator_t( + const Locator_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Locator_t that will be copied. + */ + eProsima_user_DllExport Locator_t( + Locator_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Locator_t that will be copied. + */ + eProsima_user_DllExport Locator_t& operator =( + const Locator_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Locator_t that will be copied. + */ + eProsima_user_DllExport Locator_t& operator =( + Locator_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::Locator_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const Locator_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::Locator_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const Locator_t& x) const; + + /*! + * @brief This function sets a value in member kind + * @param _kind New value for member kind + */ + eProsima_user_DllExport void kind( + int32_t _kind); + + /*! + * @brief This function returns the value of member kind + * @return Value of member kind + */ + eProsima_user_DllExport int32_t kind() const; + + /*! + * @brief This function returns a reference to member kind + * @return Reference to member kind + */ + eProsima_user_DllExport int32_t& kind(); + + + /*! + * @brief This function sets a value in member port + * @param _port New value for member port + */ + eProsima_user_DllExport void port( + uint32_t _port); + + /*! + * @brief This function returns the value of member port + * @return Value of member port + */ + eProsima_user_DllExport uint32_t port() const; + + /*! + * @brief This function returns a reference to member port + * @return Reference to member port + */ + eProsima_user_DllExport uint32_t& port(); + + + /*! + * @brief This function copies the value in member address + * @param _address New value to be copied in member address + */ + eProsima_user_DllExport void address( + const std::array& _address); + + /*! + * @brief This function moves the value in member address + * @param _address New value to be moved in member address + */ + eProsima_user_DllExport void address( + std::array&& _address); + + /*! + * @brief This function returns a constant reference to member address + * @return Constant reference to member address + */ + eProsima_user_DllExport const std::array& address() const; + + /*! + * @brief This function returns a reference to member address + * @return Reference to member address + */ + eProsima_user_DllExport std::array& address(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::Locator_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + int32_t m_kind; + uint32_t m_port; + std::array m_address; + + }; + + + + /*! + * @brief This class represents the structure Duration_t defined by the user in the IDL file. + * @ingroup core_types + */ + class Duration_t + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport Duration_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~Duration_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Duration_t that will be copied. + */ + eProsima_user_DllExport Duration_t( + const Duration_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Duration_t that will be copied. + */ + eProsima_user_DllExport Duration_t( + Duration_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Duration_t that will be copied. + */ + eProsima_user_DllExport Duration_t& operator =( + const Duration_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::Duration_t that will be copied. + */ + eProsima_user_DllExport Duration_t& operator =( + Duration_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::Duration_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const Duration_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::Duration_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const Duration_t& x) const; + + /*! + * @brief This function sets a value in member seconds + * @param _seconds New value for member seconds + */ + eProsima_user_DllExport void seconds( + int32_t _seconds); + + /*! + * @brief This function returns the value of member seconds + * @return Value of member seconds + */ + eProsima_user_DllExport int32_t seconds() const; + + /*! + * @brief This function returns a reference to member seconds + * @return Reference to member seconds + */ + eProsima_user_DllExport int32_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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::Duration_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + int32_t m_seconds; + uint32_t m_fraction; + + }; + + typedef uint32_t DomainId_t; + + typedef uint32_t BuiltinEndpointQos_t; + + + + /*! + * @brief This class represents the structure StatusInfo_t defined by the user in the IDL file. + * @ingroup core_types + */ + class StatusInfo_t + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport StatusInfo_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~StatusInfo_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::StatusInfo_t that will be copied. + */ + eProsima_user_DllExport StatusInfo_t( + const StatusInfo_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::StatusInfo_t that will be copied. + */ + eProsima_user_DllExport StatusInfo_t( + StatusInfo_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::StatusInfo_t that will be copied. + */ + eProsima_user_DllExport StatusInfo_t& operator =( + const StatusInfo_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::StatusInfo_t that will be copied. + */ + eProsima_user_DllExport StatusInfo_t& operator =( + StatusInfo_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::StatusInfo_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const StatusInfo_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::StatusInfo_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const StatusInfo_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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::StatusInfo_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + std::array m_value; + + }; + + + + /*! + * @brief This class represents the structure KeyHash_t defined by the user in the IDL file. + * @ingroup core_types + */ + class KeyHash_t + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport KeyHash_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~KeyHash_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::KeyHash_t that will be copied. + */ + eProsima_user_DllExport KeyHash_t( + const KeyHash_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::KeyHash_t that will be copied. + */ + eProsima_user_DllExport KeyHash_t( + KeyHash_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::KeyHash_t that will be copied. + */ + eProsima_user_DllExport KeyHash_t& operator =( + const KeyHash_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::KeyHash_t that will be copied. + */ + eProsima_user_DllExport KeyHash_t& operator =( + KeyHash_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::KeyHash_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const KeyHash_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::KeyHash_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const KeyHash_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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::KeyHash_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + std::array m_value; + + }; + + + + /*! + * @brief This class represents the structure EntityName_t defined by the user in the IDL file. + * @ingroup core_types + */ + class EntityName_t + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport EntityName_t(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~EntityName_t(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityName_t that will be copied. + */ + eProsima_user_DllExport EntityName_t( + const EntityName_t& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityName_t that will be copied. + */ + eProsima_user_DllExport EntityName_t( + EntityName_t&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityName_t that will be copied. + */ + eProsima_user_DllExport EntityName_t& operator =( + const EntityName_t& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::detail::EntityName_t that will be copied. + */ + eProsima_user_DllExport EntityName_t& operator =( + EntityName_t&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::EntityName_t object to compare. + */ + eProsima_user_DllExport bool operator ==( + const EntityName_t& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::detail::EntityName_t object to compare. + */ + eProsima_user_DllExport bool operator !=( + const EntityName_t& x) const; + + /*! + * @brief This function copies the value in member name + * @param _name New value to be copied in member name + */ + eProsima_user_DllExport void name( + const std::string& _name); + + /*! + * @brief This function moves the value in member name + * @param _name New value to be moved in member name + */ + eProsima_user_DllExport void name( + std::string&& _name); + + /*! + * @brief This function returns a constant reference to member name + * @return Constant reference to member name + */ + eProsima_user_DllExport const std::string& name() const; + + /*! + * @brief This function returns a reference to member name + * @return Reference to member name + */ + eProsima_user_DllExport std::string& name(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::detail::EntityName_t& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + std::string m_name; + + }; + + } // 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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::Header& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + std::array m_prefix; + 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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::SubmessageHeader& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + uint8_t m_submessageId; + uint8_t m_flags; + uint16_t m_submessageLength; + + }; + + namespace SubmessageKind { + const char RTPS_HE = 0x00; + + const char PAD = 0x01; + + const char ACKNACK = 0x06; + + const char HEARTBEAT = 0x07; + + const char GAP = 0x08; + + const char INFO_TS = 0x09; + + const char INFO_SRC = 0x0c; + + const char INFO_REPLY_IP4 = 0x0d; + + const char INFO_DST = 0x0e; + + const char INFO_REPLY = 0x0f; + + const char NACK_FRAG = 0x12; + + const char HEARTBEAT_FRAG = 0x13; + + const char DATA = 0x15; + + const char DATA_FRAG = 0x16; + + } // namespace SubmessageKind + + + /*! + * @brief This class represents the structure AckNackSubmessage defined by the user in the IDL file. + * @ingroup core_types + */ + class AckNackSubmessage + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport AckNackSubmessage(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~AckNackSubmessage(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::AckNackSubmessage that will be copied. + */ + eProsima_user_DllExport AckNackSubmessage( + const AckNackSubmessage& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::fastdds::rtps::core::AckNackSubmessage that will be copied. + */ + eProsima_user_DllExport AckNackSubmessage( + AckNackSubmessage&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::AckNackSubmessage that will be copied. + */ + eProsima_user_DllExport AckNackSubmessage& operator =( + const AckNackSubmessage& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::fastdds::rtps::core::AckNackSubmessage that will be copied. + */ + eProsima_user_DllExport AckNackSubmessage& operator =( + AckNackSubmessage&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::AckNackSubmessage object to compare. + */ + eProsima_user_DllExport bool operator ==( + const AckNackSubmessage& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::fastdds::rtps::core::AckNackSubmessage object to compare. + */ + eProsima_user_DllExport bool operator !=( + const AckNackSubmessage& 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 readerSNState + * @param _readerSNState New value to be copied in member readerSNState + */ + eProsima_user_DllExport void readerSNState( + const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& _readerSNState); + + /*! + * @brief This function moves the value in member readerSNState + * @param _readerSNState New value to be moved in member readerSNState + */ + eProsima_user_DllExport void readerSNState( + eprosima::fastdds::rtps::core::detail::SequenceNumberSet&& _readerSNState); + + /*! + * @brief This function returns a constant reference to member readerSNState + * @return Constant reference to member readerSNState + */ + eProsima_user_DllExport const eprosima::fastdds::rtps::core::detail::SequenceNumberSet& readerSNState() const; + + /*! + * @brief This function returns a reference to member readerSNState + * @return Reference to member readerSNState + */ + eProsima_user_DllExport eprosima::fastdds::rtps::core::detail::SequenceNumberSet& readerSNState(); + + + /*! + * @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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::AckNackSubmessage& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + 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::SequenceNumberSet m_readerSNState; + eprosima::fastdds::rtps::core::detail::Count_t m_count; + + }; + + + + /*! + * @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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::HeartBeatSubmessage& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + 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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::InfoDestinationSubmessage& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + 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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::InfoSourceSubmessage& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + eprosima::fastdds::rtps::core::SubmessageHeader m_submsgHeader; + int32_t m_unused; + 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(); + + + /*! + * @brief This function returns the maximum serialized size of an object + * depending on the buffer alignment. + * @param current_alignment Buffer alignment. + * @return Maximum serialized size. + */ + eProsima_user_DllExport static size_t getMaxCdrSerializedSize( + size_t current_alignment = 0); + + /*! + * @brief This function returns the serialized size of a data depending on the buffer alignment. + * @param data Data which is calculated its serialized size. + * @param current_alignment Buffer alignment. + * @return Serialized size. + */ + eProsima_user_DllExport static size_t getCdrSerializedSize( + const eprosima::fastdds::rtps::core::InfoTimestampSubmessage& data, + size_t current_alignment = 0); + + + + /*! + * @brief This function serializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& cdr) const; + + /*! + * @brief This function deserializes an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr); + + + + + /*! + * @brief This function tells you if the Key has been defined for this type + */ + eProsima_user_DllExport static bool isKeyDefined(); + + /*! + * @brief This function serializes the key members of an object using CDR serialization. + * @param cdr CDR serialization object. + */ + eProsima_user_DllExport void serializeKey( + eprosima::fastcdr::Cdr& cdr) const; + + + private: + + eprosima::fastdds::rtps::core::SubmessageHeader m_submsgHeader; + eprosima::fastdds::rtps::core::detail::Timestamp m_timestamp; + + }; + + } // namespace core + } // namespace rtps + } // namespace fastdds +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_FASTDDS_RTPS_CORE_CORE_TYPES_H_ + + + +#endif // FASTCDR_VERSION_MAJOR == 1 diff --git a/test/blackbox/utils/filter_helpers.hpp b/test/blackbox/utils/filter_helpers.hpp index 70a27dd1e11..faff779540f 100644 --- a/test/blackbox/utils/filter_helpers.hpp +++ b/test/blackbox/utils/filter_helpers.hpp @@ -18,12 +18,25 @@ #include #include -// #include "../types/core/core_typesPubSubTypes.hpp" +#include "../types/core/core_typesPubSubTypes.h" namespace eprosima { namespace fastdds { namespace helpers { +inline rtps::core::AckNackSubmessage cdr_parse_acknack_submsg( + char* serialized_buffer, + size_t length) +{ + eprosima::fastdds::rtps::core::AckNackSubmessage acknack_submsg; + eprosima::fastcdr::FastBuffer buffer(serialized_buffer, length); + eprosima::fastcdr::Cdr cdr(buffer, + eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, + eprosima::fastcdr::CdrVersion::XCDRv1); + cdr >> acknack_submsg; + return acknack_submsg; +} + inline uint16_t cdr_parse_u16( char* serialized_buffer) { diff --git a/utils/scripts/update_generated_code_from_idl.sh b/utils/scripts/update_generated_code_from_idl.sh index 59752c93d00..60158cc5c1b 100755 --- a/utils/scripts/update_generated_code_from_idl.sh +++ b/utils/scripts/update_generated_code_from_idl.sh @@ -25,6 +25,7 @@ files_needing_case_sensitive=( files_needing_output_dir=( './include/fastdds/statistics/types.idl|../../../src/cpp/statistics/types|../../../test/blackbox/types/statistics' './include/fastdds/statistics/monitorservice_types.idl|../../../src/cpp/statistics/types' + './test/blackbox/types/core/core_types.idl|.' ) red='\E[1;31m'