From bc064cdedd69e4a6591b891ac84da422aafd0dcc Mon Sep 17 00:00:00 2001 From: Raul Sanchez-Mateos Lizano Date: Mon, 2 Oct 2023 10:06:36 +0200 Subject: [PATCH] Add python modules tests (#54) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add types with modules to api tests Signed-off-by: Raul Sanchez-Mateos * Update Participant tests to use the right type name Signed-off-by: Raul Sanchez-Mateos * Add Windows LoadLibrary for moduled types Signed-off-by: Raul Sanchez-Mateos * Add README.md with the guide to re-generate the types Signed-off-by: Raul Sanchez-Mateos * Use types from modules in complete type Signed-off-by: Raul Sanchez-Mateos * Uncomment sequence types Signed-off-by: Raul Sanchez-Mateos * Fix README.md with correct path Signed-off-by: Raul Sanchez-Mateos * Update generated types Signed-off-by: Raul Sanchez-Mateos * Regenerate tests types code with Fast DDS Gen v3.0.0 Signed-off-by: Raul Sanchez-Mateos * Regenerate test data types after rebase Signed-off-by: Raul Sanchez-Mateos * Do not compile test by default Signed-off-by: Raul Sanchez-Mateos * Compile tests only for fastdds_python Signed-off-by: Raul Sanchez-Mateos * Add missing changes in auto-generated data types Signed-off-by: Raul Sanchez-Mateos * Fix generation of IDL files Signed-off-by: Ricardo González Moreno * Refs #18687. Fix cmakelists.txt Signed-off-by: Ricardo González * Fix tests on windows Signed-off-by: Ricardo González --------- Signed-off-by: Raul Sanchez-Mateos Signed-off-by: Ricardo González Moreno Signed-off-by: Ricardo González Co-authored-by: Ricardo González Moreno Co-authored-by: Ricardo González --- .github/workflows/build_and_test.yml | 8 +- .github/workflows/test.meta | 8 +- fastdds_python/CMakeLists.txt | 11 +- fastdds_python/test/README.md | 8 + fastdds_python/test/api/test_datareader.py | 59 +- fastdds_python/test/api/test_datawriter.py | 65 +- .../test/api/test_domainparticipant.py | 35 +- fastdds_python/test/api/test_publisher.py | 12 +- fastdds_python/test/api/test_subscriber.py | 12 +- fastdds_python/test/api/test_waitset.py | 14 +- fastdds_python/test/types/CMakeLists.txt | 238 +- fastdds_python/test/types/generate.sh | 7 + fastdds_python/test/types/test_complete.cxx | 46 +- fastdds_python/test/types/test_complete.h | 29 + fastdds_python/test/types/test_complete.i | 10 + fastdds_python/test/types/test_complete.idl | 34 +- .../test/types/test_completeCdrAux.hpp | 12 +- .../test/types/test_completeCdrAux.ipp | 11 +- .../test/types/test_completePubSubTypes.h | 1 + .../test/types/test_included_modules.cxx | 574 ++ .../test/types/test_included_modules.h | 464 ++ .../test/types/test_included_modules.i | 212 + .../test/types/test_included_modules.idl | 42 + .../types/test_included_modulesCdrAux.hpp | 49 + .../types/test_included_modulesCdrAux.ipp | 225 + .../test_included_modulesPubSubTypes.cxx | 193 + .../types/test_included_modulesPubSubTypes.h | 136 + .../types/test_included_modulesPubSubTypes.i | 30 + fastdds_python/test/types/test_modules.cxx | 5458 +++++++++++++++++ fastdds_python/test/types/test_modules.h | 3623 +++++++++++ fastdds_python/test/types/test_modules.i | 1895 ++++++ fastdds_python/test/types/test_modules.idl | 198 + .../test/types/test_modulesCdrAux.hpp | 65 + .../test/types/test_modulesCdrAux.ipp | 1344 ++++ .../test/types/test_modulesPubSubTypes.cxx | 499 ++ .../test/types/test_modulesPubSubTypes.h | 314 + .../test/types/test_modulesPubSubTypes.i | 30 + 37 files changed, 15848 insertions(+), 123 deletions(-) create mode 100644 fastdds_python/test/README.md create mode 100755 fastdds_python/test/types/generate.sh create mode 100644 fastdds_python/test/types/test_included_modules.cxx create mode 100644 fastdds_python/test/types/test_included_modules.h create mode 100644 fastdds_python/test/types/test_included_modules.i create mode 100644 fastdds_python/test/types/test_included_modules.idl create mode 100644 fastdds_python/test/types/test_included_modulesCdrAux.hpp create mode 100644 fastdds_python/test/types/test_included_modulesCdrAux.ipp create mode 100644 fastdds_python/test/types/test_included_modulesPubSubTypes.cxx create mode 100644 fastdds_python/test/types/test_included_modulesPubSubTypes.h create mode 100644 fastdds_python/test/types/test_included_modulesPubSubTypes.i create mode 100644 fastdds_python/test/types/test_modules.cxx create mode 100644 fastdds_python/test/types/test_modules.h create mode 100644 fastdds_python/test/types/test_modules.i create mode 100644 fastdds_python/test/types/test_modules.idl create mode 100644 fastdds_python/test/types/test_modulesCdrAux.hpp create mode 100644 fastdds_python/test/types/test_modulesCdrAux.ipp create mode 100644 fastdds_python/test/types/test_modulesPubSubTypes.cxx create mode 100644 fastdds_python/test/types/test_modulesPubSubTypes.h create mode 100644 fastdds_python/test/types/test_modulesPubSubTypes.i diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 691bb4ea..87d9a6f4 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -140,8 +140,12 @@ jobs: - name: Build workspace run: > - colcon build --event-handlers=console_direct+ --metas ./src/fastdds_python/.github/workflows/test.meta \ - --cmake-args -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache + colcon build \ + --event-handlers=console_direct+ \ + --metas ./src/fastdds_python/.github/workflows/test.meta \ + --cmake-args \ + -DCMAKE_C_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - name: Run tests run: | diff --git a/.github/workflows/test.meta b/.github/workflows/test.meta index 3626c9c1..6ddb6b78 100644 --- a/.github/workflows/test.meta +++ b/.github/workflows/test.meta @@ -1,12 +1,18 @@ { "names": { - "fastrtps" : + "fastrtps": { "cmake-args": [ "-DTHIRDPARTY=ON", "-DSECURITY=ON", ] + }, + "fastdds_python": + { + "cmake-args": [ + "-DBUILD_TESTING=ON" + ] } } } diff --git a/fastdds_python/CMakeLists.txt b/fastdds_python/CMakeLists.txt index 21c64500..cee2b730 100644 --- a/fastdds_python/CMakeLists.txt +++ b/fastdds_python/CMakeLists.txt @@ -26,6 +26,12 @@ endif() project(fastdds_python VERSION 1.2.2) +# Set BUILD_TESTING to OFF by default. +if(NOT BUILD_TESTING) + message(STATUS "Tests not compiled by default") + set(BUILD_TESTING OFF CACHE BOOL "Enable testing" FORCE) +endif() + ############################################################################### # Dependencies ############################################################################### @@ -50,4 +56,7 @@ add_subdirectory(src/swig) ############################################################################### enable_testing() include(CTest) -add_subdirectory(test) + +if (BUILD_TESTING) + add_subdirectory(test) +endif() diff --git a/fastdds_python/test/README.md b/fastdds_python/test/README.md new file mode 100644 index 00000000..d0ab53f6 --- /dev/null +++ b/fastdds_python/test/README.md @@ -0,0 +1,8 @@ +# How to re-generate data types for python + +1. Navigate to `fastdds_python/test/types` +2. Run Fast DDS Gen script + + ```bash + fastddsgen -python -replace test_complete.idl test_modules.idl + ``` diff --git a/fastdds_python/test/api/test_datareader.py b/fastdds_python/test/api/test_datareader.py index 77c6b51d..3222b99d 100644 --- a/fastdds_python/test/api/test_datareader.py +++ b/fastdds_python/test/api/test_datareader.py @@ -4,10 +4,10 @@ if os.name == 'nt': import win32api win32api.LoadLibrary('test_complete') + win32api.LoadLibrary('test_modules') import fastdds import pytest -import test_complete import time @@ -15,6 +15,13 @@ class DataReaderListener (fastdds.DataReaderListener): def __init__(self): super().__init__() +@pytest.fixture(params=['no_module', 'module'], autouse=True) +def data_type(request): + if request.param == 'no_module': + pytest.dds_type = __import__("test_complete") + else: + pytest.dds_type = __import__("eprosima.test.test_modules", + fromlist=[None]) @pytest.fixture def participant(): @@ -22,7 +29,6 @@ def participant(): return factory.create_participant( 0, fastdds.PARTICIPANT_QOS_DEFAULT) - @pytest.fixture def subscriber(participant): return participant.create_subscriber(fastdds.SUBSCRIBER_QOS_DEFAULT) @@ -30,13 +36,12 @@ def subscriber(participant): @pytest.fixture def test_type(): - return fastdds.TypeSupport( - test_complete.CompleteTestTypePubSubType()) + return fastdds.TypeSupport(pytest.dds_type.CompleteTestTypePubSubType()) @pytest.fixture def test_keyed_type(test_type): - test_type.set(test_complete.KeyedCompleteTestTypePubSubType()) + test_type.set(pytest.dds_type.KeyedCompleteTestTypePubSubType()) @pytest.fixture @@ -161,7 +166,7 @@ def test_get_first_untaken(transient_datareader_qos, datareader, qos = datawriter.get_qos() assert(fastdds.TRANSIENT_LOCAL_DURABILITY_QOS == qos.durability().kind) - sample = test_complete.CompleteTestType() + sample = pytest.dds_type.CompleteTestType() sample.int16_field(255) assert(datawriter.write(sample)) @@ -195,7 +200,7 @@ def test_get_key_value(test_keyed_type, datareader): This test checks: - DataReader::get_key_value """ - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(255) ih = fastdds.InstanceHandle_t() assert(fastdds.ReturnCode_t.RETCODE_UNSUPPORTED == @@ -444,7 +449,7 @@ def test_get_unread_count(transient_datareader_qos, datareader, """ assert(0 == datareader.get_unread_count()) - sample = test_complete.CompleteTestType() + sample = pytest.dds_type.CompleteTestType() sample.int16_field(255) assert(datawriter.write(sample)) @@ -459,13 +464,13 @@ def test_is_sample_valid(transient_datareader_qos, datareader, This test checks: - DataReader::is_sample_valid """ - sample = test_complete.CompleteTestType() + sample = pytest.dds_type.CompleteTestType() sample.int16_field(255) assert(datawriter.write(sample)) assert(datareader.wait_for_unread_message( fastdds.Duration_t(5, 0))) - data = test_complete.CompleteTestType() + data = pytest.dds_type.CompleteTestType() info = fastdds.SampleInfo() assert(fastdds.ReturnCode_t.RETCODE_OK == datareader.read_next_sample(data, info)) @@ -485,7 +490,7 @@ def test_lookup_instance(transient_datareader_qos, test_keyed_type, datareader, assert(fastdds.c_InstanceHandle_Unknown == ih) # Test when instance is not registered - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(3) ih = datareader.lookup_instance(sample) assert(fastdds.c_InstanceHandle_Unknown == ih) @@ -509,7 +514,7 @@ def test_read(transient_datareader_qos, datareader, - DataReader::read - DataReader::return_loan """ - data_seq = test_complete.CompleteTestTypeSeq() + data_seq = pytest.dds_type.CompleteTestTypeSeq() info_seq = fastdds.SampleInfoSeq() assert(fastdds.ReturnCode_t.RETCODE_NO_DATA == datareader.read( @@ -519,7 +524,7 @@ def test_read(transient_datareader_qos, datareader, assert(0 == len(data_seq)) assert(0 == len(info_seq)) - sample = test_complete.CompleteTestType() + sample = pytest.dds_type.CompleteTestType() sample.int16_field(255) assert(datawriter.write(sample)) @@ -544,7 +549,7 @@ def test_read_instance(transient_datareader_qos, test_keyed_type, - DataReader::read_instance - DataReader::return_loan """ - data_seq = test_complete.KeyedCompleteTestTypeSeq() + data_seq = pytest.dds_type.KeyedCompleteTestTypeSeq() info_seq = fastdds.SampleInfoSeq() ih = fastdds.InstanceHandle_t() assert(fastdds.ReturnCode_t.RETCODE_BAD_PARAMETER == @@ -555,7 +560,7 @@ def test_read_instance(transient_datareader_qos, test_keyed_type, assert(0 == len(data_seq)) assert(0 == len(info_seq)) - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(255) ih = datawriter.register_instance(sample) assert(datawriter.write(sample, ih)) @@ -582,7 +587,7 @@ def test_read_next_instance(transient_datareader_qos, test_keyed_type, - DataReader::read_next_instance - DataReader::return_loan """ - data_seq = test_complete.KeyedCompleteTestTypeSeq() + data_seq = pytest.dds_type.KeyedCompleteTestTypeSeq() info_seq = fastdds.SampleInfoSeq() ih = fastdds.InstanceHandle_t() assert(fastdds.ReturnCode_t.RETCODE_NO_DATA == @@ -593,7 +598,7 @@ def test_read_next_instance(transient_datareader_qos, test_keyed_type, assert(0 == len(data_seq)) assert(0 == len(info_seq)) - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(255) assert(datawriter.write(sample)) @@ -618,13 +623,13 @@ def test_read_next_sample(transient_datareader_qos, datareader, This test checks: - DataReader::read_next_sample """ - data = test_complete.CompleteTestType() + data = pytest.dds_type.CompleteTestType() info = fastdds.SampleInfo() assert(fastdds.ReturnCode_t.RETCODE_NO_DATA == datareader.read_next_sample( data, info)) - sample = test_complete.CompleteTestType() + sample = pytest.dds_type.CompleteTestType() sample.int16_field(255) assert(datawriter.write(sample)) @@ -643,7 +648,7 @@ def test_take(transient_datareader_qos, datareader, - DataReader::take - DataReader::return_loan """ - data_seq = test_complete.CompleteTestTypeSeq() + data_seq = pytest.dds_type.CompleteTestTypeSeq() info_seq = fastdds.SampleInfoSeq() assert(fastdds.ReturnCode_t.RETCODE_NO_DATA == datareader.take( @@ -653,7 +658,7 @@ def test_take(transient_datareader_qos, datareader, assert(0 == len(data_seq)) assert(0 == len(info_seq)) - sample = test_complete.CompleteTestType() + sample = pytest.dds_type.CompleteTestType() sample.int16_field(255) assert(datawriter.write(sample)) @@ -678,7 +683,7 @@ def test_take_instance(transient_datareader_qos, test_keyed_type, - DataReader::take_instance - DataReader::return_loan """ - data_seq = test_complete.KeyedCompleteTestTypeSeq() + data_seq = pytest.dds_type.KeyedCompleteTestTypeSeq() info_seq = fastdds.SampleInfoSeq() ih = fastdds.InstanceHandle_t() assert(fastdds.ReturnCode_t.RETCODE_BAD_PARAMETER == @@ -689,7 +694,7 @@ def test_take_instance(transient_datareader_qos, test_keyed_type, assert(0 == len(data_seq)) assert(0 == len(info_seq)) - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(255) ih = datawriter.register_instance(sample) assert(datawriter.write(sample, ih)) @@ -716,7 +721,7 @@ def test_take_next_instance(transient_datareader_qos, test_keyed_type, - DataReader::take_next_instance - DataReader::return_loan """ - data_seq = test_complete.KeyedCompleteTestTypeSeq() + data_seq = pytest.dds_type.KeyedCompleteTestTypeSeq() info_seq = fastdds.SampleInfoSeq() ih = fastdds.InstanceHandle_t() assert(fastdds.ReturnCode_t.RETCODE_NO_DATA == @@ -727,7 +732,7 @@ def test_take_next_instance(transient_datareader_qos, test_keyed_type, assert(0 == len(data_seq)) assert(0 == len(info_seq)) - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(255) assert(datawriter.write(sample)) @@ -752,13 +757,13 @@ def test_take_next_sample(transient_datareader_qos, datareader, This test checks: - DataReader::take_next_sample """ - data = test_complete.CompleteTestType() + data = pytest.dds_type.CompleteTestType() info = fastdds.SampleInfo() assert(fastdds.ReturnCode_t.RETCODE_NO_DATA == datareader.take_next_sample( data, info)) - sample = test_complete.CompleteTestType() + sample = pytest.dds_type.CompleteTestType() sample.int16_field(255) assert(datawriter.write(sample)) diff --git a/fastdds_python/test/api/test_datawriter.py b/fastdds_python/test/api/test_datawriter.py index 7591fc38..457eddc7 100644 --- a/fastdds_python/test/api/test_datawriter.py +++ b/fastdds_python/test/api/test_datawriter.py @@ -2,7 +2,6 @@ import fastdds import pytest -import test_complete import time @@ -10,6 +9,13 @@ class DataWriterListener (fastdds.DataWriterListener): def __init__(self): super().__init__() +@pytest.fixture(params=['no_module', 'module'], autouse=True) +def data_type(request): + if request.param == 'no_module': + pytest.dds_type = __import__("test_complete") + else: + pytest.dds_type = __import__("eprosima.test.test_modules", + fromlist=[None]) @pytest.fixture def participant(): @@ -26,12 +32,12 @@ def publisher(participant): @pytest.fixture def test_type(): return fastdds.TypeSupport( - test_complete.CompleteTestTypePubSubType()) + pytest.dds_type.CompleteTestTypePubSubType()) @pytest.fixture def test_keyed_type(test_type): - test_type.set(test_complete.KeyedCompleteTestTypePubSubType()) + test_type.set(pytest.dds_type.KeyedCompleteTestTypePubSubType()) @pytest.fixture @@ -110,7 +116,7 @@ def test_clear_history(keep_all_datawriter_qos, datawriter): This test checks: - DataWriter::clear_history """ - sample = test_complete.CompleteTestType() + sample = pytest.dds_type.CompleteTestType() sample.int16_field(4) assert(datawriter.write(sample)) assert([fastdds.ReturnCode_t.RETCODE_OK, 1] == @@ -125,11 +131,11 @@ def test_dispose(test_keyed_type, datawriter): - DataWriter::unregister_instance """ # Overload 1 - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(1) ih = datawriter.register_instance(sample) assert(fastdds.c_InstanceHandle_Unknown != ih) - sample2 = test_complete.KeyedCompleteTestType() + sample2 = pytest.dds_type.KeyedCompleteTestType() sample2.id(2) ih2 = datawriter.register_instance(sample2) assert(fastdds.c_InstanceHandle_Unknown != ih2) @@ -140,7 +146,7 @@ def test_dispose(test_keyed_type, datawriter): datawriter.dispose(sample2, ih2)) # Overload 2 - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(3) now = datetime.datetime.now().time() timestamp = fastdds.Time_t() @@ -175,49 +181,49 @@ def test_get_key_value(test_keyed_type, datawriter): - DataWriter::get_key_value """ # Prepare test variables - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(1) ih = datawriter.register_instance(sample) assert(fastdds.c_InstanceHandle_Unknown != ih) - + # Check wrong handle - test_sample = test_complete.KeyedCompleteTestType() + test_sample = pytest.dds_type.KeyedCompleteTestType() assert(fastdds.ReturnCode_t.RETCODE_BAD_PARAMETER == datawriter.get_key_value(test_sample, fastdds.c_InstanceHandle_Unknown)) - + # Check wrong sample assert(fastdds.ReturnCode_t.RETCODE_BAD_PARAMETER == datawriter.get_key_value(None, ih)) - + # Check correct case - test_sample = test_complete.KeyedCompleteTestType() + test_sample = pytest.dds_type.KeyedCompleteTestType() assert(fastdds.ReturnCode_t.RETCODE_OK == datawriter.get_key_value(test_sample, ih)) assert(test_sample.id() == sample.id()); - + # Calling get_key_value on an unregistered instance should fail - test_sample = test_complete.KeyedCompleteTestType() + test_sample = pytest.dds_type.KeyedCompleteTestType() assert(fastdds.ReturnCode_t.RETCODE_OK == datawriter.unregister_instance(sample, ih)) assert(fastdds.ReturnCode_t.RETCODE_BAD_PARAMETER == datawriter.get_key_value(test_sample, ih)) - + # Calling get_key_value with a valid instance should work - test_sample = test_complete.KeyedCompleteTestType() + test_sample = pytest.dds_type.KeyedCompleteTestType() assert(fastdds.ReturnCode_t.RETCODE_OK == datawriter.write(sample, fastdds.c_InstanceHandle_Unknown)) assert(fastdds.ReturnCode_t.RETCODE_OK == datawriter.get_key_value(test_sample, ih)) assert(test_sample.id() == sample.id()); - + # Calling get_key_value on a disposed instance should work - test_sample = test_complete.KeyedCompleteTestType() + test_sample = pytest.dds_type.KeyedCompleteTestType() assert(fastdds.ReturnCode_t.RETCODE_OK == datawriter.dispose(sample, ih)) assert(fastdds.ReturnCode_t.RETCODE_OK == datawriter.get_key_value(test_sample, ih)) assert(test_sample.id() == sample.id()); - + def test_get_sending_locators(datawriter): """ @@ -439,7 +445,7 @@ def test_lookup_instance(test_keyed_type, datawriter): This test checks: - DataWriter::lookup_instance """ - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(3) ih = datawriter.lookup_instance(sample) assert(fastdds.c_InstanceHandle_Unknown == ih) @@ -454,11 +460,11 @@ def test_register_instance(test_keyed_type, datawriter): - DataWriter::unregister_instance_w_timestamp """ # Overload 1 - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(1) ih = datawriter.register_instance(sample) assert(fastdds.c_InstanceHandle_Unknown != ih) - sample2 = test_complete.KeyedCompleteTestType() + sample2 = pytest.dds_type.KeyedCompleteTestType() sample2.id(2) ih2 = datawriter.register_instance(sample2) assert(fastdds.c_InstanceHandle_Unknown != ih2) @@ -472,7 +478,7 @@ def test_register_instance(test_keyed_type, datawriter): sample, fastdds.c_InstanceHandle_Unknown)) # Overload 2 - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(3) now = datetime.datetime.now().time() timestamp = fastdds.Time_t() @@ -489,7 +495,7 @@ def test_wait_for_acknowledgments(test_keyed_type, datawriter): - DataWriter::wait_for_acknowledgments """ # Overload 1 - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(3) assert(datawriter.write(sample)) assert(fastdds.ReturnCode_t.RETCODE_OK == @@ -510,11 +516,11 @@ def test_write(test_keyed_type, datawriter): - DataWriter::write_w_timestamp """ # Overload 1 - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() assert(datawriter.write(sample)) # Overload 2 - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() params = fastdds.WriteParams() guid = fastdds.GUID_t() guid.guidPrefix.value = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) @@ -527,7 +533,7 @@ def test_write(test_keyed_type, datawriter): assert(datawriter.write(sample, params)) # Overload 3 - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(1) ih = fastdds.InstanceHandle_t() assert(fastdds.ReturnCode_t.RETCODE_OK == @@ -538,7 +544,7 @@ def test_write(test_keyed_type, datawriter): datawriter.write(sample, ih)) # Overload 4 - sample = test_complete.KeyedCompleteTestType() + sample = pytest.dds_type.KeyedCompleteTestType() sample.id(1) ih = fastdds.InstanceHandle_t() now = datetime.datetime.now().time() @@ -547,7 +553,6 @@ def test_write(test_keyed_type, datawriter): assert(fastdds.ReturnCode_t.RETCODE_OK == datawriter.write_w_timestamp(sample, ih, timestamp)) - def test_listener_ownership(participant, reader_participant, topic, reader_topic, subscriber, publisher): diff --git a/fastdds_python/test/api/test_domainparticipant.py b/fastdds_python/test/api/test_domainparticipant.py index f691d96b..1d8ea006 100644 --- a/fastdds_python/test/api/test_domainparticipant.py +++ b/fastdds_python/test/api/test_domainparticipant.py @@ -1,6 +1,5 @@ import fastdds import pytest -import test_complete import time @@ -23,6 +22,13 @@ class TopicListener (fastdds.TopicListener): def __init__(self): super().__init__() +@pytest.fixture(params=['no_module', 'module'], autouse=True) +def data_type(request): + if request.param == 'no_module': + pytest.dds_type = __import__("test_complete") + else: + pytest.dds_type = __import__("eprosima.test.test_modules", + fromlist=[None]) @pytest.fixture def not_autoenable_factory(): @@ -552,18 +558,21 @@ def test_create_and_delete_topic(participant): listener = TopicListener() assert(listener is not None) + test_type = fastdds.TypeSupport( + pytest.dds_type.CompleteTestTypePubSubType()) + # Overload 1 - Failing (because the type is not registered yet) topic = participant.create_topic( - "Complete", "CompleteTestType", fastdds.TOPIC_QOS_DEFAULT) + "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT) assert(topic is None) - test_type = fastdds.TypeSupport(test_complete.CompleteTestTypePubSubType()) + # Now register the type assert(fastdds.ReturnCode_t.RETCODE_OK == participant.register_type(test_type, test_type.get_type_name())) # Overload 1 - Success topic = participant.create_topic( - "Complete", "CompleteTestType", fastdds.TOPIC_QOS_DEFAULT) + "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT) assert(topic is not None) assert(topic.is_enabled()) assert(fastdds.StatusMask.all() == topic.get_status_mask()) @@ -572,7 +581,7 @@ def test_create_and_delete_topic(participant): # Overload 2 topic = participant.create_topic( - "Complete", "CompleteTestType", fastdds.TOPIC_QOS_DEFAULT, + "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT, listener) assert(topic is not None) assert(topic.is_enabled()) @@ -585,7 +594,7 @@ def test(status_mask_1, status_mask_2, listnr=None): Test the entity creation using the two types of StatusMasks. """ topic = participant.create_topic( - "Complete", "CompleteTestType", + "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT, listnr, status_mask_1) assert(topic is not None) assert(topic.is_enabled()) @@ -593,7 +602,7 @@ def test(status_mask_1, status_mask_2, listnr=None): assert(fastdds.ReturnCode_t.RETCODE_OK == participant.delete_topic(topic)) topic = participant.create_topic( - "Complete", "CompleteTestType", + "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT, listnr, status_mask_2) assert(topic is not None) assert(topic.is_enabled()) @@ -670,11 +679,11 @@ def test_delete_contained_entities(participant): subscriber = participant.create_subscriber( fastdds.SUBSCRIBER_QOS_DEFAULT) assert(subscriber is not None) - test_type = fastdds.TypeSupport(test_complete.CompleteTestTypePubSubType()) + test_type = fastdds.TypeSupport(pytest.dds_type.CompleteTestTypePubSubType()) assert(fastdds.ReturnCode_t.RETCODE_OK == participant.register_type(test_type, test_type.get_type_name())) topic = participant.create_topic( - "Complete", "CompleteTestType", fastdds.TOPIC_QOS_DEFAULT) + "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT) assert(topic is not None) # Cannot delete participant without deleting its contained entities @@ -707,12 +716,12 @@ def test_find_topic(participant): This test checks: - DomainParticipant::find_topic """ - test_type = fastdds.TypeSupport(test_complete.CompleteTestTypePubSubType()) + test_type = fastdds.TypeSupport(pytest.dds_type.CompleteTestTypePubSubType()) assert(fastdds.ReturnCode_t.RETCODE_OK == participant.register_type(test_type, test_type.get_type_name())) topic = participant.create_topic( - "Complete", "CompleteTestType", fastdds.TOPIC_QOS_DEFAULT) + "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT) assert(topic is not None) topic_copy = participant.find_topic("Complete", fastdds.Duration_t(1, 0)) @@ -970,12 +979,12 @@ def test_lookup_topicdescription(participant): This test checks: - DomainParticipant::lookup_topicdescription """ - test_type = fastdds.TypeSupport(test_complete.CompleteTestTypePubSubType()) + test_type = fastdds.TypeSupport(pytest.dds_type.CompleteTestTypePubSubType()) assert(fastdds.ReturnCode_t.RETCODE_OK == participant.register_type(test_type, test_type.get_type_name())) topic = participant.create_topic( - "Complete", "CompleteTestType", fastdds.TOPIC_QOS_DEFAULT) + "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT) assert(topic is not None) topic_desc = participant.lookup_topicdescription("Complete") diff --git a/fastdds_python/test/api/test_publisher.py b/fastdds_python/test/api/test_publisher.py index be86b60b..69f01f48 100644 --- a/fastdds_python/test/api/test_publisher.py +++ b/fastdds_python/test/api/test_publisher.py @@ -1,6 +1,5 @@ import fastdds import pytest -import test_complete import time class PublisherListener (fastdds.PublisherListener): @@ -12,6 +11,13 @@ class DataWriterListener (fastdds.DataWriterListener): def __init__(self): super().__init__() +@pytest.fixture(params=['no_module', 'module'], autouse=True) +def data_type(request): + if request.param == 'no_module': + pytest.dds_type = __import__("test_complete") + else: + pytest.dds_type = __import__("eprosima.test.test_modules", + fromlist=[None]) @pytest.fixture def participant_qos(): @@ -49,7 +55,7 @@ def publisher(participant, topic): @pytest.fixture def topic(participant): test_type = fastdds.TypeSupport( - test_complete.CompleteTestTypePubSubType()) + pytest.dds_type.CompleteTestTypePubSubType()) participant.register_type(test_type, test_type.get_type_name()) return participant.create_topic( "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT) @@ -57,7 +63,7 @@ def topic(participant): @pytest.fixture def test_type(): return fastdds.TypeSupport( - test_complete.CompleteTestTypePubSubType()) + pytest.dds_type.CompleteTestTypePubSubType()) @pytest.fixture def reader_participant(): diff --git a/fastdds_python/test/api/test_subscriber.py b/fastdds_python/test/api/test_subscriber.py index cb6ac841..c3c7511f 100644 --- a/fastdds_python/test/api/test_subscriber.py +++ b/fastdds_python/test/api/test_subscriber.py @@ -1,6 +1,5 @@ import fastdds import pytest -import test_complete import time @@ -13,6 +12,13 @@ class DataReaderListener (fastdds.DataReaderListener): def __init__(self): super().__init__() +@pytest.fixture(params=['no_module', 'module'], autouse=True) +def data_type(request): + if request.param == 'no_module': + pytest.dds_type = __import__("test_complete") + else: + pytest.dds_type = __import__("eprosima.test.test_modules", + fromlist=[None]) @pytest.fixture def participant_qos(): @@ -52,7 +58,7 @@ def subscriber(participant, topic): @pytest.fixture def topic(participant): test_type = fastdds.TypeSupport( - test_complete.CompleteTestTypePubSubType()) + pytest.dds_type.CompleteTestTypePubSubType()) participant.register_type(test_type, test_type.get_type_name()) return participant.create_topic( "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT) @@ -60,7 +66,7 @@ def topic(participant): @pytest.fixture def test_type(): return fastdds.TypeSupport( - test_complete.CompleteTestTypePubSubType()) + pytest.dds_type.CompleteTestTypePubSubType()) @pytest.fixture def writer_participant(): diff --git a/fastdds_python/test/api/test_waitset.py b/fastdds_python/test/api/test_waitset.py index 57937ad2..5a6010d3 100644 --- a/fastdds_python/test/api/test_waitset.py +++ b/fastdds_python/test/api/test_waitset.py @@ -4,12 +4,20 @@ if os.name == 'nt': import win32api win32api.LoadLibrary('test_complete') + win32api.LoadLibrary('test_modules') import fastdds import pytest -import test_complete +@pytest.fixture(params=['no_module', 'module'], autouse=True) +def data_type(request): + if request.param == 'no_module': + pytest.dds_type = __import__("test_complete") + else: + pytest.dds_type = __import__("eprosima.test.test_modules", + fromlist=[None]) + @pytest.fixture def participant(): factory = fastdds.DomainParticipantFactory.get_instance() @@ -25,7 +33,7 @@ def subscriber(participant): @pytest.fixture def topic(participant): test_type = fastdds.TypeSupport( - test_complete.CompleteTestTypePubSubType()) + pytest.dds_type.CompleteTestTypePubSubType()) participant.register_type(test_type, test_type.get_type_name()) return participant.create_topic( "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT) @@ -60,7 +68,7 @@ def writer_participant(): @pytest.fixture def writer_topic(writer_participant): test_type = fastdds.TypeSupport( - test_complete.CompleteTestTypePubSubType()) + pytest.dds_type.CompleteTestTypePubSubType()) writer_participant.register_type(test_type, test_type.get_type_name()) return writer_participant.create_topic( "Complete", test_type.get_type_name(), fastdds.TOPIC_QOS_DEFAULT) diff --git a/fastdds_python/test/types/CMakeLists.txt b/fastdds_python/test/types/CMakeLists.txt index 65c3460c..59fc7add 100644 --- a/fastdds_python/test/types/CMakeLists.txt +++ b/fastdds_python/test/types/CMakeLists.txt @@ -1,18 +1,5 @@ -# Copyright 2022 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. - -cmake_minimum_required(VERSION 3.22) + +cmake_minimum_required(VERSION 3.16.3) # SWIG: use standard target name. if(POLICY CMP0078) @@ -24,6 +11,220 @@ if(POLICY CMP0086) cmake_policy(SET CMP0086 NEW) endif() +############################################################################### +# Library for types defined in test_included_modules IDL +############################################################################### + +message(STATUS "Configuring python wrapper for types in test_included_modules...") + +############################################################################### +# Type library on C++ + +project(test_included_modules) + +find_package(fastcdr REQUIRED) +find_package(fastrtps REQUIRED) + + +set(${PROJECT_NAME}_FILES + test_included_modules.cxx + test_included_modulesPubSubTypes.cxx + ) + +include_directories() + +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +#Create library for C++ types +add_library(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_FILES}) +if(WIN32) + target_compile_definitions(${PROJECT_NAME} PRIVATE EPROSIMA_USER_DLL_EXPORT) +endif(WIN32) +target_link_libraries(${PROJECT_NAME} PUBLIC fastcdr fastrtps) + +############################################################################### +# Python bindings for type + +find_package(SWIG REQUIRED) +include(${SWIG_USE_FILE}) +set(CMAKE_SWIG_FLAGS "") + +find_package(Python3 COMPONENTS Interpreter Development REQUIRED) +set(PYTHON_INCLUDE_PATH ${Python3_INCLUDE_DIRS}) +set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) +set(PYTHON_LIBRARIES ${Python3_LIBRARIES}) + +include_directories(${PYTHON_INCLUDE_PATH}) + +set(${PROJECT_NAME}_MODULE + test_included_modulesWrapper + ) + +set(${PROJECT_NAME}_MODULE_FILES + ${PROJECT_NAME}.i + ) + +SET_SOURCE_FILES_PROPERTIES( + ${${PROJECT_NAME}_MODULE_FILES} + PROPERTIES CPLUSPLUS ON + USE_TARGET_INCLUDE_DIRECTORIES TRUE + ) + +include_directories( + ${PROJECT_SOURCE_DIR} + ) + +set_property(SOURCE ${PROJECT_NAME}.i PROPERTY OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/eprosima/test2") + +SWIG_ADD_LIBRARY(${${PROJECT_NAME}_MODULE} + TYPE SHARED + LANGUAGE python + SOURCES ${${PROJECT_NAME}_MODULE_FILES}) + +if(UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 8) + set_property(TARGET ${${PROJECT_NAME}_MODULE} PROPERTY SWIG_COMPILE_DEFINITIONS SWIGWORDSIZE64) +endif() + +target_link_libraries(${${PROJECT_NAME}_MODULE} + Python3::Module + fastrtps + ${PROJECT_NAME} + ) + +set_target_properties(${${PROJECT_NAME}_MODULE} + PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/eprosima/test2" + ) + + +# Find the installation path +execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_lib(plat_specific=True, prefix='${CMAKE_INSTALL_PREFIX}'))" + OUTPUT_VARIABLE _ABS_PYTHON_MODULE_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + +get_filename_component (_ABS_PYTHON_MODULE_PATH ${_ABS_PYTHON_MODULE_PATH} ABSOLUTE) +file (RELATIVE_PATH _REL_PYTHON_MODULE_PATH ${CMAKE_INSTALL_PREFIX} ${_ABS_PYTHON_MODULE_PATH}) +SET (PYTHON_MODULE_PATH + ${_REL_PYTHON_MODULE_PATH} + ) + +# Install +install(TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION bin/ + LIBRARY DESTINATION lib/ + ARCHIVE DESTINATION lib/ + ) +install(TARGETS ${${PROJECT_NAME}_MODULE} DESTINATION ${PYTHON_MODULE_PATH}/eprosima/test2) +get_property(support_files TARGET ${${PROJECT_NAME}_MODULE} PROPERTY SWIG_SUPPORT_FILES) +install(FILES ${support_files} DESTINATION ${PYTHON_MODULE_PATH}/eprosima/test2) + +############################################################################### +# Library for types defined in test_modules IDL +############################################################################### + +message(STATUS "Configuring python wrapper for types in test_modules...") + +############################################################################### +# Type library on C++ + +project(test_modules) + +find_package(fastcdr REQUIRED) +find_package(fastrtps REQUIRED) + + +set(${PROJECT_NAME}_FILES + test_modules.cxx + test_modulesPubSubTypes.cxx + ) + +include_directories() + +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +#Create library for C++ types +add_library(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_FILES}) +if(WIN32) + target_compile_definitions(${PROJECT_NAME} PRIVATE EPROSIMA_USER_DLL_EXPORT) +endif(WIN32) +target_link_libraries(${PROJECT_NAME} PUBLIC fastcdr fastrtps) + +############################################################################### +# Python bindings for type + +find_package(SWIG REQUIRED) +include(${SWIG_USE_FILE}) +set(CMAKE_SWIG_FLAGS "") + +find_package(Python3 COMPONENTS Interpreter Development REQUIRED) +set(PYTHON_INCLUDE_PATH ${Python3_INCLUDE_DIRS}) +set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) +set(PYTHON_LIBRARIES ${Python3_LIBRARIES}) + +include_directories(${PYTHON_INCLUDE_PATH}) + +set(${PROJECT_NAME}_MODULE + test_modulesWrapper + ) + +set(${PROJECT_NAME}_MODULE_FILES + ${PROJECT_NAME}.i + ) + +SET_SOURCE_FILES_PROPERTIES( + ${${PROJECT_NAME}_MODULE_FILES} + PROPERTIES CPLUSPLUS ON + USE_TARGET_INCLUDE_DIRECTORIES TRUE + ) + +include_directories( + ${PROJECT_SOURCE_DIR} + ) + +set_property(SOURCE ${PROJECT_NAME}.i PROPERTY OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/eprosima/test") + +SWIG_ADD_LIBRARY(${${PROJECT_NAME}_MODULE} + TYPE SHARED + LANGUAGE python + SOURCES ${${PROJECT_NAME}_MODULE_FILES}) + +if(UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 8) + set_property(TARGET ${${PROJECT_NAME}_MODULE} PROPERTY SWIG_COMPILE_DEFINITIONS SWIGWORDSIZE64) +endif() + +target_link_libraries(${${PROJECT_NAME}_MODULE} + Python3::Module + fastrtps + ${PROJECT_NAME} + ) + +set_target_properties(${${PROJECT_NAME}_MODULE} + PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/eprosima/test" + ) + + +# Find the installation path +execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_lib(plat_specific=True, prefix='${CMAKE_INSTALL_PREFIX}'))" + OUTPUT_VARIABLE _ABS_PYTHON_MODULE_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + +get_filename_component (_ABS_PYTHON_MODULE_PATH ${_ABS_PYTHON_MODULE_PATH} ABSOLUTE) +file (RELATIVE_PATH _REL_PYTHON_MODULE_PATH ${CMAKE_INSTALL_PREFIX} ${_ABS_PYTHON_MODULE_PATH}) +SET (PYTHON_MODULE_PATH + ${_REL_PYTHON_MODULE_PATH} + ) + +# Install +install(TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION bin/ + LIBRARY DESTINATION lib/ + ARCHIVE DESTINATION lib/ + ) +install(TARGETS ${${PROJECT_NAME}_MODULE} DESTINATION ${PYTHON_MODULE_PATH}/eprosima/test) +get_property(support_files TARGET ${${PROJECT_NAME}_MODULE} PROPERTY SWIG_SUPPORT_FILES) +install(FILES ${support_files} DESTINATION ${PYTHON_MODULE_PATH}/eprosima/test) + ############################################################################### # Library for types defined in test_complete IDL ############################################################################### @@ -35,8 +236,8 @@ message(STATUS "Configuring python wrapper for types in test_complete...") project(test_complete) -find_package(fastcdr 2 REQUIRED) -find_package(fastrtps 2.12 REQUIRED) +find_package(fastcdr REQUIRED) +find_package(fastrtps REQUIRED) set(${PROJECT_NAME}_FILES @@ -53,7 +254,7 @@ add_library(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_FILES}) if(WIN32) target_compile_definitions(${PROJECT_NAME} PRIVATE EPROSIMA_USER_DLL_EXPORT) endif(WIN32) -target_link_libraries(${PROJECT_NAME} PUBLIC fastcdr fastrtps) +target_link_libraries(${PROJECT_NAME} PUBLIC fastcdr fastrtps test_included_modules) ############################################################################### # Python bindings for type @@ -102,6 +303,7 @@ target_link_libraries(${${PROJECT_NAME}_MODULE} Python3::Module fastrtps ${PROJECT_NAME} + test_included_modules ) set_target_properties(${${PROJECT_NAME}_MODULE} diff --git a/fastdds_python/test/types/generate.sh b/fastdds_python/test/types/generate.sh new file mode 100755 index 00000000..9fd42880 --- /dev/null +++ b/fastdds_python/test/types/generate.sh @@ -0,0 +1,7 @@ +#!/bin/bash +if [[ -z "$(which fastddsgen)" ]]; then + echo "Cannot find fastddsgen. Please, include it in PATH environment variable" + exit -1 +fi + +fastddsgen -python -replace test_complete.idl test_modules.idl diff --git a/fastdds_python/test/types/test_complete.cxx b/fastdds_python/test/types/test_complete.cxx index 1de81620..6b0c374e 100644 --- a/fastdds_python/test/types/test_complete.cxx +++ b/fastdds_python/test/types/test_complete.cxx @@ -62,6 +62,7 @@ StructType::StructType( m_string_field = x.m_string_field; m_enum_field = x.m_enum_field; m_enum2_field = x.m_enum2_field; + m_included_module_struct = x.m_included_module_struct; } StructType::StructType( @@ -81,6 +82,7 @@ StructType::StructType( m_string_field = std::move(x.m_string_field); m_enum_field = x.m_enum_field; m_enum2_field = x.m_enum2_field; + m_included_module_struct = std::move(x.m_included_module_struct); } StructType& StructType::operator =( @@ -101,6 +103,7 @@ StructType& StructType::operator =( m_string_field = x.m_string_field; m_enum_field = x.m_enum_field; m_enum2_field = x.m_enum2_field; + m_included_module_struct = x.m_included_module_struct; return *this; } @@ -123,6 +126,7 @@ StructType& StructType::operator =( m_string_field = std::move(x.m_string_field); m_enum_field = x.m_enum_field; m_enum2_field = x.m_enum2_field; + m_included_module_struct = std::move(x.m_included_module_struct); return *this; } @@ -143,7 +147,8 @@ bool StructType::operator ==( m_bool_field == x.m_bool_field && m_string_field == x.m_string_field && m_enum_field == x.m_enum_field && - m_enum2_field == x.m_enum2_field); + m_enum2_field == x.m_enum2_field && + m_included_module_struct == x.m_included_module_struct); } bool StructType::operator !=( @@ -568,6 +573,45 @@ Material& StructType::enum2_field() } +/*! + * @brief This function copies the value in member included_module_struct + * @param _included_module_struct New value to be copied in member included_module_struct + */ +void StructType::included_module_struct( + const eprosima::test2::StructType2& _included_module_struct) +{ + m_included_module_struct = _included_module_struct; +} + +/*! + * @brief This function moves the value in member included_module_struct + * @param _included_module_struct New value to be moved in member included_module_struct + */ +void StructType::included_module_struct( + eprosima::test2::StructType2&& _included_module_struct) +{ + m_included_module_struct = std::move(_included_module_struct); +} + +/*! + * @brief This function returns a constant reference to member included_module_struct + * @return Constant reference to member included_module_struct + */ +const eprosima::test2::StructType2& StructType::included_module_struct() const +{ + return m_included_module_struct; +} + +/*! + * @brief This function returns a reference to member included_module_struct + * @return Reference to member included_module_struct + */ +eprosima::test2::StructType2& StructType::included_module_struct() +{ + return m_included_module_struct; +} + + CompleteTestType::CompleteTestType() diff --git a/fastdds_python/test/types/test_complete.h b/fastdds_python/test/types/test_complete.h index e3465362..fc2437c6 100644 --- a/fastdds_python/test/types/test_complete.h +++ b/fastdds_python/test/types/test_complete.h @@ -32,6 +32,7 @@ #include #include +#include "test_included_modules.h" #if defined(_WIN32) @@ -437,6 +438,33 @@ class StructType */ eProsima_user_DllExport Material& enum2_field(); + + /*! + * @brief This function copies the value in member included_module_struct + * @param _included_module_struct New value to be copied in member included_module_struct + */ + eProsima_user_DllExport void included_module_struct( + const eprosima::test2::StructType2& _included_module_struct); + + /*! + * @brief This function moves the value in member included_module_struct + * @param _included_module_struct New value to be moved in member included_module_struct + */ + eProsima_user_DllExport void included_module_struct( + eprosima::test2::StructType2&& _included_module_struct); + + /*! + * @brief This function returns a constant reference to member included_module_struct + * @return Constant reference to member included_module_struct + */ + eProsima_user_DllExport const eprosima::test2::StructType2& included_module_struct() const; + + /*! + * @brief This function returns a reference to member included_module_struct + * @return Reference to member included_module_struct + */ + eProsima_user_DllExport eprosima::test2::StructType2& included_module_struct(); + private: char m_char_field{0}; @@ -453,6 +481,7 @@ class StructType std::string m_string_field; Color m_enum_field{::RED}; Material m_enum2_field{::WOOD}; + eprosima::test2::StructType2 m_included_module_struct; }; const uint32_t max_array_size = 3; diff --git a/fastdds_python/test/types/test_complete.i b/fastdds_python/test/types/test_complete.i index dcc095a4..79b3aa0e 100644 --- a/fastdds_python/test/types/test_complete.i +++ b/fastdds_python/test/types/test_complete.i @@ -38,6 +38,7 @@ #define RTPS_DllAPI #define eProsima_user_DllExport +%include "test_included_modules.i" %{ #include "test_complete.h" @@ -185,6 +186,15 @@ %rename("%s") StructType::enum2_field() const; +%ignore StructType::included_module_struct(eprosima::test2::StructType2&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore StructType::included_module_struct(); +%rename("%s") StructType::included_module_struct() const; + + %template(_StructTypeSeq) eprosima::fastdds::dds::LoanableTypedCollection; %template(StructTypeSeq) eprosima::fastdds::dds::LoanableSequence; diff --git a/fastdds_python/test/types/test_complete.idl b/fastdds_python/test/types/test_complete.idl index dd0d10e8..3fb6c161 100644 --- a/fastdds_python/test/types/test_complete.idl +++ b/fastdds_python/test/types/test_complete.idl @@ -1,3 +1,5 @@ +#include "test_included_modules.idl" + enum Color { RED, @@ -16,24 +18,24 @@ enum Material STONE }; -@nested struct StructType { - char char_field; - octet uint8_field; - short int16_field; - unsigned short uint16_field; - long int32_field; - unsigned long uint32_field; - long long int64_field; - unsigned long long uint64_field; - float float_field; - double double_field; - //long double long_double_field; - boolean bool_field; - string string_field; - Color enum_field; - Material enum2_field; + char char_field; + octet uint8_field; + short int16_field; + unsigned short uint16_field; + long int32_field; + unsigned long uint32_field; + long long int64_field; + unsigned long long uint64_field; + float float_field; + double double_field; + //long double long_double_field; + boolean bool_field; + string string_field; + Color enum_field; + Material enum2_field; + eprosima::test2::StructType2 included_module_struct; }; const unsigned long max_array_size = 3; diff --git a/fastdds_python/test/types/test_completeCdrAux.hpp b/fastdds_python/test/types/test_completeCdrAux.hpp index 78b6d2a0..92b33d9d 100644 --- a/fastdds_python/test/types/test_completeCdrAux.hpp +++ b/fastdds_python/test/types/test_completeCdrAux.hpp @@ -24,18 +24,21 @@ #include "test_complete.h" -constexpr uint32_t CompleteTestType_max_cdr_typesize {41752UL}; +constexpr uint32_t CompleteTestType_max_cdr_typesize {77504UL}; constexpr uint32_t CompleteTestType_max_key_cdr_typesize {0UL}; -constexpr uint32_t StructType_max_cdr_typesize {328UL}; + +constexpr uint32_t StructType_max_cdr_typesize {656UL}; constexpr uint32_t StructType_max_key_cdr_typesize {0UL}; -constexpr uint32_t KeyedCompleteTestType_max_cdr_typesize {41752UL}; + +constexpr uint32_t KeyedCompleteTestType_max_cdr_typesize {77504UL}; constexpr uint32_t KeyedCompleteTestType_max_key_cdr_typesize {4UL}; + namespace eprosima { namespace fastcdr { @@ -60,4 +63,5 @@ eProsima_user_DllExport void serialize_key( } // namespace fastcdr } // namespace eprosima -#endif // _FAST_DDS_GENERATED_TEST_COMPLETECDRAUX_HPP_ \ No newline at end of file +#endif // _FAST_DDS_GENERATED_TEST_COMPLETECDRAUX_HPP_ + diff --git a/fastdds_python/test/types/test_completeCdrAux.ipp b/fastdds_python/test/types/test_completeCdrAux.ipp index dd558274..482c4a0e 100644 --- a/fastdds_python/test/types/test_completeCdrAux.ipp +++ b/fastdds_python/test/types/test_completeCdrAux.ipp @@ -92,6 +92,9 @@ eProsima_user_DllExport size_t calculate_serialized_size( calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(13), data.enum2_field(), current_alignment); + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(14), + data.included_module_struct(), current_alignment); + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); @@ -124,6 +127,7 @@ eProsima_user_DllExport void serialize( << eprosima::fastcdr::MemberId(11) << data.string_field() << eprosima::fastcdr::MemberId(12) << data.enum_field() << eprosima::fastcdr::MemberId(13) << data.enum2_field() + << eprosima::fastcdr::MemberId(14) << data.included_module_struct() ; scdr.end_serialize_type(current_state); @@ -198,6 +202,10 @@ eProsima_user_DllExport void deserialize( dcdr >> data.enum2_field(); break; + case 14: + dcdr >> data.included_module_struct(); + break; + default: ret_value = false; break; @@ -1338,4 +1346,5 @@ void serialize_key( } // namespace fastcdr } // namespace eprosima -#endif // _FAST_DDS_GENERATED_TEST_COMPLETECDRAUX_IPP_ \ No newline at end of file +#endif // _FAST_DDS_GENERATED_TEST_COMPLETECDRAUX_IPP_ + diff --git a/fastdds_python/test/types/test_completePubSubTypes.h b/fastdds_python/test/types/test_completePubSubTypes.h index 9a9b2b92..ee25b792 100644 --- a/fastdds_python/test/types/test_completePubSubTypes.h +++ b/fastdds_python/test/types/test_completePubSubTypes.h @@ -31,6 +31,7 @@ #include "test_complete.h" +#include "test_included_modulesPubSubTypes.h" #if !defined(GEN_API_VER) || (GEN_API_VER != 2) #error \ diff --git a/fastdds_python/test/types/test_included_modules.cxx b/fastdds_python/test/types/test_included_modules.cxx new file mode 100644 index 00000000..0b1dd736 --- /dev/null +++ b/fastdds_python/test/types/test_included_modules.cxx @@ -0,0 +1,574 @@ +// 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 test_included_modules.cpp + * This source file contains the implementation of the described types in the IDL file. + * + * This file was generated by the tool fastddsgen. + */ + +#ifdef _WIN32 +// Remove linker warning LNK4221 on Visual Studio +namespace { +char dummy; +} // namespace +#endif // _WIN32 + +#include "test_included_modules.h" +#include + + +#include +using namespace eprosima::fastcdr::exception; + +#include + + +eprosima::test2::StructType2::StructType2() +{ + +} + +eprosima::test2::StructType2::~StructType2() +{ +} + +eprosima::test2::StructType2::StructType2( + const StructType2& x) +{ + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = x.m_string_field; + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; +} + +eprosima::test2::StructType2::StructType2( + StructType2&& x) noexcept +{ + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = std::move(x.m_string_field); + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; +} + +eprosima::test2::StructType2& eprosima::test2::StructType2::operator =( + const StructType2& x) +{ + + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = x.m_string_field; + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + + return *this; +} + +eprosima::test2::StructType2& eprosima::test2::StructType2::operator =( + StructType2&& x) noexcept +{ + + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = std::move(x.m_string_field); + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + + return *this; +} + +bool eprosima::test2::StructType2::operator ==( + const StructType2& x) const +{ + return (m_char_field == x.m_char_field && + m_uint8_field == x.m_uint8_field && + m_int16_field == x.m_int16_field && + m_uint16_field == x.m_uint16_field && + m_int32_field == x.m_int32_field && + m_uint32_field == x.m_uint32_field && + m_int64_field == x.m_int64_field && + m_uint64_field == x.m_uint64_field && + m_float_field == x.m_float_field && + m_double_field == x.m_double_field && + m_bool_field == x.m_bool_field && + m_string_field == x.m_string_field && + m_enum_field == x.m_enum_field && + m_enum2_field == x.m_enum2_field); +} + +bool eprosima::test2::StructType2::operator !=( + const StructType2& x) const +{ + return !(*this == x); +} + +/*! + * @brief This function sets a value in member char_field + * @param _char_field New value for member char_field + */ +void eprosima::test2::StructType2::char_field( + char _char_field) +{ + m_char_field = _char_field; +} + +/*! + * @brief This function returns the value of member char_field + * @return Value of member char_field + */ +char eprosima::test2::StructType2::char_field() const +{ + return m_char_field; +} + +/*! + * @brief This function returns a reference to member char_field + * @return Reference to member char_field + */ +char& eprosima::test2::StructType2::char_field() +{ + return m_char_field; +} + + +/*! + * @brief This function sets a value in member uint8_field + * @param _uint8_field New value for member uint8_field + */ +void eprosima::test2::StructType2::uint8_field( + uint8_t _uint8_field) +{ + m_uint8_field = _uint8_field; +} + +/*! + * @brief This function returns the value of member uint8_field + * @return Value of member uint8_field + */ +uint8_t eprosima::test2::StructType2::uint8_field() const +{ + return m_uint8_field; +} + +/*! + * @brief This function returns a reference to member uint8_field + * @return Reference to member uint8_field + */ +uint8_t& eprosima::test2::StructType2::uint8_field() +{ + return m_uint8_field; +} + + +/*! + * @brief This function sets a value in member int16_field + * @param _int16_field New value for member int16_field + */ +void eprosima::test2::StructType2::int16_field( + int16_t _int16_field) +{ + m_int16_field = _int16_field; +} + +/*! + * @brief This function returns the value of member int16_field + * @return Value of member int16_field + */ +int16_t eprosima::test2::StructType2::int16_field() const +{ + return m_int16_field; +} + +/*! + * @brief This function returns a reference to member int16_field + * @return Reference to member int16_field + */ +int16_t& eprosima::test2::StructType2::int16_field() +{ + return m_int16_field; +} + + +/*! + * @brief This function sets a value in member uint16_field + * @param _uint16_field New value for member uint16_field + */ +void eprosima::test2::StructType2::uint16_field( + uint16_t _uint16_field) +{ + m_uint16_field = _uint16_field; +} + +/*! + * @brief This function returns the value of member uint16_field + * @return Value of member uint16_field + */ +uint16_t eprosima::test2::StructType2::uint16_field() const +{ + return m_uint16_field; +} + +/*! + * @brief This function returns a reference to member uint16_field + * @return Reference to member uint16_field + */ +uint16_t& eprosima::test2::StructType2::uint16_field() +{ + return m_uint16_field; +} + + +/*! + * @brief This function sets a value in member int32_field + * @param _int32_field New value for member int32_field + */ +void eprosima::test2::StructType2::int32_field( + int32_t _int32_field) +{ + m_int32_field = _int32_field; +} + +/*! + * @brief This function returns the value of member int32_field + * @return Value of member int32_field + */ +int32_t eprosima::test2::StructType2::int32_field() const +{ + return m_int32_field; +} + +/*! + * @brief This function returns a reference to member int32_field + * @return Reference to member int32_field + */ +int32_t& eprosima::test2::StructType2::int32_field() +{ + return m_int32_field; +} + + +/*! + * @brief This function sets a value in member uint32_field + * @param _uint32_field New value for member uint32_field + */ +void eprosima::test2::StructType2::uint32_field( + uint32_t _uint32_field) +{ + m_uint32_field = _uint32_field; +} + +/*! + * @brief This function returns the value of member uint32_field + * @return Value of member uint32_field + */ +uint32_t eprosima::test2::StructType2::uint32_field() const +{ + return m_uint32_field; +} + +/*! + * @brief This function returns a reference to member uint32_field + * @return Reference to member uint32_field + */ +uint32_t& eprosima::test2::StructType2::uint32_field() +{ + return m_uint32_field; +} + + +/*! + * @brief This function sets a value in member int64_field + * @param _int64_field New value for member int64_field + */ +void eprosima::test2::StructType2::int64_field( + int64_t _int64_field) +{ + m_int64_field = _int64_field; +} + +/*! + * @brief This function returns the value of member int64_field + * @return Value of member int64_field + */ +int64_t eprosima::test2::StructType2::int64_field() const +{ + return m_int64_field; +} + +/*! + * @brief This function returns a reference to member int64_field + * @return Reference to member int64_field + */ +int64_t& eprosima::test2::StructType2::int64_field() +{ + return m_int64_field; +} + + +/*! + * @brief This function sets a value in member uint64_field + * @param _uint64_field New value for member uint64_field + */ +void eprosima::test2::StructType2::uint64_field( + uint64_t _uint64_field) +{ + m_uint64_field = _uint64_field; +} + +/*! + * @brief This function returns the value of member uint64_field + * @return Value of member uint64_field + */ +uint64_t eprosima::test2::StructType2::uint64_field() const +{ + return m_uint64_field; +} + +/*! + * @brief This function returns a reference to member uint64_field + * @return Reference to member uint64_field + */ +uint64_t& eprosima::test2::StructType2::uint64_field() +{ + return m_uint64_field; +} + + +/*! + * @brief This function sets a value in member float_field + * @param _float_field New value for member float_field + */ +void eprosima::test2::StructType2::float_field( + float _float_field) +{ + m_float_field = _float_field; +} + +/*! + * @brief This function returns the value of member float_field + * @return Value of member float_field + */ +float eprosima::test2::StructType2::float_field() const +{ + return m_float_field; +} + +/*! + * @brief This function returns a reference to member float_field + * @return Reference to member float_field + */ +float& eprosima::test2::StructType2::float_field() +{ + return m_float_field; +} + + +/*! + * @brief This function sets a value in member double_field + * @param _double_field New value for member double_field + */ +void eprosima::test2::StructType2::double_field( + double _double_field) +{ + m_double_field = _double_field; +} + +/*! + * @brief This function returns the value of member double_field + * @return Value of member double_field + */ +double eprosima::test2::StructType2::double_field() const +{ + return m_double_field; +} + +/*! + * @brief This function returns a reference to member double_field + * @return Reference to member double_field + */ +double& eprosima::test2::StructType2::double_field() +{ + return m_double_field; +} + + +/*! + * @brief This function sets a value in member bool_field + * @param _bool_field New value for member bool_field + */ +void eprosima::test2::StructType2::bool_field( + bool _bool_field) +{ + m_bool_field = _bool_field; +} + +/*! + * @brief This function returns the value of member bool_field + * @return Value of member bool_field + */ +bool eprosima::test2::StructType2::bool_field() const +{ + return m_bool_field; +} + +/*! + * @brief This function returns a reference to member bool_field + * @return Reference to member bool_field + */ +bool& eprosima::test2::StructType2::bool_field() +{ + return m_bool_field; +} + + +/*! + * @brief This function copies the value in member string_field + * @param _string_field New value to be copied in member string_field + */ +void eprosima::test2::StructType2::string_field( + const std::string& _string_field) +{ + m_string_field = _string_field; +} + +/*! + * @brief This function moves the value in member string_field + * @param _string_field New value to be moved in member string_field + */ +void eprosima::test2::StructType2::string_field( + std::string&& _string_field) +{ + m_string_field = std::move(_string_field); +} + +/*! + * @brief This function returns a constant reference to member string_field + * @return Constant reference to member string_field + */ +const std::string& eprosima::test2::StructType2::string_field() const +{ + return m_string_field; +} + +/*! + * @brief This function returns a reference to member string_field + * @return Reference to member string_field + */ +std::string& eprosima::test2::StructType2::string_field() +{ + return m_string_field; +} + + +/*! + * @brief This function sets a value in member enum_field + * @param _enum_field New value for member enum_field + */ +void eprosima::test2::StructType2::enum_field( + eprosima::test2::Color2 _enum_field) +{ + m_enum_field = _enum_field; +} + +/*! + * @brief This function returns the value of member enum_field + * @return Value of member enum_field + */ +eprosima::test2::Color2 eprosima::test2::StructType2::enum_field() const +{ + return m_enum_field; +} + +/*! + * @brief This function returns a reference to member enum_field + * @return Reference to member enum_field + */ +eprosima::test2::Color2& eprosima::test2::StructType2::enum_field() +{ + return m_enum_field; +} + + +/*! + * @brief This function sets a value in member enum2_field + * @param _enum2_field New value for member enum2_field + */ +void eprosima::test2::StructType2::enum2_field( + eprosima::test2::Material2 _enum2_field) +{ + m_enum2_field = _enum2_field; +} + +/*! + * @brief This function returns the value of member enum2_field + * @return Value of member enum2_field + */ +eprosima::test2::Material2 eprosima::test2::StructType2::enum2_field() const +{ + return m_enum2_field; +} + +/*! + * @brief This function returns a reference to member enum2_field + * @return Reference to member enum2_field + */ +eprosima::test2::Material2& eprosima::test2::StructType2::enum2_field() +{ + return m_enum2_field; +} + + + + +// Include auxiliary functions like for serializing/deserializing. +#include "test_included_modulesCdrAux.ipp" diff --git a/fastdds_python/test/types/test_included_modules.h b/fastdds_python/test/types/test_included_modules.h new file mode 100644 index 00000000..e673716d --- /dev/null +++ b/fastdds_python/test/types/test_included_modules.h @@ -0,0 +1,464 @@ +// 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 test_included_modules.h + * This header file contains the declaration of the described types in the IDL file. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULES_H_ +#define _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULES_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(TEST_INCLUDED_MODULES_SOURCE) +#define TEST_INCLUDED_MODULES_DllAPI __declspec( dllexport ) +#else +#define TEST_INCLUDED_MODULES_DllAPI __declspec( dllimport ) +#endif // TEST_INCLUDED_MODULES_SOURCE +#else +#define TEST_INCLUDED_MODULES_DllAPI +#endif // EPROSIMA_USER_DLL_EXPORT +#else +#define TEST_INCLUDED_MODULES_DllAPI +#endif // _WIN32 + +namespace eprosima { +namespace fastcdr { +class Cdr; +class CdrSizeCalculator; +} // namespace fastcdr +} // namespace eprosima + + + +namespace eprosima { + namespace test2 { + /*! + * @brief This class represents the enumeration Color2 defined by the user in the IDL file. + * @ingroup test_included_modules + */ + enum Color2 : uint32_t + { + RED2, + GREEN2, + BLUE2, + YELLOW2, + MAGENTA2 + }; + /*! + * @brief This class represents the enumeration Material2 defined by the user in the IDL file. + * @ingroup test_included_modules + */ + enum Material2 : uint32_t + { + WOOD2, + PLASTIC2, + METAL2, + CONCRETE2, + STONE2 + }; + /*! + * @brief This class represents the structure StructType2 defined by the user in the IDL file. + * @ingroup test_included_modules + */ + class StructType2 + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport StructType2(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~StructType2(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::test2::StructType2 that will be copied. + */ + eProsima_user_DllExport StructType2( + const StructType2& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::test2::StructType2 that will be copied. + */ + eProsima_user_DllExport StructType2( + StructType2&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::test2::StructType2 that will be copied. + */ + eProsima_user_DllExport StructType2& operator =( + const StructType2& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::test2::StructType2 that will be copied. + */ + eProsima_user_DllExport StructType2& operator =( + StructType2&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::test2::StructType2 object to compare. + */ + eProsima_user_DllExport bool operator ==( + const StructType2& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::test2::StructType2 object to compare. + */ + eProsima_user_DllExport bool operator !=( + const StructType2& x) const; + + /*! + * @brief This function sets a value in member char_field + * @param _char_field New value for member char_field + */ + eProsima_user_DllExport void char_field( + char _char_field); + + /*! + * @brief This function returns the value of member char_field + * @return Value of member char_field + */ + eProsima_user_DllExport char char_field() const; + + /*! + * @brief This function returns a reference to member char_field + * @return Reference to member char_field + */ + eProsima_user_DllExport char& char_field(); + + + /*! + * @brief This function sets a value in member uint8_field + * @param _uint8_field New value for member uint8_field + */ + eProsima_user_DllExport void uint8_field( + uint8_t _uint8_field); + + /*! + * @brief This function returns the value of member uint8_field + * @return Value of member uint8_field + */ + eProsima_user_DllExport uint8_t uint8_field() const; + + /*! + * @brief This function returns a reference to member uint8_field + * @return Reference to member uint8_field + */ + eProsima_user_DllExport uint8_t& uint8_field(); + + + /*! + * @brief This function sets a value in member int16_field + * @param _int16_field New value for member int16_field + */ + eProsima_user_DllExport void int16_field( + int16_t _int16_field); + + /*! + * @brief This function returns the value of member int16_field + * @return Value of member int16_field + */ + eProsima_user_DllExport int16_t int16_field() const; + + /*! + * @brief This function returns a reference to member int16_field + * @return Reference to member int16_field + */ + eProsima_user_DllExport int16_t& int16_field(); + + + /*! + * @brief This function sets a value in member uint16_field + * @param _uint16_field New value for member uint16_field + */ + eProsima_user_DllExport void uint16_field( + uint16_t _uint16_field); + + /*! + * @brief This function returns the value of member uint16_field + * @return Value of member uint16_field + */ + eProsima_user_DllExport uint16_t uint16_field() const; + + /*! + * @brief This function returns a reference to member uint16_field + * @return Reference to member uint16_field + */ + eProsima_user_DllExport uint16_t& uint16_field(); + + + /*! + * @brief This function sets a value in member int32_field + * @param _int32_field New value for member int32_field + */ + eProsima_user_DllExport void int32_field( + int32_t _int32_field); + + /*! + * @brief This function returns the value of member int32_field + * @return Value of member int32_field + */ + eProsima_user_DllExport int32_t int32_field() const; + + /*! + * @brief This function returns a reference to member int32_field + * @return Reference to member int32_field + */ + eProsima_user_DllExport int32_t& int32_field(); + + + /*! + * @brief This function sets a value in member uint32_field + * @param _uint32_field New value for member uint32_field + */ + eProsima_user_DllExport void uint32_field( + uint32_t _uint32_field); + + /*! + * @brief This function returns the value of member uint32_field + * @return Value of member uint32_field + */ + eProsima_user_DllExport uint32_t uint32_field() const; + + /*! + * @brief This function returns a reference to member uint32_field + * @return Reference to member uint32_field + */ + eProsima_user_DllExport uint32_t& uint32_field(); + + + /*! + * @brief This function sets a value in member int64_field + * @param _int64_field New value for member int64_field + */ + eProsima_user_DllExport void int64_field( + int64_t _int64_field); + + /*! + * @brief This function returns the value of member int64_field + * @return Value of member int64_field + */ + eProsima_user_DllExport int64_t int64_field() const; + + /*! + * @brief This function returns a reference to member int64_field + * @return Reference to member int64_field + */ + eProsima_user_DllExport int64_t& int64_field(); + + + /*! + * @brief This function sets a value in member uint64_field + * @param _uint64_field New value for member uint64_field + */ + eProsima_user_DllExport void uint64_field( + uint64_t _uint64_field); + + /*! + * @brief This function returns the value of member uint64_field + * @return Value of member uint64_field + */ + eProsima_user_DllExport uint64_t uint64_field() const; + + /*! + * @brief This function returns a reference to member uint64_field + * @return Reference to member uint64_field + */ + eProsima_user_DllExport uint64_t& uint64_field(); + + + /*! + * @brief This function sets a value in member float_field + * @param _float_field New value for member float_field + */ + eProsima_user_DllExport void float_field( + float _float_field); + + /*! + * @brief This function returns the value of member float_field + * @return Value of member float_field + */ + eProsima_user_DllExport float float_field() const; + + /*! + * @brief This function returns a reference to member float_field + * @return Reference to member float_field + */ + eProsima_user_DllExport float& float_field(); + + + /*! + * @brief This function sets a value in member double_field + * @param _double_field New value for member double_field + */ + eProsima_user_DllExport void double_field( + double _double_field); + + /*! + * @brief This function returns the value of member double_field + * @return Value of member double_field + */ + eProsima_user_DllExport double double_field() const; + + /*! + * @brief This function returns a reference to member double_field + * @return Reference to member double_field + */ + eProsima_user_DllExport double& double_field(); + + + /*! + * @brief This function sets a value in member bool_field + * @param _bool_field New value for member bool_field + */ + eProsima_user_DllExport void bool_field( + bool _bool_field); + + /*! + * @brief This function returns the value of member bool_field + * @return Value of member bool_field + */ + eProsima_user_DllExport bool bool_field() const; + + /*! + * @brief This function returns a reference to member bool_field + * @return Reference to member bool_field + */ + eProsima_user_DllExport bool& bool_field(); + + + /*! + * @brief This function copies the value in member string_field + * @param _string_field New value to be copied in member string_field + */ + eProsima_user_DllExport void string_field( + const std::string& _string_field); + + /*! + * @brief This function moves the value in member string_field + * @param _string_field New value to be moved in member string_field + */ + eProsima_user_DllExport void string_field( + std::string&& _string_field); + + /*! + * @brief This function returns a constant reference to member string_field + * @return Constant reference to member string_field + */ + eProsima_user_DllExport const std::string& string_field() const; + + /*! + * @brief This function returns a reference to member string_field + * @return Reference to member string_field + */ + eProsima_user_DllExport std::string& string_field(); + + + /*! + * @brief This function sets a value in member enum_field + * @param _enum_field New value for member enum_field + */ + eProsima_user_DllExport void enum_field( + eprosima::test2::Color2 _enum_field); + + /*! + * @brief This function returns the value of member enum_field + * @return Value of member enum_field + */ + eProsima_user_DllExport eprosima::test2::Color2 enum_field() const; + + /*! + * @brief This function returns a reference to member enum_field + * @return Reference to member enum_field + */ + eProsima_user_DllExport eprosima::test2::Color2& enum_field(); + + + /*! + * @brief This function sets a value in member enum2_field + * @param _enum2_field New value for member enum2_field + */ + eProsima_user_DllExport void enum2_field( + eprosima::test2::Material2 _enum2_field); + + /*! + * @brief This function returns the value of member enum2_field + * @return Value of member enum2_field + */ + eProsima_user_DllExport eprosima::test2::Material2 enum2_field() const; + + /*! + * @brief This function returns a reference to member enum2_field + * @return Reference to member enum2_field + */ + eProsima_user_DllExport eprosima::test2::Material2& enum2_field(); + + private: + + char m_char_field{0}; + uint8_t m_uint8_field{0}; + int16_t m_int16_field{0}; + uint16_t m_uint16_field{0}; + int32_t m_int32_field{0}; + uint32_t m_uint32_field{0}; + int64_t m_int64_field{0}; + uint64_t m_uint64_field{0}; + float m_float_field{0.0}; + double m_double_field{0.0}; + bool m_bool_field{false}; + std::string m_string_field; + eprosima::test2::Color2 m_enum_field{eprosima::test2::RED2}; + eprosima::test2::Material2 m_enum2_field{eprosima::test2::WOOD2}; + + }; + } // namespace test2 +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULES_H_ + diff --git a/fastdds_python/test/types/test_included_modules.i b/fastdds_python/test/types/test_included_modules.i new file mode 100644 index 00000000..59acca05 --- /dev/null +++ b/fastdds_python/test/types/test_included_modules.i @@ -0,0 +1,212 @@ +// 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 test_included_modules.i + * This header file contains the SWIG interface of the described types in the IDL file. + * + * This file was generated by the tool fastddsgen. + */ + +%module test_included_modules + +// SWIG helper modules +%include "stdint.i" +%include "std_array.i" +%include "std_map.i" +%include "std_string.i" +%include "std_vector.i" +%include "typemaps.i" + +// Assignemt operators are ignored, as there is no such thing in Python. +// Trying to export them issues a warning +%ignore *::operator=; + +// Macro declarations +// Any macro used on the Fast DDS header files will give an error if it is not redefined here +#define RTPS_DllAPI +#define eProsima_user_DllExport + + +%{ +#include "test_included_modules.h" + +#include +%} + +%import(module="fastdds") "fastdds/dds/core/LoanableCollection.hpp" +%import(module="fastdds") "fastdds/dds/core/LoanableTypedCollection.hpp" +%import(module="fastdds") "fastdds/dds/core/LoanableSequence.hpp" + +//////////////////////////////////////////////////////// +// Binding for class eprosima::test2::StructType2 +//////////////////////////////////////////////////////// + +// Ignore overloaded methods that have no application on Python +// Otherwise they will issue a warning +%ignore eprosima::test2::StructType2::StructType2(eprosima::test2::StructType2&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Avoid a warning ignoring all but one +%ignore eprosima::test2::StructType2::char_field(char&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::char_field(); +%rename("%s") eprosima::test2::StructType2::char_field() const; + + +%ignore eprosima::test2::StructType2::uint8_field(uint8_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::uint8_field(); +%rename("%s") eprosima::test2::StructType2::uint8_field() const; + + +%ignore eprosima::test2::StructType2::int16_field(int16_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::int16_field(); +%rename("%s") eprosima::test2::StructType2::int16_field() const; + + +%ignore eprosima::test2::StructType2::uint16_field(uint16_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::uint16_field(); +%rename("%s") eprosima::test2::StructType2::uint16_field() const; + + +%ignore eprosima::test2::StructType2::int32_field(int32_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::int32_field(); +%rename("%s") eprosima::test2::StructType2::int32_field() const; + + +%ignore eprosima::test2::StructType2::uint32_field(uint32_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::uint32_field(); +%rename("%s") eprosima::test2::StructType2::uint32_field() const; + + +%ignore eprosima::test2::StructType2::int64_field(int64_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::int64_field(); +%rename("%s") eprosima::test2::StructType2::int64_field() const; + + +%ignore eprosima::test2::StructType2::uint64_field(uint64_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::uint64_field(); +%rename("%s") eprosima::test2::StructType2::uint64_field() const; + + +%ignore eprosima::test2::StructType2::float_field(float&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::float_field(); +%rename("%s") eprosima::test2::StructType2::float_field() const; + + +%ignore eprosima::test2::StructType2::double_field(double&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::double_field(); +%rename("%s") eprosima::test2::StructType2::double_field() const; + + +%ignore eprosima::test2::StructType2::bool_field(bool&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::bool_field(); +%rename("%s") eprosima::test2::StructType2::bool_field() const; + + +%ignore eprosima::test2::StructType2::string_field(std::string&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::string_field(); +%rename("%s") eprosima::test2::StructType2::string_field() const; + + +%ignore eprosima::test2::StructType2::enum_field(eprosima::test2::Color2&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::enum_field(); +%rename("%s") eprosima::test2::StructType2::enum_field() const; + + +%ignore eprosima::test2::StructType2::enum2_field(eprosima::test2::Material2&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test2::StructType2::enum2_field(); +%rename("%s") eprosima::test2::StructType2::enum2_field() const; + + + +%template(_StructType2Seq) eprosima::fastdds::dds::LoanableTypedCollection; +%template(StructType2Seq) eprosima::fastdds::dds::LoanableSequence; +%extend eprosima::fastdds::dds::LoanableSequence +{ + size_t __len__() const + { + return self->length(); + } + + const eprosima::test2::StructType2& __getitem__(size_t i) const + { + return (*self)[i]; + } +} + + + + +// Include the class interfaces +%include "test_included_modules.h" + +// Include the corresponding TopicDataType +%include "test_included_modulesPubSubTypes.i" + diff --git a/fastdds_python/test/types/test_included_modules.idl b/fastdds_python/test/types/test_included_modules.idl new file mode 100644 index 00000000..b689bc8a --- /dev/null +++ b/fastdds_python/test/types/test_included_modules.idl @@ -0,0 +1,42 @@ +module eprosima +{ + module test2 + { + enum Color2 + { + RED2, + GREEN2, + BLUE2, + YELLOW2, + MAGENTA2 + }; + + enum Material2 + { + WOOD2, + PLASTIC2, + METAL2, + CONCRETE2, + STONE2 + }; + + struct StructType2 + { + char char_field; + octet uint8_field; + short int16_field; + unsigned short uint16_field; + long int32_field; + unsigned long uint32_field; + long long int64_field; + unsigned long long uint64_field; + float float_field; + double double_field; + //long double long_double_field; + boolean bool_field; + string string_field; + Color2 enum_field; + Material2 enum2_field; + }; + }; +}; diff --git a/fastdds_python/test/types/test_included_modulesCdrAux.hpp b/fastdds_python/test/types/test_included_modulesCdrAux.hpp new file mode 100644 index 00000000..95994fec --- /dev/null +++ b/fastdds_python/test/types/test_included_modulesCdrAux.hpp @@ -0,0 +1,49 @@ +// 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 test_included_modulesCdrAux.hpp + * This source file contains some definitions of CDR related functions. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULESCDRAUX_HPP_ +#define _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULESCDRAUX_HPP_ + +#include "test_included_modules.h" + +constexpr uint32_t eprosima_test2_StructType2_max_cdr_typesize {328UL}; +constexpr uint32_t eprosima_test2_StructType2_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::test2::StructType2& data); + + + + +} // namespace fastcdr +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULESCDRAUX_HPP_ + diff --git a/fastdds_python/test/types/test_included_modulesCdrAux.ipp b/fastdds_python/test/types/test_included_modulesCdrAux.ipp new file mode 100644 index 00000000..81e98a1e --- /dev/null +++ b/fastdds_python/test/types/test_included_modulesCdrAux.ipp @@ -0,0 +1,225 @@ +// 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 test_included_modulesCdrAux.ipp + * This source file contains some declarations of CDR related functions. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULESCDRAUX_IPP_ +#define _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULESCDRAUX_IPP_ + +#include "test_included_modulesCdrAux.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::test2::StructType2& data, + size_t& current_alignment) +{ + 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.char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(6), + data.int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(7), + data.uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(8), + data.float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(9), + data.double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(10), + data.bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(11), + data.string_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(12), + data.enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(13), + data.enum2_field(), 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::test2::StructType2& data) +{ + 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.char_field() + << eprosima::fastcdr::MemberId(1) << data.uint8_field() + << eprosima::fastcdr::MemberId(2) << data.int16_field() + << eprosima::fastcdr::MemberId(3) << data.uint16_field() + << eprosima::fastcdr::MemberId(4) << data.int32_field() + << eprosima::fastcdr::MemberId(5) << data.uint32_field() + << eprosima::fastcdr::MemberId(6) << data.int64_field() + << eprosima::fastcdr::MemberId(7) << data.uint64_field() + << eprosima::fastcdr::MemberId(8) << data.float_field() + << eprosima::fastcdr::MemberId(9) << data.double_field() + << eprosima::fastcdr::MemberId(10) << data.bool_field() + << eprosima::fastcdr::MemberId(11) << data.string_field() + << eprosima::fastcdr::MemberId(12) << data.enum_field() + << eprosima::fastcdr::MemberId(13) << data.enum2_field() +; + + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::test2::StructType2& data) +{ + 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.char_field(); + break; + + case 1: + dcdr >> data.uint8_field(); + break; + + case 2: + dcdr >> data.int16_field(); + break; + + case 3: + dcdr >> data.uint16_field(); + break; + + case 4: + dcdr >> data.int32_field(); + break; + + case 5: + dcdr >> data.uint32_field(); + break; + + case 6: + dcdr >> data.int64_field(); + break; + + case 7: + dcdr >> data.uint64_field(); + break; + + case 8: + dcdr >> data.float_field(); + break; + + case 9: + dcdr >> data.double_field(); + break; + + case 10: + dcdr >> data.bool_field(); + break; + + case 11: + dcdr >> data.string_field(); + break; + + case 12: + dcdr >> data.enum_field(); + break; + + case 13: + dcdr >> data.enum2_field(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::test2::StructType2& data) +{ + static_cast(scdr); + static_cast(data); +} + + + + + +} // namespace fastcdr +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULESCDRAUX_IPP_ + diff --git a/fastdds_python/test/types/test_included_modulesPubSubTypes.cxx b/fastdds_python/test/types/test_included_modulesPubSubTypes.cxx new file mode 100644 index 00000000..b5e441d5 --- /dev/null +++ b/fastdds_python/test/types/test_included_modulesPubSubTypes.cxx @@ -0,0 +1,193 @@ +// 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 test_included_modulesPubSubTypes.cpp + * This header file contains the implementation of the serialization functions. + * + * This file was generated by the tool fastddsgen. + */ + + +#include +#include +#include + +#include "test_included_modulesPubSubTypes.h" +#include "test_included_modulesCdrAux.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 test2 { + StructType2PubSubType::StructType2PubSubType() + { + setName("eprosima::test2::StructType2"); + uint32_t type_size = eprosima_test2_StructType2_max_cdr_typesize; + 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_test2_StructType2_max_key_cdr_typesize > 16 ? eprosima_test2_StructType2_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + StructType2PubSubType::~StructType2PubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool StructType2PubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + StructType2* 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; + ser.set_encoding_flag( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR : + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2); + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + payload->length = static_cast(ser.get_serialized_data_length()); + return true; + } + + bool StructType2PubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + StructType2* 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); + + // 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 StructType2PubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + 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*/; + }; + } + + void* StructType2PubSubType::createData() + { + return reinterpret_cast(new StructType2()); + } + + void StructType2PubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool StructType2PubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + StructType2* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_test2_StructType2_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS); + eprosima::fastcdr::serialize_key(ser, *p_type); + if (force_md5 || eprosima_test2_StructType2_max_key_cdr_typesize > 16) + { + m_md5.init(); + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + 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 test2 + + +} //End of namespace eprosima + diff --git a/fastdds_python/test/types/test_included_modulesPubSubTypes.h b/fastdds_python/test/types/test_included_modulesPubSubTypes.h new file mode 100644 index 00000000..f235b871 --- /dev/null +++ b/fastdds_python/test/types/test_included_modulesPubSubTypes.h @@ -0,0 +1,136 @@ +// 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 test_included_modulesPubSubTypes.h + * This header file contains the declaration of the serialization functions. + * + * This file was generated by the tool fastddsgen. + */ + + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULES_PUBSUBTYPES_H_ +#define _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULES_PUBSUBTYPES_H_ + +#include +#include +#include +#include +#include + +#include "test_included_modules.h" + + +#if !defined(GEN_API_VER) || (GEN_API_VER != 2) +#error \ + Generated test_included_modules is not compatible with current installed Fast DDS. Please, regenerate it with fastddsgen. +#endif // GEN_API_VER + +namespace eprosima +{ + namespace test2 + { + + /*! + * @brief This class represents the TopicDataType of the type StructType2 defined by the user in the IDL file. + * @ingroup test_included_modules + */ + class StructType2PubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef StructType2 type; + + eProsima_user_DllExport StructType2PubSubType(); + + eProsima_user_DllExport ~StructType2PubSubType() 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; + + }; + } +} + +#endif // _FAST_DDS_GENERATED_EPROSIMA_TEST2_TEST_INCLUDED_MODULES_PUBSUBTYPES_H_ + diff --git a/fastdds_python/test/types/test_included_modulesPubSubTypes.i b/fastdds_python/test/types/test_included_modulesPubSubTypes.i new file mode 100644 index 00000000..3c3a2891 --- /dev/null +++ b/fastdds_python/test/types/test_included_modulesPubSubTypes.i @@ -0,0 +1,30 @@ +// 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 test_included_modulesPubSubTypes.i + * This header file contains the SWIG interface of the serialization functions. + * + * This file was generated by the tool fastddsgen. + */ + +%import(module="fastdds") "fastdds/dds/topic/TopicDataType.hpp"; + +%{ +#include "test_included_modulesPubSubTypes.h" +%} + +#define GEN_API_VER 2 + +%include "test_included_modulesPubSubTypes.h" diff --git a/fastdds_python/test/types/test_modules.cxx b/fastdds_python/test/types/test_modules.cxx new file mode 100644 index 00000000..82eb8096 --- /dev/null +++ b/fastdds_python/test/types/test_modules.cxx @@ -0,0 +1,5458 @@ +// 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 test_modules.cpp + * This source file contains the implementation of the described types in the IDL file. + * + * This file was generated by the tool fastddsgen. + */ + +#ifdef _WIN32 +// Remove linker warning LNK4221 on Visual Studio +namespace { +char dummy; +} // namespace +#endif // _WIN32 + +#include "test_modules.h" +#include + + +#include +using namespace eprosima::fastcdr::exception; + +#include + + +eprosima::test::StructType::StructType() +{ + +} + +eprosima::test::StructType::~StructType() +{ +} + +eprosima::test::StructType::StructType( + const StructType& x) +{ + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = x.m_string_field; + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; +} + +eprosima::test::StructType::StructType( + StructType&& x) noexcept +{ + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = std::move(x.m_string_field); + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; +} + +eprosima::test::StructType& eprosima::test::StructType::operator =( + const StructType& x) +{ + + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = x.m_string_field; + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + + return *this; +} + +eprosima::test::StructType& eprosima::test::StructType::operator =( + StructType&& x) noexcept +{ + + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = std::move(x.m_string_field); + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + + return *this; +} + +bool eprosima::test::StructType::operator ==( + const StructType& x) const +{ + return (m_char_field == x.m_char_field && + m_uint8_field == x.m_uint8_field && + m_int16_field == x.m_int16_field && + m_uint16_field == x.m_uint16_field && + m_int32_field == x.m_int32_field && + m_uint32_field == x.m_uint32_field && + m_int64_field == x.m_int64_field && + m_uint64_field == x.m_uint64_field && + m_float_field == x.m_float_field && + m_double_field == x.m_double_field && + m_bool_field == x.m_bool_field && + m_string_field == x.m_string_field && + m_enum_field == x.m_enum_field && + m_enum2_field == x.m_enum2_field); +} + +bool eprosima::test::StructType::operator !=( + const StructType& x) const +{ + return !(*this == x); +} + +/*! + * @brief This function sets a value in member char_field + * @param _char_field New value for member char_field + */ +void eprosima::test::StructType::char_field( + char _char_field) +{ + m_char_field = _char_field; +} + +/*! + * @brief This function returns the value of member char_field + * @return Value of member char_field + */ +char eprosima::test::StructType::char_field() const +{ + return m_char_field; +} + +/*! + * @brief This function returns a reference to member char_field + * @return Reference to member char_field + */ +char& eprosima::test::StructType::char_field() +{ + return m_char_field; +} + + +/*! + * @brief This function sets a value in member uint8_field + * @param _uint8_field New value for member uint8_field + */ +void eprosima::test::StructType::uint8_field( + uint8_t _uint8_field) +{ + m_uint8_field = _uint8_field; +} + +/*! + * @brief This function returns the value of member uint8_field + * @return Value of member uint8_field + */ +uint8_t eprosima::test::StructType::uint8_field() const +{ + return m_uint8_field; +} + +/*! + * @brief This function returns a reference to member uint8_field + * @return Reference to member uint8_field + */ +uint8_t& eprosima::test::StructType::uint8_field() +{ + return m_uint8_field; +} + + +/*! + * @brief This function sets a value in member int16_field + * @param _int16_field New value for member int16_field + */ +void eprosima::test::StructType::int16_field( + int16_t _int16_field) +{ + m_int16_field = _int16_field; +} + +/*! + * @brief This function returns the value of member int16_field + * @return Value of member int16_field + */ +int16_t eprosima::test::StructType::int16_field() const +{ + return m_int16_field; +} + +/*! + * @brief This function returns a reference to member int16_field + * @return Reference to member int16_field + */ +int16_t& eprosima::test::StructType::int16_field() +{ + return m_int16_field; +} + + +/*! + * @brief This function sets a value in member uint16_field + * @param _uint16_field New value for member uint16_field + */ +void eprosima::test::StructType::uint16_field( + uint16_t _uint16_field) +{ + m_uint16_field = _uint16_field; +} + +/*! + * @brief This function returns the value of member uint16_field + * @return Value of member uint16_field + */ +uint16_t eprosima::test::StructType::uint16_field() const +{ + return m_uint16_field; +} + +/*! + * @brief This function returns a reference to member uint16_field + * @return Reference to member uint16_field + */ +uint16_t& eprosima::test::StructType::uint16_field() +{ + return m_uint16_field; +} + + +/*! + * @brief This function sets a value in member int32_field + * @param _int32_field New value for member int32_field + */ +void eprosima::test::StructType::int32_field( + int32_t _int32_field) +{ + m_int32_field = _int32_field; +} + +/*! + * @brief This function returns the value of member int32_field + * @return Value of member int32_field + */ +int32_t eprosima::test::StructType::int32_field() const +{ + return m_int32_field; +} + +/*! + * @brief This function returns a reference to member int32_field + * @return Reference to member int32_field + */ +int32_t& eprosima::test::StructType::int32_field() +{ + return m_int32_field; +} + + +/*! + * @brief This function sets a value in member uint32_field + * @param _uint32_field New value for member uint32_field + */ +void eprosima::test::StructType::uint32_field( + uint32_t _uint32_field) +{ + m_uint32_field = _uint32_field; +} + +/*! + * @brief This function returns the value of member uint32_field + * @return Value of member uint32_field + */ +uint32_t eprosima::test::StructType::uint32_field() const +{ + return m_uint32_field; +} + +/*! + * @brief This function returns a reference to member uint32_field + * @return Reference to member uint32_field + */ +uint32_t& eprosima::test::StructType::uint32_field() +{ + return m_uint32_field; +} + + +/*! + * @brief This function sets a value in member int64_field + * @param _int64_field New value for member int64_field + */ +void eprosima::test::StructType::int64_field( + int64_t _int64_field) +{ + m_int64_field = _int64_field; +} + +/*! + * @brief This function returns the value of member int64_field + * @return Value of member int64_field + */ +int64_t eprosima::test::StructType::int64_field() const +{ + return m_int64_field; +} + +/*! + * @brief This function returns a reference to member int64_field + * @return Reference to member int64_field + */ +int64_t& eprosima::test::StructType::int64_field() +{ + return m_int64_field; +} + + +/*! + * @brief This function sets a value in member uint64_field + * @param _uint64_field New value for member uint64_field + */ +void eprosima::test::StructType::uint64_field( + uint64_t _uint64_field) +{ + m_uint64_field = _uint64_field; +} + +/*! + * @brief This function returns the value of member uint64_field + * @return Value of member uint64_field + */ +uint64_t eprosima::test::StructType::uint64_field() const +{ + return m_uint64_field; +} + +/*! + * @brief This function returns a reference to member uint64_field + * @return Reference to member uint64_field + */ +uint64_t& eprosima::test::StructType::uint64_field() +{ + return m_uint64_field; +} + + +/*! + * @brief This function sets a value in member float_field + * @param _float_field New value for member float_field + */ +void eprosima::test::StructType::float_field( + float _float_field) +{ + m_float_field = _float_field; +} + +/*! + * @brief This function returns the value of member float_field + * @return Value of member float_field + */ +float eprosima::test::StructType::float_field() const +{ + return m_float_field; +} + +/*! + * @brief This function returns a reference to member float_field + * @return Reference to member float_field + */ +float& eprosima::test::StructType::float_field() +{ + return m_float_field; +} + + +/*! + * @brief This function sets a value in member double_field + * @param _double_field New value for member double_field + */ +void eprosima::test::StructType::double_field( + double _double_field) +{ + m_double_field = _double_field; +} + +/*! + * @brief This function returns the value of member double_field + * @return Value of member double_field + */ +double eprosima::test::StructType::double_field() const +{ + return m_double_field; +} + +/*! + * @brief This function returns a reference to member double_field + * @return Reference to member double_field + */ +double& eprosima::test::StructType::double_field() +{ + return m_double_field; +} + + +/*! + * @brief This function sets a value in member bool_field + * @param _bool_field New value for member bool_field + */ +void eprosima::test::StructType::bool_field( + bool _bool_field) +{ + m_bool_field = _bool_field; +} + +/*! + * @brief This function returns the value of member bool_field + * @return Value of member bool_field + */ +bool eprosima::test::StructType::bool_field() const +{ + return m_bool_field; +} + +/*! + * @brief This function returns a reference to member bool_field + * @return Reference to member bool_field + */ +bool& eprosima::test::StructType::bool_field() +{ + return m_bool_field; +} + + +/*! + * @brief This function copies the value in member string_field + * @param _string_field New value to be copied in member string_field + */ +void eprosima::test::StructType::string_field( + const std::string& _string_field) +{ + m_string_field = _string_field; +} + +/*! + * @brief This function moves the value in member string_field + * @param _string_field New value to be moved in member string_field + */ +void eprosima::test::StructType::string_field( + std::string&& _string_field) +{ + m_string_field = std::move(_string_field); +} + +/*! + * @brief This function returns a constant reference to member string_field + * @return Constant reference to member string_field + */ +const std::string& eprosima::test::StructType::string_field() const +{ + return m_string_field; +} + +/*! + * @brief This function returns a reference to member string_field + * @return Reference to member string_field + */ +std::string& eprosima::test::StructType::string_field() +{ + return m_string_field; +} + + +/*! + * @brief This function sets a value in member enum_field + * @param _enum_field New value for member enum_field + */ +void eprosima::test::StructType::enum_field( + eprosima::test::Color _enum_field) +{ + m_enum_field = _enum_field; +} + +/*! + * @brief This function returns the value of member enum_field + * @return Value of member enum_field + */ +eprosima::test::Color eprosima::test::StructType::enum_field() const +{ + return m_enum_field; +} + +/*! + * @brief This function returns a reference to member enum_field + * @return Reference to member enum_field + */ +eprosima::test::Color& eprosima::test::StructType::enum_field() +{ + return m_enum_field; +} + + +/*! + * @brief This function sets a value in member enum2_field + * @param _enum2_field New value for member enum2_field + */ +void eprosima::test::StructType::enum2_field( + eprosima::test::Material _enum2_field) +{ + m_enum2_field = _enum2_field; +} + +/*! + * @brief This function returns the value of member enum2_field + * @return Value of member enum2_field + */ +eprosima::test::Material eprosima::test::StructType::enum2_field() const +{ + return m_enum2_field; +} + +/*! + * @brief This function returns a reference to member enum2_field + * @return Reference to member enum2_field + */ +eprosima::test::Material& eprosima::test::StructType::enum2_field() +{ + return m_enum2_field; +} + + + + +eprosima::test::CompleteTestType::CompleteTestType() +{ + +} + +eprosima::test::CompleteTestType::~CompleteTestType() +{ +} + +eprosima::test::CompleteTestType::CompleteTestType( + const CompleteTestType& x) +{ + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = x.m_string_field; + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + m_struct_field = x.m_struct_field; + m_array_char_field = x.m_array_char_field; + m_array_uint8_field = x.m_array_uint8_field; + m_array_int16_field = x.m_array_int16_field; + m_array_uint16_field = x.m_array_uint16_field; + m_array_int32_field = x.m_array_int32_field; + m_array_uint32_field = x.m_array_uint32_field; + m_array_int64_field = x.m_array_int64_field; + m_array_uint64_field = x.m_array_uint64_field; + m_array_float_field = x.m_array_float_field; + m_array_double_field = x.m_array_double_field; + m_array_bool_field = x.m_array_bool_field; + m_array_enum_field = x.m_array_enum_field; + m_array_enum2_field = x.m_array_enum2_field; + m_array_struct_field = x.m_array_struct_field; + m_bounded_sequence_char_field = x.m_bounded_sequence_char_field; + m_bounded_sequence_uint8_field = x.m_bounded_sequence_uint8_field; + m_bounded_sequence_int16_field = x.m_bounded_sequence_int16_field; + m_bounded_sequence_uint16_field = x.m_bounded_sequence_uint16_field; + m_bounded_sequence_int32_field = x.m_bounded_sequence_int32_field; + m_bounded_sequence_uint32_field = x.m_bounded_sequence_uint32_field; + m_bounded_sequence_int64_field = x.m_bounded_sequence_int64_field; + m_bounded_sequence_uint64_field = x.m_bounded_sequence_uint64_field; + m_bounded_sequence_float_field = x.m_bounded_sequence_float_field; + m_bounded_sequence_double_field = x.m_bounded_sequence_double_field; + m_bounded_sequence_bool_field = x.m_bounded_sequence_bool_field; + m_bounded_sequence_enum_field = x.m_bounded_sequence_enum_field; + m_bounded_sequence_enum2_field = x.m_bounded_sequence_enum2_field; + m_bounded_sequence_struct_field = x.m_bounded_sequence_struct_field; + m_unbounded_sequence_char_field = x.m_unbounded_sequence_char_field; + m_unbounded_sequence_uint8_field = x.m_unbounded_sequence_uint8_field; + m_unbounded_sequence_int16_field = x.m_unbounded_sequence_int16_field; + m_unbounded_sequence_uint16_field = x.m_unbounded_sequence_uint16_field; + m_unbounded_sequence_int32_field = x.m_unbounded_sequence_int32_field; + m_unbounded_sequence_uint32_field = x.m_unbounded_sequence_uint32_field; + m_unbounded_sequence_int64_field = x.m_unbounded_sequence_int64_field; + m_unbounded_sequence_uint64_field = x.m_unbounded_sequence_uint64_field; + m_unbounded_sequence_float_field = x.m_unbounded_sequence_float_field; + m_unbounded_sequence_double_field = x.m_unbounded_sequence_double_field; + m_unbounded_sequence_bool_field = x.m_unbounded_sequence_bool_field; + m_unbounded_sequence_enum_field = x.m_unbounded_sequence_enum_field; + m_unbounded_sequence_enum2_field = x.m_unbounded_sequence_enum2_field; + m_unbounded_sequence_struct_field = x.m_unbounded_sequence_struct_field; +} + +eprosima::test::CompleteTestType::CompleteTestType( + CompleteTestType&& x) noexcept +{ + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = std::move(x.m_string_field); + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + m_struct_field = std::move(x.m_struct_field); + m_array_char_field = std::move(x.m_array_char_field); + m_array_uint8_field = std::move(x.m_array_uint8_field); + m_array_int16_field = std::move(x.m_array_int16_field); + m_array_uint16_field = std::move(x.m_array_uint16_field); + m_array_int32_field = std::move(x.m_array_int32_field); + m_array_uint32_field = std::move(x.m_array_uint32_field); + m_array_int64_field = std::move(x.m_array_int64_field); + m_array_uint64_field = std::move(x.m_array_uint64_field); + m_array_float_field = std::move(x.m_array_float_field); + m_array_double_field = std::move(x.m_array_double_field); + m_array_bool_field = std::move(x.m_array_bool_field); + m_array_enum_field = std::move(x.m_array_enum_field); + m_array_enum2_field = std::move(x.m_array_enum2_field); + m_array_struct_field = std::move(x.m_array_struct_field); + m_bounded_sequence_char_field = std::move(x.m_bounded_sequence_char_field); + m_bounded_sequence_uint8_field = std::move(x.m_bounded_sequence_uint8_field); + m_bounded_sequence_int16_field = std::move(x.m_bounded_sequence_int16_field); + m_bounded_sequence_uint16_field = std::move(x.m_bounded_sequence_uint16_field); + m_bounded_sequence_int32_field = std::move(x.m_bounded_sequence_int32_field); + m_bounded_sequence_uint32_field = std::move(x.m_bounded_sequence_uint32_field); + m_bounded_sequence_int64_field = std::move(x.m_bounded_sequence_int64_field); + m_bounded_sequence_uint64_field = std::move(x.m_bounded_sequence_uint64_field); + m_bounded_sequence_float_field = std::move(x.m_bounded_sequence_float_field); + m_bounded_sequence_double_field = std::move(x.m_bounded_sequence_double_field); + m_bounded_sequence_bool_field = std::move(x.m_bounded_sequence_bool_field); + m_bounded_sequence_enum_field = std::move(x.m_bounded_sequence_enum_field); + m_bounded_sequence_enum2_field = std::move(x.m_bounded_sequence_enum2_field); + m_bounded_sequence_struct_field = std::move(x.m_bounded_sequence_struct_field); + m_unbounded_sequence_char_field = std::move(x.m_unbounded_sequence_char_field); + m_unbounded_sequence_uint8_field = std::move(x.m_unbounded_sequence_uint8_field); + m_unbounded_sequence_int16_field = std::move(x.m_unbounded_sequence_int16_field); + m_unbounded_sequence_uint16_field = std::move(x.m_unbounded_sequence_uint16_field); + m_unbounded_sequence_int32_field = std::move(x.m_unbounded_sequence_int32_field); + m_unbounded_sequence_uint32_field = std::move(x.m_unbounded_sequence_uint32_field); + m_unbounded_sequence_int64_field = std::move(x.m_unbounded_sequence_int64_field); + m_unbounded_sequence_uint64_field = std::move(x.m_unbounded_sequence_uint64_field); + m_unbounded_sequence_float_field = std::move(x.m_unbounded_sequence_float_field); + m_unbounded_sequence_double_field = std::move(x.m_unbounded_sequence_double_field); + m_unbounded_sequence_bool_field = std::move(x.m_unbounded_sequence_bool_field); + m_unbounded_sequence_enum_field = std::move(x.m_unbounded_sequence_enum_field); + m_unbounded_sequence_enum2_field = std::move(x.m_unbounded_sequence_enum2_field); + m_unbounded_sequence_struct_field = std::move(x.m_unbounded_sequence_struct_field); +} + +eprosima::test::CompleteTestType& eprosima::test::CompleteTestType::operator =( + const CompleteTestType& x) +{ + + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = x.m_string_field; + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + m_struct_field = x.m_struct_field; + m_array_char_field = x.m_array_char_field; + m_array_uint8_field = x.m_array_uint8_field; + m_array_int16_field = x.m_array_int16_field; + m_array_uint16_field = x.m_array_uint16_field; + m_array_int32_field = x.m_array_int32_field; + m_array_uint32_field = x.m_array_uint32_field; + m_array_int64_field = x.m_array_int64_field; + m_array_uint64_field = x.m_array_uint64_field; + m_array_float_field = x.m_array_float_field; + m_array_double_field = x.m_array_double_field; + m_array_bool_field = x.m_array_bool_field; + m_array_enum_field = x.m_array_enum_field; + m_array_enum2_field = x.m_array_enum2_field; + m_array_struct_field = x.m_array_struct_field; + m_bounded_sequence_char_field = x.m_bounded_sequence_char_field; + m_bounded_sequence_uint8_field = x.m_bounded_sequence_uint8_field; + m_bounded_sequence_int16_field = x.m_bounded_sequence_int16_field; + m_bounded_sequence_uint16_field = x.m_bounded_sequence_uint16_field; + m_bounded_sequence_int32_field = x.m_bounded_sequence_int32_field; + m_bounded_sequence_uint32_field = x.m_bounded_sequence_uint32_field; + m_bounded_sequence_int64_field = x.m_bounded_sequence_int64_field; + m_bounded_sequence_uint64_field = x.m_bounded_sequence_uint64_field; + m_bounded_sequence_float_field = x.m_bounded_sequence_float_field; + m_bounded_sequence_double_field = x.m_bounded_sequence_double_field; + m_bounded_sequence_bool_field = x.m_bounded_sequence_bool_field; + m_bounded_sequence_enum_field = x.m_bounded_sequence_enum_field; + m_bounded_sequence_enum2_field = x.m_bounded_sequence_enum2_field; + m_bounded_sequence_struct_field = x.m_bounded_sequence_struct_field; + m_unbounded_sequence_char_field = x.m_unbounded_sequence_char_field; + m_unbounded_sequence_uint8_field = x.m_unbounded_sequence_uint8_field; + m_unbounded_sequence_int16_field = x.m_unbounded_sequence_int16_field; + m_unbounded_sequence_uint16_field = x.m_unbounded_sequence_uint16_field; + m_unbounded_sequence_int32_field = x.m_unbounded_sequence_int32_field; + m_unbounded_sequence_uint32_field = x.m_unbounded_sequence_uint32_field; + m_unbounded_sequence_int64_field = x.m_unbounded_sequence_int64_field; + m_unbounded_sequence_uint64_field = x.m_unbounded_sequence_uint64_field; + m_unbounded_sequence_float_field = x.m_unbounded_sequence_float_field; + m_unbounded_sequence_double_field = x.m_unbounded_sequence_double_field; + m_unbounded_sequence_bool_field = x.m_unbounded_sequence_bool_field; + m_unbounded_sequence_enum_field = x.m_unbounded_sequence_enum_field; + m_unbounded_sequence_enum2_field = x.m_unbounded_sequence_enum2_field; + m_unbounded_sequence_struct_field = x.m_unbounded_sequence_struct_field; + + return *this; +} + +eprosima::test::CompleteTestType& eprosima::test::CompleteTestType::operator =( + CompleteTestType&& x) noexcept +{ + + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = std::move(x.m_string_field); + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + m_struct_field = std::move(x.m_struct_field); + m_array_char_field = std::move(x.m_array_char_field); + m_array_uint8_field = std::move(x.m_array_uint8_field); + m_array_int16_field = std::move(x.m_array_int16_field); + m_array_uint16_field = std::move(x.m_array_uint16_field); + m_array_int32_field = std::move(x.m_array_int32_field); + m_array_uint32_field = std::move(x.m_array_uint32_field); + m_array_int64_field = std::move(x.m_array_int64_field); + m_array_uint64_field = std::move(x.m_array_uint64_field); + m_array_float_field = std::move(x.m_array_float_field); + m_array_double_field = std::move(x.m_array_double_field); + m_array_bool_field = std::move(x.m_array_bool_field); + m_array_enum_field = std::move(x.m_array_enum_field); + m_array_enum2_field = std::move(x.m_array_enum2_field); + m_array_struct_field = std::move(x.m_array_struct_field); + m_bounded_sequence_char_field = std::move(x.m_bounded_sequence_char_field); + m_bounded_sequence_uint8_field = std::move(x.m_bounded_sequence_uint8_field); + m_bounded_sequence_int16_field = std::move(x.m_bounded_sequence_int16_field); + m_bounded_sequence_uint16_field = std::move(x.m_bounded_sequence_uint16_field); + m_bounded_sequence_int32_field = std::move(x.m_bounded_sequence_int32_field); + m_bounded_sequence_uint32_field = std::move(x.m_bounded_sequence_uint32_field); + m_bounded_sequence_int64_field = std::move(x.m_bounded_sequence_int64_field); + m_bounded_sequence_uint64_field = std::move(x.m_bounded_sequence_uint64_field); + m_bounded_sequence_float_field = std::move(x.m_bounded_sequence_float_field); + m_bounded_sequence_double_field = std::move(x.m_bounded_sequence_double_field); + m_bounded_sequence_bool_field = std::move(x.m_bounded_sequence_bool_field); + m_bounded_sequence_enum_field = std::move(x.m_bounded_sequence_enum_field); + m_bounded_sequence_enum2_field = std::move(x.m_bounded_sequence_enum2_field); + m_bounded_sequence_struct_field = std::move(x.m_bounded_sequence_struct_field); + m_unbounded_sequence_char_field = std::move(x.m_unbounded_sequence_char_field); + m_unbounded_sequence_uint8_field = std::move(x.m_unbounded_sequence_uint8_field); + m_unbounded_sequence_int16_field = std::move(x.m_unbounded_sequence_int16_field); + m_unbounded_sequence_uint16_field = std::move(x.m_unbounded_sequence_uint16_field); + m_unbounded_sequence_int32_field = std::move(x.m_unbounded_sequence_int32_field); + m_unbounded_sequence_uint32_field = std::move(x.m_unbounded_sequence_uint32_field); + m_unbounded_sequence_int64_field = std::move(x.m_unbounded_sequence_int64_field); + m_unbounded_sequence_uint64_field = std::move(x.m_unbounded_sequence_uint64_field); + m_unbounded_sequence_float_field = std::move(x.m_unbounded_sequence_float_field); + m_unbounded_sequence_double_field = std::move(x.m_unbounded_sequence_double_field); + m_unbounded_sequence_bool_field = std::move(x.m_unbounded_sequence_bool_field); + m_unbounded_sequence_enum_field = std::move(x.m_unbounded_sequence_enum_field); + m_unbounded_sequence_enum2_field = std::move(x.m_unbounded_sequence_enum2_field); + m_unbounded_sequence_struct_field = std::move(x.m_unbounded_sequence_struct_field); + + return *this; +} + +bool eprosima::test::CompleteTestType::operator ==( + const CompleteTestType& x) const +{ + return (m_char_field == x.m_char_field && + m_uint8_field == x.m_uint8_field && + m_int16_field == x.m_int16_field && + m_uint16_field == x.m_uint16_field && + m_int32_field == x.m_int32_field && + m_uint32_field == x.m_uint32_field && + m_int64_field == x.m_int64_field && + m_uint64_field == x.m_uint64_field && + m_float_field == x.m_float_field && + m_double_field == x.m_double_field && + m_bool_field == x.m_bool_field && + m_string_field == x.m_string_field && + m_enum_field == x.m_enum_field && + m_enum2_field == x.m_enum2_field && + m_struct_field == x.m_struct_field && + m_array_char_field == x.m_array_char_field && + m_array_uint8_field == x.m_array_uint8_field && + m_array_int16_field == x.m_array_int16_field && + m_array_uint16_field == x.m_array_uint16_field && + m_array_int32_field == x.m_array_int32_field && + m_array_uint32_field == x.m_array_uint32_field && + m_array_int64_field == x.m_array_int64_field && + m_array_uint64_field == x.m_array_uint64_field && + m_array_float_field == x.m_array_float_field && + m_array_double_field == x.m_array_double_field && + m_array_bool_field == x.m_array_bool_field && + m_array_enum_field == x.m_array_enum_field && + m_array_enum2_field == x.m_array_enum2_field && + m_array_struct_field == x.m_array_struct_field && + m_bounded_sequence_char_field == x.m_bounded_sequence_char_field && + m_bounded_sequence_uint8_field == x.m_bounded_sequence_uint8_field && + m_bounded_sequence_int16_field == x.m_bounded_sequence_int16_field && + m_bounded_sequence_uint16_field == x.m_bounded_sequence_uint16_field && + m_bounded_sequence_int32_field == x.m_bounded_sequence_int32_field && + m_bounded_sequence_uint32_field == x.m_bounded_sequence_uint32_field && + m_bounded_sequence_int64_field == x.m_bounded_sequence_int64_field && + m_bounded_sequence_uint64_field == x.m_bounded_sequence_uint64_field && + m_bounded_sequence_float_field == x.m_bounded_sequence_float_field && + m_bounded_sequence_double_field == x.m_bounded_sequence_double_field && + m_bounded_sequence_bool_field == x.m_bounded_sequence_bool_field && + m_bounded_sequence_enum_field == x.m_bounded_sequence_enum_field && + m_bounded_sequence_enum2_field == x.m_bounded_sequence_enum2_field && + m_bounded_sequence_struct_field == x.m_bounded_sequence_struct_field && + m_unbounded_sequence_char_field == x.m_unbounded_sequence_char_field && + m_unbounded_sequence_uint8_field == x.m_unbounded_sequence_uint8_field && + m_unbounded_sequence_int16_field == x.m_unbounded_sequence_int16_field && + m_unbounded_sequence_uint16_field == x.m_unbounded_sequence_uint16_field && + m_unbounded_sequence_int32_field == x.m_unbounded_sequence_int32_field && + m_unbounded_sequence_uint32_field == x.m_unbounded_sequence_uint32_field && + m_unbounded_sequence_int64_field == x.m_unbounded_sequence_int64_field && + m_unbounded_sequence_uint64_field == x.m_unbounded_sequence_uint64_field && + m_unbounded_sequence_float_field == x.m_unbounded_sequence_float_field && + m_unbounded_sequence_double_field == x.m_unbounded_sequence_double_field && + m_unbounded_sequence_bool_field == x.m_unbounded_sequence_bool_field && + m_unbounded_sequence_enum_field == x.m_unbounded_sequence_enum_field && + m_unbounded_sequence_enum2_field == x.m_unbounded_sequence_enum2_field && + m_unbounded_sequence_struct_field == x.m_unbounded_sequence_struct_field); +} + +bool eprosima::test::CompleteTestType::operator !=( + const CompleteTestType& x) const +{ + return !(*this == x); +} + +/*! + * @brief This function sets a value in member char_field + * @param _char_field New value for member char_field + */ +void eprosima::test::CompleteTestType::char_field( + char _char_field) +{ + m_char_field = _char_field; +} + +/*! + * @brief This function returns the value of member char_field + * @return Value of member char_field + */ +char eprosima::test::CompleteTestType::char_field() const +{ + return m_char_field; +} + +/*! + * @brief This function returns a reference to member char_field + * @return Reference to member char_field + */ +char& eprosima::test::CompleteTestType::char_field() +{ + return m_char_field; +} + + +/*! + * @brief This function sets a value in member uint8_field + * @param _uint8_field New value for member uint8_field + */ +void eprosima::test::CompleteTestType::uint8_field( + uint8_t _uint8_field) +{ + m_uint8_field = _uint8_field; +} + +/*! + * @brief This function returns the value of member uint8_field + * @return Value of member uint8_field + */ +uint8_t eprosima::test::CompleteTestType::uint8_field() const +{ + return m_uint8_field; +} + +/*! + * @brief This function returns a reference to member uint8_field + * @return Reference to member uint8_field + */ +uint8_t& eprosima::test::CompleteTestType::uint8_field() +{ + return m_uint8_field; +} + + +/*! + * @brief This function sets a value in member int16_field + * @param _int16_field New value for member int16_field + */ +void eprosima::test::CompleteTestType::int16_field( + int16_t _int16_field) +{ + m_int16_field = _int16_field; +} + +/*! + * @brief This function returns the value of member int16_field + * @return Value of member int16_field + */ +int16_t eprosima::test::CompleteTestType::int16_field() const +{ + return m_int16_field; +} + +/*! + * @brief This function returns a reference to member int16_field + * @return Reference to member int16_field + */ +int16_t& eprosima::test::CompleteTestType::int16_field() +{ + return m_int16_field; +} + + +/*! + * @brief This function sets a value in member uint16_field + * @param _uint16_field New value for member uint16_field + */ +void eprosima::test::CompleteTestType::uint16_field( + uint16_t _uint16_field) +{ + m_uint16_field = _uint16_field; +} + +/*! + * @brief This function returns the value of member uint16_field + * @return Value of member uint16_field + */ +uint16_t eprosima::test::CompleteTestType::uint16_field() const +{ + return m_uint16_field; +} + +/*! + * @brief This function returns a reference to member uint16_field + * @return Reference to member uint16_field + */ +uint16_t& eprosima::test::CompleteTestType::uint16_field() +{ + return m_uint16_field; +} + + +/*! + * @brief This function sets a value in member int32_field + * @param _int32_field New value for member int32_field + */ +void eprosima::test::CompleteTestType::int32_field( + int32_t _int32_field) +{ + m_int32_field = _int32_field; +} + +/*! + * @brief This function returns the value of member int32_field + * @return Value of member int32_field + */ +int32_t eprosima::test::CompleteTestType::int32_field() const +{ + return m_int32_field; +} + +/*! + * @brief This function returns a reference to member int32_field + * @return Reference to member int32_field + */ +int32_t& eprosima::test::CompleteTestType::int32_field() +{ + return m_int32_field; +} + + +/*! + * @brief This function sets a value in member uint32_field + * @param _uint32_field New value for member uint32_field + */ +void eprosima::test::CompleteTestType::uint32_field( + uint32_t _uint32_field) +{ + m_uint32_field = _uint32_field; +} + +/*! + * @brief This function returns the value of member uint32_field + * @return Value of member uint32_field + */ +uint32_t eprosima::test::CompleteTestType::uint32_field() const +{ + return m_uint32_field; +} + +/*! + * @brief This function returns a reference to member uint32_field + * @return Reference to member uint32_field + */ +uint32_t& eprosima::test::CompleteTestType::uint32_field() +{ + return m_uint32_field; +} + + +/*! + * @brief This function sets a value in member int64_field + * @param _int64_field New value for member int64_field + */ +void eprosima::test::CompleteTestType::int64_field( + int64_t _int64_field) +{ + m_int64_field = _int64_field; +} + +/*! + * @brief This function returns the value of member int64_field + * @return Value of member int64_field + */ +int64_t eprosima::test::CompleteTestType::int64_field() const +{ + return m_int64_field; +} + +/*! + * @brief This function returns a reference to member int64_field + * @return Reference to member int64_field + */ +int64_t& eprosima::test::CompleteTestType::int64_field() +{ + return m_int64_field; +} + + +/*! + * @brief This function sets a value in member uint64_field + * @param _uint64_field New value for member uint64_field + */ +void eprosima::test::CompleteTestType::uint64_field( + uint64_t _uint64_field) +{ + m_uint64_field = _uint64_field; +} + +/*! + * @brief This function returns the value of member uint64_field + * @return Value of member uint64_field + */ +uint64_t eprosima::test::CompleteTestType::uint64_field() const +{ + return m_uint64_field; +} + +/*! + * @brief This function returns a reference to member uint64_field + * @return Reference to member uint64_field + */ +uint64_t& eprosima::test::CompleteTestType::uint64_field() +{ + return m_uint64_field; +} + + +/*! + * @brief This function sets a value in member float_field + * @param _float_field New value for member float_field + */ +void eprosima::test::CompleteTestType::float_field( + float _float_field) +{ + m_float_field = _float_field; +} + +/*! + * @brief This function returns the value of member float_field + * @return Value of member float_field + */ +float eprosima::test::CompleteTestType::float_field() const +{ + return m_float_field; +} + +/*! + * @brief This function returns a reference to member float_field + * @return Reference to member float_field + */ +float& eprosima::test::CompleteTestType::float_field() +{ + return m_float_field; +} + + +/*! + * @brief This function sets a value in member double_field + * @param _double_field New value for member double_field + */ +void eprosima::test::CompleteTestType::double_field( + double _double_field) +{ + m_double_field = _double_field; +} + +/*! + * @brief This function returns the value of member double_field + * @return Value of member double_field + */ +double eprosima::test::CompleteTestType::double_field() const +{ + return m_double_field; +} + +/*! + * @brief This function returns a reference to member double_field + * @return Reference to member double_field + */ +double& eprosima::test::CompleteTestType::double_field() +{ + return m_double_field; +} + + +/*! + * @brief This function sets a value in member bool_field + * @param _bool_field New value for member bool_field + */ +void eprosima::test::CompleteTestType::bool_field( + bool _bool_field) +{ + m_bool_field = _bool_field; +} + +/*! + * @brief This function returns the value of member bool_field + * @return Value of member bool_field + */ +bool eprosima::test::CompleteTestType::bool_field() const +{ + return m_bool_field; +} + +/*! + * @brief This function returns a reference to member bool_field + * @return Reference to member bool_field + */ +bool& eprosima::test::CompleteTestType::bool_field() +{ + return m_bool_field; +} + + +/*! + * @brief This function copies the value in member string_field + * @param _string_field New value to be copied in member string_field + */ +void eprosima::test::CompleteTestType::string_field( + const std::string& _string_field) +{ + m_string_field = _string_field; +} + +/*! + * @brief This function moves the value in member string_field + * @param _string_field New value to be moved in member string_field + */ +void eprosima::test::CompleteTestType::string_field( + std::string&& _string_field) +{ + m_string_field = std::move(_string_field); +} + +/*! + * @brief This function returns a constant reference to member string_field + * @return Constant reference to member string_field + */ +const std::string& eprosima::test::CompleteTestType::string_field() const +{ + return m_string_field; +} + +/*! + * @brief This function returns a reference to member string_field + * @return Reference to member string_field + */ +std::string& eprosima::test::CompleteTestType::string_field() +{ + return m_string_field; +} + + +/*! + * @brief This function sets a value in member enum_field + * @param _enum_field New value for member enum_field + */ +void eprosima::test::CompleteTestType::enum_field( + eprosima::test::Color _enum_field) +{ + m_enum_field = _enum_field; +} + +/*! + * @brief This function returns the value of member enum_field + * @return Value of member enum_field + */ +eprosima::test::Color eprosima::test::CompleteTestType::enum_field() const +{ + return m_enum_field; +} + +/*! + * @brief This function returns a reference to member enum_field + * @return Reference to member enum_field + */ +eprosima::test::Color& eprosima::test::CompleteTestType::enum_field() +{ + return m_enum_field; +} + + +/*! + * @brief This function sets a value in member enum2_field + * @param _enum2_field New value for member enum2_field + */ +void eprosima::test::CompleteTestType::enum2_field( + eprosima::test::Material _enum2_field) +{ + m_enum2_field = _enum2_field; +} + +/*! + * @brief This function returns the value of member enum2_field + * @return Value of member enum2_field + */ +eprosima::test::Material eprosima::test::CompleteTestType::enum2_field() const +{ + return m_enum2_field; +} + +/*! + * @brief This function returns a reference to member enum2_field + * @return Reference to member enum2_field + */ +eprosima::test::Material& eprosima::test::CompleteTestType::enum2_field() +{ + return m_enum2_field; +} + + +/*! + * @brief This function copies the value in member struct_field + * @param _struct_field New value to be copied in member struct_field + */ +void eprosima::test::CompleteTestType::struct_field( + const eprosima::test::StructType& _struct_field) +{ + m_struct_field = _struct_field; +} + +/*! + * @brief This function moves the value in member struct_field + * @param _struct_field New value to be moved in member struct_field + */ +void eprosima::test::CompleteTestType::struct_field( + eprosima::test::StructType&& _struct_field) +{ + m_struct_field = std::move(_struct_field); +} + +/*! + * @brief This function returns a constant reference to member struct_field + * @return Constant reference to member struct_field + */ +const eprosima::test::StructType& eprosima::test::CompleteTestType::struct_field() const +{ + return m_struct_field; +} + +/*! + * @brief This function returns a reference to member struct_field + * @return Reference to member struct_field + */ +eprosima::test::StructType& eprosima::test::CompleteTestType::struct_field() +{ + return m_struct_field; +} + + +/*! + * @brief This function copies the value in member array_char_field + * @param _array_char_field New value to be copied in member array_char_field + */ +void eprosima::test::CompleteTestType::array_char_field( + const std::array& _array_char_field) +{ + m_array_char_field = _array_char_field; +} + +/*! + * @brief This function moves the value in member array_char_field + * @param _array_char_field New value to be moved in member array_char_field + */ +void eprosima::test::CompleteTestType::array_char_field( + std::array&& _array_char_field) +{ + m_array_char_field = std::move(_array_char_field); +} + +/*! + * @brief This function returns a constant reference to member array_char_field + * @return Constant reference to member array_char_field + */ +const std::array& eprosima::test::CompleteTestType::array_char_field() const +{ + return m_array_char_field; +} + +/*! + * @brief This function returns a reference to member array_char_field + * @return Reference to member array_char_field + */ +std::array& eprosima::test::CompleteTestType::array_char_field() +{ + return m_array_char_field; +} + + +/*! + * @brief This function copies the value in member array_uint8_field + * @param _array_uint8_field New value to be copied in member array_uint8_field + */ +void eprosima::test::CompleteTestType::array_uint8_field( + const std::array& _array_uint8_field) +{ + m_array_uint8_field = _array_uint8_field; +} + +/*! + * @brief This function moves the value in member array_uint8_field + * @param _array_uint8_field New value to be moved in member array_uint8_field + */ +void eprosima::test::CompleteTestType::array_uint8_field( + std::array&& _array_uint8_field) +{ + m_array_uint8_field = std::move(_array_uint8_field); +} + +/*! + * @brief This function returns a constant reference to member array_uint8_field + * @return Constant reference to member array_uint8_field + */ +const std::array& eprosima::test::CompleteTestType::array_uint8_field() const +{ + return m_array_uint8_field; +} + +/*! + * @brief This function returns a reference to member array_uint8_field + * @return Reference to member array_uint8_field + */ +std::array& eprosima::test::CompleteTestType::array_uint8_field() +{ + return m_array_uint8_field; +} + + +/*! + * @brief This function copies the value in member array_int16_field + * @param _array_int16_field New value to be copied in member array_int16_field + */ +void eprosima::test::CompleteTestType::array_int16_field( + const std::array& _array_int16_field) +{ + m_array_int16_field = _array_int16_field; +} + +/*! + * @brief This function moves the value in member array_int16_field + * @param _array_int16_field New value to be moved in member array_int16_field + */ +void eprosima::test::CompleteTestType::array_int16_field( + std::array&& _array_int16_field) +{ + m_array_int16_field = std::move(_array_int16_field); +} + +/*! + * @brief This function returns a constant reference to member array_int16_field + * @return Constant reference to member array_int16_field + */ +const std::array& eprosima::test::CompleteTestType::array_int16_field() const +{ + return m_array_int16_field; +} + +/*! + * @brief This function returns a reference to member array_int16_field + * @return Reference to member array_int16_field + */ +std::array& eprosima::test::CompleteTestType::array_int16_field() +{ + return m_array_int16_field; +} + + +/*! + * @brief This function copies the value in member array_uint16_field + * @param _array_uint16_field New value to be copied in member array_uint16_field + */ +void eprosima::test::CompleteTestType::array_uint16_field( + const std::array& _array_uint16_field) +{ + m_array_uint16_field = _array_uint16_field; +} + +/*! + * @brief This function moves the value in member array_uint16_field + * @param _array_uint16_field New value to be moved in member array_uint16_field + */ +void eprosima::test::CompleteTestType::array_uint16_field( + std::array&& _array_uint16_field) +{ + m_array_uint16_field = std::move(_array_uint16_field); +} + +/*! + * @brief This function returns a constant reference to member array_uint16_field + * @return Constant reference to member array_uint16_field + */ +const std::array& eprosima::test::CompleteTestType::array_uint16_field() const +{ + return m_array_uint16_field; +} + +/*! + * @brief This function returns a reference to member array_uint16_field + * @return Reference to member array_uint16_field + */ +std::array& eprosima::test::CompleteTestType::array_uint16_field() +{ + return m_array_uint16_field; +} + + +/*! + * @brief This function copies the value in member array_int32_field + * @param _array_int32_field New value to be copied in member array_int32_field + */ +void eprosima::test::CompleteTestType::array_int32_field( + const std::array& _array_int32_field) +{ + m_array_int32_field = _array_int32_field; +} + +/*! + * @brief This function moves the value in member array_int32_field + * @param _array_int32_field New value to be moved in member array_int32_field + */ +void eprosima::test::CompleteTestType::array_int32_field( + std::array&& _array_int32_field) +{ + m_array_int32_field = std::move(_array_int32_field); +} + +/*! + * @brief This function returns a constant reference to member array_int32_field + * @return Constant reference to member array_int32_field + */ +const std::array& eprosima::test::CompleteTestType::array_int32_field() const +{ + return m_array_int32_field; +} + +/*! + * @brief This function returns a reference to member array_int32_field + * @return Reference to member array_int32_field + */ +std::array& eprosima::test::CompleteTestType::array_int32_field() +{ + return m_array_int32_field; +} + + +/*! + * @brief This function copies the value in member array_uint32_field + * @param _array_uint32_field New value to be copied in member array_uint32_field + */ +void eprosima::test::CompleteTestType::array_uint32_field( + const std::array& _array_uint32_field) +{ + m_array_uint32_field = _array_uint32_field; +} + +/*! + * @brief This function moves the value in member array_uint32_field + * @param _array_uint32_field New value to be moved in member array_uint32_field + */ +void eprosima::test::CompleteTestType::array_uint32_field( + std::array&& _array_uint32_field) +{ + m_array_uint32_field = std::move(_array_uint32_field); +} + +/*! + * @brief This function returns a constant reference to member array_uint32_field + * @return Constant reference to member array_uint32_field + */ +const std::array& eprosima::test::CompleteTestType::array_uint32_field() const +{ + return m_array_uint32_field; +} + +/*! + * @brief This function returns a reference to member array_uint32_field + * @return Reference to member array_uint32_field + */ +std::array& eprosima::test::CompleteTestType::array_uint32_field() +{ + return m_array_uint32_field; +} + + +/*! + * @brief This function copies the value in member array_int64_field + * @param _array_int64_field New value to be copied in member array_int64_field + */ +void eprosima::test::CompleteTestType::array_int64_field( + const std::array& _array_int64_field) +{ + m_array_int64_field = _array_int64_field; +} + +/*! + * @brief This function moves the value in member array_int64_field + * @param _array_int64_field New value to be moved in member array_int64_field + */ +void eprosima::test::CompleteTestType::array_int64_field( + std::array&& _array_int64_field) +{ + m_array_int64_field = std::move(_array_int64_field); +} + +/*! + * @brief This function returns a constant reference to member array_int64_field + * @return Constant reference to member array_int64_field + */ +const std::array& eprosima::test::CompleteTestType::array_int64_field() const +{ + return m_array_int64_field; +} + +/*! + * @brief This function returns a reference to member array_int64_field + * @return Reference to member array_int64_field + */ +std::array& eprosima::test::CompleteTestType::array_int64_field() +{ + return m_array_int64_field; +} + + +/*! + * @brief This function copies the value in member array_uint64_field + * @param _array_uint64_field New value to be copied in member array_uint64_field + */ +void eprosima::test::CompleteTestType::array_uint64_field( + const std::array& _array_uint64_field) +{ + m_array_uint64_field = _array_uint64_field; +} + +/*! + * @brief This function moves the value in member array_uint64_field + * @param _array_uint64_field New value to be moved in member array_uint64_field + */ +void eprosima::test::CompleteTestType::array_uint64_field( + std::array&& _array_uint64_field) +{ + m_array_uint64_field = std::move(_array_uint64_field); +} + +/*! + * @brief This function returns a constant reference to member array_uint64_field + * @return Constant reference to member array_uint64_field + */ +const std::array& eprosima::test::CompleteTestType::array_uint64_field() const +{ + return m_array_uint64_field; +} + +/*! + * @brief This function returns a reference to member array_uint64_field + * @return Reference to member array_uint64_field + */ +std::array& eprosima::test::CompleteTestType::array_uint64_field() +{ + return m_array_uint64_field; +} + + +/*! + * @brief This function copies the value in member array_float_field + * @param _array_float_field New value to be copied in member array_float_field + */ +void eprosima::test::CompleteTestType::array_float_field( + const std::array& _array_float_field) +{ + m_array_float_field = _array_float_field; +} + +/*! + * @brief This function moves the value in member array_float_field + * @param _array_float_field New value to be moved in member array_float_field + */ +void eprosima::test::CompleteTestType::array_float_field( + std::array&& _array_float_field) +{ + m_array_float_field = std::move(_array_float_field); +} + +/*! + * @brief This function returns a constant reference to member array_float_field + * @return Constant reference to member array_float_field + */ +const std::array& eprosima::test::CompleteTestType::array_float_field() const +{ + return m_array_float_field; +} + +/*! + * @brief This function returns a reference to member array_float_field + * @return Reference to member array_float_field + */ +std::array& eprosima::test::CompleteTestType::array_float_field() +{ + return m_array_float_field; +} + + +/*! + * @brief This function copies the value in member array_double_field + * @param _array_double_field New value to be copied in member array_double_field + */ +void eprosima::test::CompleteTestType::array_double_field( + const std::array& _array_double_field) +{ + m_array_double_field = _array_double_field; +} + +/*! + * @brief This function moves the value in member array_double_field + * @param _array_double_field New value to be moved in member array_double_field + */ +void eprosima::test::CompleteTestType::array_double_field( + std::array&& _array_double_field) +{ + m_array_double_field = std::move(_array_double_field); +} + +/*! + * @brief This function returns a constant reference to member array_double_field + * @return Constant reference to member array_double_field + */ +const std::array& eprosima::test::CompleteTestType::array_double_field() const +{ + return m_array_double_field; +} + +/*! + * @brief This function returns a reference to member array_double_field + * @return Reference to member array_double_field + */ +std::array& eprosima::test::CompleteTestType::array_double_field() +{ + return m_array_double_field; +} + + +/*! + * @brief This function copies the value in member array_bool_field + * @param _array_bool_field New value to be copied in member array_bool_field + */ +void eprosima::test::CompleteTestType::array_bool_field( + const std::array& _array_bool_field) +{ + m_array_bool_field = _array_bool_field; +} + +/*! + * @brief This function moves the value in member array_bool_field + * @param _array_bool_field New value to be moved in member array_bool_field + */ +void eprosima::test::CompleteTestType::array_bool_field( + std::array&& _array_bool_field) +{ + m_array_bool_field = std::move(_array_bool_field); +} + +/*! + * @brief This function returns a constant reference to member array_bool_field + * @return Constant reference to member array_bool_field + */ +const std::array& eprosima::test::CompleteTestType::array_bool_field() const +{ + return m_array_bool_field; +} + +/*! + * @brief This function returns a reference to member array_bool_field + * @return Reference to member array_bool_field + */ +std::array& eprosima::test::CompleteTestType::array_bool_field() +{ + return m_array_bool_field; +} + + +/*! + * @brief This function copies the value in member array_enum_field + * @param _array_enum_field New value to be copied in member array_enum_field + */ +void eprosima::test::CompleteTestType::array_enum_field( + const std::array& _array_enum_field) +{ + m_array_enum_field = _array_enum_field; +} + +/*! + * @brief This function moves the value in member array_enum_field + * @param _array_enum_field New value to be moved in member array_enum_field + */ +void eprosima::test::CompleteTestType::array_enum_field( + std::array&& _array_enum_field) +{ + m_array_enum_field = std::move(_array_enum_field); +} + +/*! + * @brief This function returns a constant reference to member array_enum_field + * @return Constant reference to member array_enum_field + */ +const std::array& eprosima::test::CompleteTestType::array_enum_field() const +{ + return m_array_enum_field; +} + +/*! + * @brief This function returns a reference to member array_enum_field + * @return Reference to member array_enum_field + */ +std::array& eprosima::test::CompleteTestType::array_enum_field() +{ + return m_array_enum_field; +} + + +/*! + * @brief This function copies the value in member array_enum2_field + * @param _array_enum2_field New value to be copied in member array_enum2_field + */ +void eprosima::test::CompleteTestType::array_enum2_field( + const std::array& _array_enum2_field) +{ + m_array_enum2_field = _array_enum2_field; +} + +/*! + * @brief This function moves the value in member array_enum2_field + * @param _array_enum2_field New value to be moved in member array_enum2_field + */ +void eprosima::test::CompleteTestType::array_enum2_field( + std::array&& _array_enum2_field) +{ + m_array_enum2_field = std::move(_array_enum2_field); +} + +/*! + * @brief This function returns a constant reference to member array_enum2_field + * @return Constant reference to member array_enum2_field + */ +const std::array& eprosima::test::CompleteTestType::array_enum2_field() const +{ + return m_array_enum2_field; +} + +/*! + * @brief This function returns a reference to member array_enum2_field + * @return Reference to member array_enum2_field + */ +std::array& eprosima::test::CompleteTestType::array_enum2_field() +{ + return m_array_enum2_field; +} + + +/*! + * @brief This function copies the value in member array_struct_field + * @param _array_struct_field New value to be copied in member array_struct_field + */ +void eprosima::test::CompleteTestType::array_struct_field( + const std::array& _array_struct_field) +{ + m_array_struct_field = _array_struct_field; +} + +/*! + * @brief This function moves the value in member array_struct_field + * @param _array_struct_field New value to be moved in member array_struct_field + */ +void eprosima::test::CompleteTestType::array_struct_field( + std::array&& _array_struct_field) +{ + m_array_struct_field = std::move(_array_struct_field); +} + +/*! + * @brief This function returns a constant reference to member array_struct_field + * @return Constant reference to member array_struct_field + */ +const std::array& eprosima::test::CompleteTestType::array_struct_field() const +{ + return m_array_struct_field; +} + +/*! + * @brief This function returns a reference to member array_struct_field + * @return Reference to member array_struct_field + */ +std::array& eprosima::test::CompleteTestType::array_struct_field() +{ + return m_array_struct_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_char_field + * @param _bounded_sequence_char_field New value to be copied in member bounded_sequence_char_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_char_field( + const std::vector& _bounded_sequence_char_field) +{ + m_bounded_sequence_char_field = _bounded_sequence_char_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_char_field + * @param _bounded_sequence_char_field New value to be moved in member bounded_sequence_char_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_char_field( + std::vector&& _bounded_sequence_char_field) +{ + m_bounded_sequence_char_field = std::move(_bounded_sequence_char_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_char_field + * @return Constant reference to member bounded_sequence_char_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_char_field() const +{ + return m_bounded_sequence_char_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_char_field + * @return Reference to member bounded_sequence_char_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_char_field() +{ + return m_bounded_sequence_char_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_uint8_field + * @param _bounded_sequence_uint8_field New value to be copied in member bounded_sequence_uint8_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_uint8_field( + const std::vector& _bounded_sequence_uint8_field) +{ + m_bounded_sequence_uint8_field = _bounded_sequence_uint8_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_uint8_field + * @param _bounded_sequence_uint8_field New value to be moved in member bounded_sequence_uint8_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_uint8_field( + std::vector&& _bounded_sequence_uint8_field) +{ + m_bounded_sequence_uint8_field = std::move(_bounded_sequence_uint8_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_uint8_field + * @return Constant reference to member bounded_sequence_uint8_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_uint8_field() const +{ + return m_bounded_sequence_uint8_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_uint8_field + * @return Reference to member bounded_sequence_uint8_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_uint8_field() +{ + return m_bounded_sequence_uint8_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_int16_field + * @param _bounded_sequence_int16_field New value to be copied in member bounded_sequence_int16_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_int16_field( + const std::vector& _bounded_sequence_int16_field) +{ + m_bounded_sequence_int16_field = _bounded_sequence_int16_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_int16_field + * @param _bounded_sequence_int16_field New value to be moved in member bounded_sequence_int16_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_int16_field( + std::vector&& _bounded_sequence_int16_field) +{ + m_bounded_sequence_int16_field = std::move(_bounded_sequence_int16_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_int16_field + * @return Constant reference to member bounded_sequence_int16_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_int16_field() const +{ + return m_bounded_sequence_int16_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_int16_field + * @return Reference to member bounded_sequence_int16_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_int16_field() +{ + return m_bounded_sequence_int16_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_uint16_field + * @param _bounded_sequence_uint16_field New value to be copied in member bounded_sequence_uint16_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_uint16_field( + const std::vector& _bounded_sequence_uint16_field) +{ + m_bounded_sequence_uint16_field = _bounded_sequence_uint16_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_uint16_field + * @param _bounded_sequence_uint16_field New value to be moved in member bounded_sequence_uint16_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_uint16_field( + std::vector&& _bounded_sequence_uint16_field) +{ + m_bounded_sequence_uint16_field = std::move(_bounded_sequence_uint16_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_uint16_field + * @return Constant reference to member bounded_sequence_uint16_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_uint16_field() const +{ + return m_bounded_sequence_uint16_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_uint16_field + * @return Reference to member bounded_sequence_uint16_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_uint16_field() +{ + return m_bounded_sequence_uint16_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_int32_field + * @param _bounded_sequence_int32_field New value to be copied in member bounded_sequence_int32_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_int32_field( + const std::vector& _bounded_sequence_int32_field) +{ + m_bounded_sequence_int32_field = _bounded_sequence_int32_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_int32_field + * @param _bounded_sequence_int32_field New value to be moved in member bounded_sequence_int32_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_int32_field( + std::vector&& _bounded_sequence_int32_field) +{ + m_bounded_sequence_int32_field = std::move(_bounded_sequence_int32_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_int32_field + * @return Constant reference to member bounded_sequence_int32_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_int32_field() const +{ + return m_bounded_sequence_int32_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_int32_field + * @return Reference to member bounded_sequence_int32_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_int32_field() +{ + return m_bounded_sequence_int32_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_uint32_field + * @param _bounded_sequence_uint32_field New value to be copied in member bounded_sequence_uint32_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_uint32_field( + const std::vector& _bounded_sequence_uint32_field) +{ + m_bounded_sequence_uint32_field = _bounded_sequence_uint32_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_uint32_field + * @param _bounded_sequence_uint32_field New value to be moved in member bounded_sequence_uint32_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_uint32_field( + std::vector&& _bounded_sequence_uint32_field) +{ + m_bounded_sequence_uint32_field = std::move(_bounded_sequence_uint32_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_uint32_field + * @return Constant reference to member bounded_sequence_uint32_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_uint32_field() const +{ + return m_bounded_sequence_uint32_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_uint32_field + * @return Reference to member bounded_sequence_uint32_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_uint32_field() +{ + return m_bounded_sequence_uint32_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_int64_field + * @param _bounded_sequence_int64_field New value to be copied in member bounded_sequence_int64_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_int64_field( + const std::vector& _bounded_sequence_int64_field) +{ + m_bounded_sequence_int64_field = _bounded_sequence_int64_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_int64_field + * @param _bounded_sequence_int64_field New value to be moved in member bounded_sequence_int64_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_int64_field( + std::vector&& _bounded_sequence_int64_field) +{ + m_bounded_sequence_int64_field = std::move(_bounded_sequence_int64_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_int64_field + * @return Constant reference to member bounded_sequence_int64_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_int64_field() const +{ + return m_bounded_sequence_int64_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_int64_field + * @return Reference to member bounded_sequence_int64_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_int64_field() +{ + return m_bounded_sequence_int64_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_uint64_field + * @param _bounded_sequence_uint64_field New value to be copied in member bounded_sequence_uint64_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_uint64_field( + const std::vector& _bounded_sequence_uint64_field) +{ + m_bounded_sequence_uint64_field = _bounded_sequence_uint64_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_uint64_field + * @param _bounded_sequence_uint64_field New value to be moved in member bounded_sequence_uint64_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_uint64_field( + std::vector&& _bounded_sequence_uint64_field) +{ + m_bounded_sequence_uint64_field = std::move(_bounded_sequence_uint64_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_uint64_field + * @return Constant reference to member bounded_sequence_uint64_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_uint64_field() const +{ + return m_bounded_sequence_uint64_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_uint64_field + * @return Reference to member bounded_sequence_uint64_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_uint64_field() +{ + return m_bounded_sequence_uint64_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_float_field + * @param _bounded_sequence_float_field New value to be copied in member bounded_sequence_float_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_float_field( + const std::vector& _bounded_sequence_float_field) +{ + m_bounded_sequence_float_field = _bounded_sequence_float_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_float_field + * @param _bounded_sequence_float_field New value to be moved in member bounded_sequence_float_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_float_field( + std::vector&& _bounded_sequence_float_field) +{ + m_bounded_sequence_float_field = std::move(_bounded_sequence_float_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_float_field + * @return Constant reference to member bounded_sequence_float_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_float_field() const +{ + return m_bounded_sequence_float_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_float_field + * @return Reference to member bounded_sequence_float_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_float_field() +{ + return m_bounded_sequence_float_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_double_field + * @param _bounded_sequence_double_field New value to be copied in member bounded_sequence_double_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_double_field( + const std::vector& _bounded_sequence_double_field) +{ + m_bounded_sequence_double_field = _bounded_sequence_double_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_double_field + * @param _bounded_sequence_double_field New value to be moved in member bounded_sequence_double_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_double_field( + std::vector&& _bounded_sequence_double_field) +{ + m_bounded_sequence_double_field = std::move(_bounded_sequence_double_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_double_field + * @return Constant reference to member bounded_sequence_double_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_double_field() const +{ + return m_bounded_sequence_double_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_double_field + * @return Reference to member bounded_sequence_double_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_double_field() +{ + return m_bounded_sequence_double_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_bool_field + * @param _bounded_sequence_bool_field New value to be copied in member bounded_sequence_bool_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_bool_field( + const std::vector& _bounded_sequence_bool_field) +{ + m_bounded_sequence_bool_field = _bounded_sequence_bool_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_bool_field + * @param _bounded_sequence_bool_field New value to be moved in member bounded_sequence_bool_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_bool_field( + std::vector&& _bounded_sequence_bool_field) +{ + m_bounded_sequence_bool_field = std::move(_bounded_sequence_bool_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_bool_field + * @return Constant reference to member bounded_sequence_bool_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_bool_field() const +{ + return m_bounded_sequence_bool_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_bool_field + * @return Reference to member bounded_sequence_bool_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_bool_field() +{ + return m_bounded_sequence_bool_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_enum_field + * @param _bounded_sequence_enum_field New value to be copied in member bounded_sequence_enum_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_enum_field( + const std::vector& _bounded_sequence_enum_field) +{ + m_bounded_sequence_enum_field = _bounded_sequence_enum_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_enum_field + * @param _bounded_sequence_enum_field New value to be moved in member bounded_sequence_enum_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_enum_field( + std::vector&& _bounded_sequence_enum_field) +{ + m_bounded_sequence_enum_field = std::move(_bounded_sequence_enum_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_enum_field + * @return Constant reference to member bounded_sequence_enum_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_enum_field() const +{ + return m_bounded_sequence_enum_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_enum_field + * @return Reference to member bounded_sequence_enum_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_enum_field() +{ + return m_bounded_sequence_enum_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_enum2_field + * @param _bounded_sequence_enum2_field New value to be copied in member bounded_sequence_enum2_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_enum2_field( + const std::vector& _bounded_sequence_enum2_field) +{ + m_bounded_sequence_enum2_field = _bounded_sequence_enum2_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_enum2_field + * @param _bounded_sequence_enum2_field New value to be moved in member bounded_sequence_enum2_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_enum2_field( + std::vector&& _bounded_sequence_enum2_field) +{ + m_bounded_sequence_enum2_field = std::move(_bounded_sequence_enum2_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_enum2_field + * @return Constant reference to member bounded_sequence_enum2_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_enum2_field() const +{ + return m_bounded_sequence_enum2_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_enum2_field + * @return Reference to member bounded_sequence_enum2_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_enum2_field() +{ + return m_bounded_sequence_enum2_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_struct_field + * @param _bounded_sequence_struct_field New value to be copied in member bounded_sequence_struct_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_struct_field( + const std::vector& _bounded_sequence_struct_field) +{ + m_bounded_sequence_struct_field = _bounded_sequence_struct_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_struct_field + * @param _bounded_sequence_struct_field New value to be moved in member bounded_sequence_struct_field + */ +void eprosima::test::CompleteTestType::bounded_sequence_struct_field( + std::vector&& _bounded_sequence_struct_field) +{ + m_bounded_sequence_struct_field = std::move(_bounded_sequence_struct_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_struct_field + * @return Constant reference to member bounded_sequence_struct_field + */ +const std::vector& eprosima::test::CompleteTestType::bounded_sequence_struct_field() const +{ + return m_bounded_sequence_struct_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_struct_field + * @return Reference to member bounded_sequence_struct_field + */ +std::vector& eprosima::test::CompleteTestType::bounded_sequence_struct_field() +{ + return m_bounded_sequence_struct_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_char_field + * @param _unbounded_sequence_char_field New value to be copied in member unbounded_sequence_char_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_char_field( + const std::vector& _unbounded_sequence_char_field) +{ + m_unbounded_sequence_char_field = _unbounded_sequence_char_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_char_field + * @param _unbounded_sequence_char_field New value to be moved in member unbounded_sequence_char_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_char_field( + std::vector&& _unbounded_sequence_char_field) +{ + m_unbounded_sequence_char_field = std::move(_unbounded_sequence_char_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_char_field + * @return Constant reference to member unbounded_sequence_char_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_char_field() const +{ + return m_unbounded_sequence_char_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_char_field + * @return Reference to member unbounded_sequence_char_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_char_field() +{ + return m_unbounded_sequence_char_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_uint8_field + * @param _unbounded_sequence_uint8_field New value to be copied in member unbounded_sequence_uint8_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_uint8_field( + const std::vector& _unbounded_sequence_uint8_field) +{ + m_unbounded_sequence_uint8_field = _unbounded_sequence_uint8_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_uint8_field + * @param _unbounded_sequence_uint8_field New value to be moved in member unbounded_sequence_uint8_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_uint8_field( + std::vector&& _unbounded_sequence_uint8_field) +{ + m_unbounded_sequence_uint8_field = std::move(_unbounded_sequence_uint8_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_uint8_field + * @return Constant reference to member unbounded_sequence_uint8_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_uint8_field() const +{ + return m_unbounded_sequence_uint8_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_uint8_field + * @return Reference to member unbounded_sequence_uint8_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_uint8_field() +{ + return m_unbounded_sequence_uint8_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_int16_field + * @param _unbounded_sequence_int16_field New value to be copied in member unbounded_sequence_int16_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_int16_field( + const std::vector& _unbounded_sequence_int16_field) +{ + m_unbounded_sequence_int16_field = _unbounded_sequence_int16_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_int16_field + * @param _unbounded_sequence_int16_field New value to be moved in member unbounded_sequence_int16_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_int16_field( + std::vector&& _unbounded_sequence_int16_field) +{ + m_unbounded_sequence_int16_field = std::move(_unbounded_sequence_int16_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_int16_field + * @return Constant reference to member unbounded_sequence_int16_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_int16_field() const +{ + return m_unbounded_sequence_int16_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_int16_field + * @return Reference to member unbounded_sequence_int16_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_int16_field() +{ + return m_unbounded_sequence_int16_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_uint16_field + * @param _unbounded_sequence_uint16_field New value to be copied in member unbounded_sequence_uint16_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_uint16_field( + const std::vector& _unbounded_sequence_uint16_field) +{ + m_unbounded_sequence_uint16_field = _unbounded_sequence_uint16_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_uint16_field + * @param _unbounded_sequence_uint16_field New value to be moved in member unbounded_sequence_uint16_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_uint16_field( + std::vector&& _unbounded_sequence_uint16_field) +{ + m_unbounded_sequence_uint16_field = std::move(_unbounded_sequence_uint16_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_uint16_field + * @return Constant reference to member unbounded_sequence_uint16_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_uint16_field() const +{ + return m_unbounded_sequence_uint16_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_uint16_field + * @return Reference to member unbounded_sequence_uint16_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_uint16_field() +{ + return m_unbounded_sequence_uint16_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_int32_field + * @param _unbounded_sequence_int32_field New value to be copied in member unbounded_sequence_int32_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_int32_field( + const std::vector& _unbounded_sequence_int32_field) +{ + m_unbounded_sequence_int32_field = _unbounded_sequence_int32_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_int32_field + * @param _unbounded_sequence_int32_field New value to be moved in member unbounded_sequence_int32_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_int32_field( + std::vector&& _unbounded_sequence_int32_field) +{ + m_unbounded_sequence_int32_field = std::move(_unbounded_sequence_int32_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_int32_field + * @return Constant reference to member unbounded_sequence_int32_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_int32_field() const +{ + return m_unbounded_sequence_int32_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_int32_field + * @return Reference to member unbounded_sequence_int32_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_int32_field() +{ + return m_unbounded_sequence_int32_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_uint32_field + * @param _unbounded_sequence_uint32_field New value to be copied in member unbounded_sequence_uint32_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_uint32_field( + const std::vector& _unbounded_sequence_uint32_field) +{ + m_unbounded_sequence_uint32_field = _unbounded_sequence_uint32_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_uint32_field + * @param _unbounded_sequence_uint32_field New value to be moved in member unbounded_sequence_uint32_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_uint32_field( + std::vector&& _unbounded_sequence_uint32_field) +{ + m_unbounded_sequence_uint32_field = std::move(_unbounded_sequence_uint32_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_uint32_field + * @return Constant reference to member unbounded_sequence_uint32_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_uint32_field() const +{ + return m_unbounded_sequence_uint32_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_uint32_field + * @return Reference to member unbounded_sequence_uint32_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_uint32_field() +{ + return m_unbounded_sequence_uint32_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_int64_field + * @param _unbounded_sequence_int64_field New value to be copied in member unbounded_sequence_int64_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_int64_field( + const std::vector& _unbounded_sequence_int64_field) +{ + m_unbounded_sequence_int64_field = _unbounded_sequence_int64_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_int64_field + * @param _unbounded_sequence_int64_field New value to be moved in member unbounded_sequence_int64_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_int64_field( + std::vector&& _unbounded_sequence_int64_field) +{ + m_unbounded_sequence_int64_field = std::move(_unbounded_sequence_int64_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_int64_field + * @return Constant reference to member unbounded_sequence_int64_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_int64_field() const +{ + return m_unbounded_sequence_int64_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_int64_field + * @return Reference to member unbounded_sequence_int64_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_int64_field() +{ + return m_unbounded_sequence_int64_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_uint64_field + * @param _unbounded_sequence_uint64_field New value to be copied in member unbounded_sequence_uint64_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_uint64_field( + const std::vector& _unbounded_sequence_uint64_field) +{ + m_unbounded_sequence_uint64_field = _unbounded_sequence_uint64_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_uint64_field + * @param _unbounded_sequence_uint64_field New value to be moved in member unbounded_sequence_uint64_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_uint64_field( + std::vector&& _unbounded_sequence_uint64_field) +{ + m_unbounded_sequence_uint64_field = std::move(_unbounded_sequence_uint64_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_uint64_field + * @return Constant reference to member unbounded_sequence_uint64_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_uint64_field() const +{ + return m_unbounded_sequence_uint64_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_uint64_field + * @return Reference to member unbounded_sequence_uint64_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_uint64_field() +{ + return m_unbounded_sequence_uint64_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_float_field + * @param _unbounded_sequence_float_field New value to be copied in member unbounded_sequence_float_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_float_field( + const std::vector& _unbounded_sequence_float_field) +{ + m_unbounded_sequence_float_field = _unbounded_sequence_float_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_float_field + * @param _unbounded_sequence_float_field New value to be moved in member unbounded_sequence_float_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_float_field( + std::vector&& _unbounded_sequence_float_field) +{ + m_unbounded_sequence_float_field = std::move(_unbounded_sequence_float_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_float_field + * @return Constant reference to member unbounded_sequence_float_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_float_field() const +{ + return m_unbounded_sequence_float_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_float_field + * @return Reference to member unbounded_sequence_float_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_float_field() +{ + return m_unbounded_sequence_float_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_double_field + * @param _unbounded_sequence_double_field New value to be copied in member unbounded_sequence_double_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_double_field( + const std::vector& _unbounded_sequence_double_field) +{ + m_unbounded_sequence_double_field = _unbounded_sequence_double_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_double_field + * @param _unbounded_sequence_double_field New value to be moved in member unbounded_sequence_double_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_double_field( + std::vector&& _unbounded_sequence_double_field) +{ + m_unbounded_sequence_double_field = std::move(_unbounded_sequence_double_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_double_field + * @return Constant reference to member unbounded_sequence_double_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_double_field() const +{ + return m_unbounded_sequence_double_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_double_field + * @return Reference to member unbounded_sequence_double_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_double_field() +{ + return m_unbounded_sequence_double_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_bool_field + * @param _unbounded_sequence_bool_field New value to be copied in member unbounded_sequence_bool_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_bool_field( + const std::vector& _unbounded_sequence_bool_field) +{ + m_unbounded_sequence_bool_field = _unbounded_sequence_bool_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_bool_field + * @param _unbounded_sequence_bool_field New value to be moved in member unbounded_sequence_bool_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_bool_field( + std::vector&& _unbounded_sequence_bool_field) +{ + m_unbounded_sequence_bool_field = std::move(_unbounded_sequence_bool_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_bool_field + * @return Constant reference to member unbounded_sequence_bool_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_bool_field() const +{ + return m_unbounded_sequence_bool_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_bool_field + * @return Reference to member unbounded_sequence_bool_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_bool_field() +{ + return m_unbounded_sequence_bool_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_enum_field + * @param _unbounded_sequence_enum_field New value to be copied in member unbounded_sequence_enum_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_enum_field( + const std::vector& _unbounded_sequence_enum_field) +{ + m_unbounded_sequence_enum_field = _unbounded_sequence_enum_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_enum_field + * @param _unbounded_sequence_enum_field New value to be moved in member unbounded_sequence_enum_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_enum_field( + std::vector&& _unbounded_sequence_enum_field) +{ + m_unbounded_sequence_enum_field = std::move(_unbounded_sequence_enum_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_enum_field + * @return Constant reference to member unbounded_sequence_enum_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_enum_field() const +{ + return m_unbounded_sequence_enum_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_enum_field + * @return Reference to member unbounded_sequence_enum_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_enum_field() +{ + return m_unbounded_sequence_enum_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_enum2_field + * @param _unbounded_sequence_enum2_field New value to be copied in member unbounded_sequence_enum2_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_enum2_field( + const std::vector& _unbounded_sequence_enum2_field) +{ + m_unbounded_sequence_enum2_field = _unbounded_sequence_enum2_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_enum2_field + * @param _unbounded_sequence_enum2_field New value to be moved in member unbounded_sequence_enum2_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_enum2_field( + std::vector&& _unbounded_sequence_enum2_field) +{ + m_unbounded_sequence_enum2_field = std::move(_unbounded_sequence_enum2_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_enum2_field + * @return Constant reference to member unbounded_sequence_enum2_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_enum2_field() const +{ + return m_unbounded_sequence_enum2_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_enum2_field + * @return Reference to member unbounded_sequence_enum2_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_enum2_field() +{ + return m_unbounded_sequence_enum2_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_struct_field + * @param _unbounded_sequence_struct_field New value to be copied in member unbounded_sequence_struct_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_struct_field( + const std::vector& _unbounded_sequence_struct_field) +{ + m_unbounded_sequence_struct_field = _unbounded_sequence_struct_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_struct_field + * @param _unbounded_sequence_struct_field New value to be moved in member unbounded_sequence_struct_field + */ +void eprosima::test::CompleteTestType::unbounded_sequence_struct_field( + std::vector&& _unbounded_sequence_struct_field) +{ + m_unbounded_sequence_struct_field = std::move(_unbounded_sequence_struct_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_struct_field + * @return Constant reference to member unbounded_sequence_struct_field + */ +const std::vector& eprosima::test::CompleteTestType::unbounded_sequence_struct_field() const +{ + return m_unbounded_sequence_struct_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_struct_field + * @return Reference to member unbounded_sequence_struct_field + */ +std::vector& eprosima::test::CompleteTestType::unbounded_sequence_struct_field() +{ + return m_unbounded_sequence_struct_field; +} + + +eprosima::test::KeyedCompleteTestType::KeyedCompleteTestType() +{ + +} + +eprosima::test::KeyedCompleteTestType::~KeyedCompleteTestType() +{ +} + +eprosima::test::KeyedCompleteTestType::KeyedCompleteTestType( + const KeyedCompleteTestType& x) +{ + m_id = x.m_id; + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = x.m_string_field; + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + m_struct_field = x.m_struct_field; + m_array_char_field = x.m_array_char_field; + m_array_uint8_field = x.m_array_uint8_field; + m_array_int16_field = x.m_array_int16_field; + m_array_uint16_field = x.m_array_uint16_field; + m_array_int32_field = x.m_array_int32_field; + m_array_uint32_field = x.m_array_uint32_field; + m_array_int64_field = x.m_array_int64_field; + m_array_uint64_field = x.m_array_uint64_field; + m_array_float_field = x.m_array_float_field; + m_array_double_field = x.m_array_double_field; + m_array_bool_field = x.m_array_bool_field; + m_array_enum_field = x.m_array_enum_field; + m_array_enum2_field = x.m_array_enum2_field; + m_array_struct_field = x.m_array_struct_field; + m_bounded_sequence_char_field = x.m_bounded_sequence_char_field; + m_bounded_sequence_uint8_field = x.m_bounded_sequence_uint8_field; + m_bounded_sequence_int16_field = x.m_bounded_sequence_int16_field; + m_bounded_sequence_uint16_field = x.m_bounded_sequence_uint16_field; + m_bounded_sequence_int32_field = x.m_bounded_sequence_int32_field; + m_bounded_sequence_uint32_field = x.m_bounded_sequence_uint32_field; + m_bounded_sequence_int64_field = x.m_bounded_sequence_int64_field; + m_bounded_sequence_uint64_field = x.m_bounded_sequence_uint64_field; + m_bounded_sequence_float_field = x.m_bounded_sequence_float_field; + m_bounded_sequence_double_field = x.m_bounded_sequence_double_field; + m_bounded_sequence_bool_field = x.m_bounded_sequence_bool_field; + m_bounded_sequence_enum_field = x.m_bounded_sequence_enum_field; + m_bounded_sequence_enum2_field = x.m_bounded_sequence_enum2_field; + m_bounded_sequence_struct_field = x.m_bounded_sequence_struct_field; + m_unbounded_sequence_char_field = x.m_unbounded_sequence_char_field; + m_unbounded_sequence_uint8_field = x.m_unbounded_sequence_uint8_field; + m_unbounded_sequence_int16_field = x.m_unbounded_sequence_int16_field; + m_unbounded_sequence_uint16_field = x.m_unbounded_sequence_uint16_field; + m_unbounded_sequence_int32_field = x.m_unbounded_sequence_int32_field; + m_unbounded_sequence_uint32_field = x.m_unbounded_sequence_uint32_field; + m_unbounded_sequence_int64_field = x.m_unbounded_sequence_int64_field; + m_unbounded_sequence_uint64_field = x.m_unbounded_sequence_uint64_field; + m_unbounded_sequence_float_field = x.m_unbounded_sequence_float_field; + m_unbounded_sequence_double_field = x.m_unbounded_sequence_double_field; + m_unbounded_sequence_bool_field = x.m_unbounded_sequence_bool_field; + m_unbounded_sequence_enum_field = x.m_unbounded_sequence_enum_field; + m_unbounded_sequence_enum2_field = x.m_unbounded_sequence_enum2_field; + m_unbounded_sequence_struct_field = x.m_unbounded_sequence_struct_field; +} + +eprosima::test::KeyedCompleteTestType::KeyedCompleteTestType( + KeyedCompleteTestType&& x) noexcept +{ + m_id = x.m_id; + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = std::move(x.m_string_field); + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + m_struct_field = std::move(x.m_struct_field); + m_array_char_field = std::move(x.m_array_char_field); + m_array_uint8_field = std::move(x.m_array_uint8_field); + m_array_int16_field = std::move(x.m_array_int16_field); + m_array_uint16_field = std::move(x.m_array_uint16_field); + m_array_int32_field = std::move(x.m_array_int32_field); + m_array_uint32_field = std::move(x.m_array_uint32_field); + m_array_int64_field = std::move(x.m_array_int64_field); + m_array_uint64_field = std::move(x.m_array_uint64_field); + m_array_float_field = std::move(x.m_array_float_field); + m_array_double_field = std::move(x.m_array_double_field); + m_array_bool_field = std::move(x.m_array_bool_field); + m_array_enum_field = std::move(x.m_array_enum_field); + m_array_enum2_field = std::move(x.m_array_enum2_field); + m_array_struct_field = std::move(x.m_array_struct_field); + m_bounded_sequence_char_field = std::move(x.m_bounded_sequence_char_field); + m_bounded_sequence_uint8_field = std::move(x.m_bounded_sequence_uint8_field); + m_bounded_sequence_int16_field = std::move(x.m_bounded_sequence_int16_field); + m_bounded_sequence_uint16_field = std::move(x.m_bounded_sequence_uint16_field); + m_bounded_sequence_int32_field = std::move(x.m_bounded_sequence_int32_field); + m_bounded_sequence_uint32_field = std::move(x.m_bounded_sequence_uint32_field); + m_bounded_sequence_int64_field = std::move(x.m_bounded_sequence_int64_field); + m_bounded_sequence_uint64_field = std::move(x.m_bounded_sequence_uint64_field); + m_bounded_sequence_float_field = std::move(x.m_bounded_sequence_float_field); + m_bounded_sequence_double_field = std::move(x.m_bounded_sequence_double_field); + m_bounded_sequence_bool_field = std::move(x.m_bounded_sequence_bool_field); + m_bounded_sequence_enum_field = std::move(x.m_bounded_sequence_enum_field); + m_bounded_sequence_enum2_field = std::move(x.m_bounded_sequence_enum2_field); + m_bounded_sequence_struct_field = std::move(x.m_bounded_sequence_struct_field); + m_unbounded_sequence_char_field = std::move(x.m_unbounded_sequence_char_field); + m_unbounded_sequence_uint8_field = std::move(x.m_unbounded_sequence_uint8_field); + m_unbounded_sequence_int16_field = std::move(x.m_unbounded_sequence_int16_field); + m_unbounded_sequence_uint16_field = std::move(x.m_unbounded_sequence_uint16_field); + m_unbounded_sequence_int32_field = std::move(x.m_unbounded_sequence_int32_field); + m_unbounded_sequence_uint32_field = std::move(x.m_unbounded_sequence_uint32_field); + m_unbounded_sequence_int64_field = std::move(x.m_unbounded_sequence_int64_field); + m_unbounded_sequence_uint64_field = std::move(x.m_unbounded_sequence_uint64_field); + m_unbounded_sequence_float_field = std::move(x.m_unbounded_sequence_float_field); + m_unbounded_sequence_double_field = std::move(x.m_unbounded_sequence_double_field); + m_unbounded_sequence_bool_field = std::move(x.m_unbounded_sequence_bool_field); + m_unbounded_sequence_enum_field = std::move(x.m_unbounded_sequence_enum_field); + m_unbounded_sequence_enum2_field = std::move(x.m_unbounded_sequence_enum2_field); + m_unbounded_sequence_struct_field = std::move(x.m_unbounded_sequence_struct_field); +} + +eprosima::test::KeyedCompleteTestType& eprosima::test::KeyedCompleteTestType::operator =( + const KeyedCompleteTestType& x) +{ + + m_id = x.m_id; + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = x.m_string_field; + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + m_struct_field = x.m_struct_field; + m_array_char_field = x.m_array_char_field; + m_array_uint8_field = x.m_array_uint8_field; + m_array_int16_field = x.m_array_int16_field; + m_array_uint16_field = x.m_array_uint16_field; + m_array_int32_field = x.m_array_int32_field; + m_array_uint32_field = x.m_array_uint32_field; + m_array_int64_field = x.m_array_int64_field; + m_array_uint64_field = x.m_array_uint64_field; + m_array_float_field = x.m_array_float_field; + m_array_double_field = x.m_array_double_field; + m_array_bool_field = x.m_array_bool_field; + m_array_enum_field = x.m_array_enum_field; + m_array_enum2_field = x.m_array_enum2_field; + m_array_struct_field = x.m_array_struct_field; + m_bounded_sequence_char_field = x.m_bounded_sequence_char_field; + m_bounded_sequence_uint8_field = x.m_bounded_sequence_uint8_field; + m_bounded_sequence_int16_field = x.m_bounded_sequence_int16_field; + m_bounded_sequence_uint16_field = x.m_bounded_sequence_uint16_field; + m_bounded_sequence_int32_field = x.m_bounded_sequence_int32_field; + m_bounded_sequence_uint32_field = x.m_bounded_sequence_uint32_field; + m_bounded_sequence_int64_field = x.m_bounded_sequence_int64_field; + m_bounded_sequence_uint64_field = x.m_bounded_sequence_uint64_field; + m_bounded_sequence_float_field = x.m_bounded_sequence_float_field; + m_bounded_sequence_double_field = x.m_bounded_sequence_double_field; + m_bounded_sequence_bool_field = x.m_bounded_sequence_bool_field; + m_bounded_sequence_enum_field = x.m_bounded_sequence_enum_field; + m_bounded_sequence_enum2_field = x.m_bounded_sequence_enum2_field; + m_bounded_sequence_struct_field = x.m_bounded_sequence_struct_field; + m_unbounded_sequence_char_field = x.m_unbounded_sequence_char_field; + m_unbounded_sequence_uint8_field = x.m_unbounded_sequence_uint8_field; + m_unbounded_sequence_int16_field = x.m_unbounded_sequence_int16_field; + m_unbounded_sequence_uint16_field = x.m_unbounded_sequence_uint16_field; + m_unbounded_sequence_int32_field = x.m_unbounded_sequence_int32_field; + m_unbounded_sequence_uint32_field = x.m_unbounded_sequence_uint32_field; + m_unbounded_sequence_int64_field = x.m_unbounded_sequence_int64_field; + m_unbounded_sequence_uint64_field = x.m_unbounded_sequence_uint64_field; + m_unbounded_sequence_float_field = x.m_unbounded_sequence_float_field; + m_unbounded_sequence_double_field = x.m_unbounded_sequence_double_field; + m_unbounded_sequence_bool_field = x.m_unbounded_sequence_bool_field; + m_unbounded_sequence_enum_field = x.m_unbounded_sequence_enum_field; + m_unbounded_sequence_enum2_field = x.m_unbounded_sequence_enum2_field; + m_unbounded_sequence_struct_field = x.m_unbounded_sequence_struct_field; + + return *this; +} + +eprosima::test::KeyedCompleteTestType& eprosima::test::KeyedCompleteTestType::operator =( + KeyedCompleteTestType&& x) noexcept +{ + + m_id = x.m_id; + m_char_field = x.m_char_field; + m_uint8_field = x.m_uint8_field; + m_int16_field = x.m_int16_field; + m_uint16_field = x.m_uint16_field; + m_int32_field = x.m_int32_field; + m_uint32_field = x.m_uint32_field; + m_int64_field = x.m_int64_field; + m_uint64_field = x.m_uint64_field; + m_float_field = x.m_float_field; + m_double_field = x.m_double_field; + m_bool_field = x.m_bool_field; + m_string_field = std::move(x.m_string_field); + m_enum_field = x.m_enum_field; + m_enum2_field = x.m_enum2_field; + m_struct_field = std::move(x.m_struct_field); + m_array_char_field = std::move(x.m_array_char_field); + m_array_uint8_field = std::move(x.m_array_uint8_field); + m_array_int16_field = std::move(x.m_array_int16_field); + m_array_uint16_field = std::move(x.m_array_uint16_field); + m_array_int32_field = std::move(x.m_array_int32_field); + m_array_uint32_field = std::move(x.m_array_uint32_field); + m_array_int64_field = std::move(x.m_array_int64_field); + m_array_uint64_field = std::move(x.m_array_uint64_field); + m_array_float_field = std::move(x.m_array_float_field); + m_array_double_field = std::move(x.m_array_double_field); + m_array_bool_field = std::move(x.m_array_bool_field); + m_array_enum_field = std::move(x.m_array_enum_field); + m_array_enum2_field = std::move(x.m_array_enum2_field); + m_array_struct_field = std::move(x.m_array_struct_field); + m_bounded_sequence_char_field = std::move(x.m_bounded_sequence_char_field); + m_bounded_sequence_uint8_field = std::move(x.m_bounded_sequence_uint8_field); + m_bounded_sequence_int16_field = std::move(x.m_bounded_sequence_int16_field); + m_bounded_sequence_uint16_field = std::move(x.m_bounded_sequence_uint16_field); + m_bounded_sequence_int32_field = std::move(x.m_bounded_sequence_int32_field); + m_bounded_sequence_uint32_field = std::move(x.m_bounded_sequence_uint32_field); + m_bounded_sequence_int64_field = std::move(x.m_bounded_sequence_int64_field); + m_bounded_sequence_uint64_field = std::move(x.m_bounded_sequence_uint64_field); + m_bounded_sequence_float_field = std::move(x.m_bounded_sequence_float_field); + m_bounded_sequence_double_field = std::move(x.m_bounded_sequence_double_field); + m_bounded_sequence_bool_field = std::move(x.m_bounded_sequence_bool_field); + m_bounded_sequence_enum_field = std::move(x.m_bounded_sequence_enum_field); + m_bounded_sequence_enum2_field = std::move(x.m_bounded_sequence_enum2_field); + m_bounded_sequence_struct_field = std::move(x.m_bounded_sequence_struct_field); + m_unbounded_sequence_char_field = std::move(x.m_unbounded_sequence_char_field); + m_unbounded_sequence_uint8_field = std::move(x.m_unbounded_sequence_uint8_field); + m_unbounded_sequence_int16_field = std::move(x.m_unbounded_sequence_int16_field); + m_unbounded_sequence_uint16_field = std::move(x.m_unbounded_sequence_uint16_field); + m_unbounded_sequence_int32_field = std::move(x.m_unbounded_sequence_int32_field); + m_unbounded_sequence_uint32_field = std::move(x.m_unbounded_sequence_uint32_field); + m_unbounded_sequence_int64_field = std::move(x.m_unbounded_sequence_int64_field); + m_unbounded_sequence_uint64_field = std::move(x.m_unbounded_sequence_uint64_field); + m_unbounded_sequence_float_field = std::move(x.m_unbounded_sequence_float_field); + m_unbounded_sequence_double_field = std::move(x.m_unbounded_sequence_double_field); + m_unbounded_sequence_bool_field = std::move(x.m_unbounded_sequence_bool_field); + m_unbounded_sequence_enum_field = std::move(x.m_unbounded_sequence_enum_field); + m_unbounded_sequence_enum2_field = std::move(x.m_unbounded_sequence_enum2_field); + m_unbounded_sequence_struct_field = std::move(x.m_unbounded_sequence_struct_field); + + return *this; +} + +bool eprosima::test::KeyedCompleteTestType::operator ==( + const KeyedCompleteTestType& x) const +{ + return (m_id == x.m_id && + m_char_field == x.m_char_field && + m_uint8_field == x.m_uint8_field && + m_int16_field == x.m_int16_field && + m_uint16_field == x.m_uint16_field && + m_int32_field == x.m_int32_field && + m_uint32_field == x.m_uint32_field && + m_int64_field == x.m_int64_field && + m_uint64_field == x.m_uint64_field && + m_float_field == x.m_float_field && + m_double_field == x.m_double_field && + m_bool_field == x.m_bool_field && + m_string_field == x.m_string_field && + m_enum_field == x.m_enum_field && + m_enum2_field == x.m_enum2_field && + m_struct_field == x.m_struct_field && + m_array_char_field == x.m_array_char_field && + m_array_uint8_field == x.m_array_uint8_field && + m_array_int16_field == x.m_array_int16_field && + m_array_uint16_field == x.m_array_uint16_field && + m_array_int32_field == x.m_array_int32_field && + m_array_uint32_field == x.m_array_uint32_field && + m_array_int64_field == x.m_array_int64_field && + m_array_uint64_field == x.m_array_uint64_field && + m_array_float_field == x.m_array_float_field && + m_array_double_field == x.m_array_double_field && + m_array_bool_field == x.m_array_bool_field && + m_array_enum_field == x.m_array_enum_field && + m_array_enum2_field == x.m_array_enum2_field && + m_array_struct_field == x.m_array_struct_field && + m_bounded_sequence_char_field == x.m_bounded_sequence_char_field && + m_bounded_sequence_uint8_field == x.m_bounded_sequence_uint8_field && + m_bounded_sequence_int16_field == x.m_bounded_sequence_int16_field && + m_bounded_sequence_uint16_field == x.m_bounded_sequence_uint16_field && + m_bounded_sequence_int32_field == x.m_bounded_sequence_int32_field && + m_bounded_sequence_uint32_field == x.m_bounded_sequence_uint32_field && + m_bounded_sequence_int64_field == x.m_bounded_sequence_int64_field && + m_bounded_sequence_uint64_field == x.m_bounded_sequence_uint64_field && + m_bounded_sequence_float_field == x.m_bounded_sequence_float_field && + m_bounded_sequence_double_field == x.m_bounded_sequence_double_field && + m_bounded_sequence_bool_field == x.m_bounded_sequence_bool_field && + m_bounded_sequence_enum_field == x.m_bounded_sequence_enum_field && + m_bounded_sequence_enum2_field == x.m_bounded_sequence_enum2_field && + m_bounded_sequence_struct_field == x.m_bounded_sequence_struct_field && + m_unbounded_sequence_char_field == x.m_unbounded_sequence_char_field && + m_unbounded_sequence_uint8_field == x.m_unbounded_sequence_uint8_field && + m_unbounded_sequence_int16_field == x.m_unbounded_sequence_int16_field && + m_unbounded_sequence_uint16_field == x.m_unbounded_sequence_uint16_field && + m_unbounded_sequence_int32_field == x.m_unbounded_sequence_int32_field && + m_unbounded_sequence_uint32_field == x.m_unbounded_sequence_uint32_field && + m_unbounded_sequence_int64_field == x.m_unbounded_sequence_int64_field && + m_unbounded_sequence_uint64_field == x.m_unbounded_sequence_uint64_field && + m_unbounded_sequence_float_field == x.m_unbounded_sequence_float_field && + m_unbounded_sequence_double_field == x.m_unbounded_sequence_double_field && + m_unbounded_sequence_bool_field == x.m_unbounded_sequence_bool_field && + m_unbounded_sequence_enum_field == x.m_unbounded_sequence_enum_field && + m_unbounded_sequence_enum2_field == x.m_unbounded_sequence_enum2_field && + m_unbounded_sequence_struct_field == x.m_unbounded_sequence_struct_field); +} + +bool eprosima::test::KeyedCompleteTestType::operator !=( + const KeyedCompleteTestType& x) const +{ + return !(*this == x); +} + +/*! + * @brief This function sets a value in member id + * @param _id New value for member id + */ +void eprosima::test::KeyedCompleteTestType::id( + int32_t _id) +{ + m_id = _id; +} + +/*! + * @brief This function returns the value of member id + * @return Value of member id + */ +int32_t eprosima::test::KeyedCompleteTestType::id() const +{ + return m_id; +} + +/*! + * @brief This function returns a reference to member id + * @return Reference to member id + */ +int32_t& eprosima::test::KeyedCompleteTestType::id() +{ + return m_id; +} + + +/*! + * @brief This function sets a value in member char_field + * @param _char_field New value for member char_field + */ +void eprosima::test::KeyedCompleteTestType::char_field( + char _char_field) +{ + m_char_field = _char_field; +} + +/*! + * @brief This function returns the value of member char_field + * @return Value of member char_field + */ +char eprosima::test::KeyedCompleteTestType::char_field() const +{ + return m_char_field; +} + +/*! + * @brief This function returns a reference to member char_field + * @return Reference to member char_field + */ +char& eprosima::test::KeyedCompleteTestType::char_field() +{ + return m_char_field; +} + + +/*! + * @brief This function sets a value in member uint8_field + * @param _uint8_field New value for member uint8_field + */ +void eprosima::test::KeyedCompleteTestType::uint8_field( + uint8_t _uint8_field) +{ + m_uint8_field = _uint8_field; +} + +/*! + * @brief This function returns the value of member uint8_field + * @return Value of member uint8_field + */ +uint8_t eprosima::test::KeyedCompleteTestType::uint8_field() const +{ + return m_uint8_field; +} + +/*! + * @brief This function returns a reference to member uint8_field + * @return Reference to member uint8_field + */ +uint8_t& eprosima::test::KeyedCompleteTestType::uint8_field() +{ + return m_uint8_field; +} + + +/*! + * @brief This function sets a value in member int16_field + * @param _int16_field New value for member int16_field + */ +void eprosima::test::KeyedCompleteTestType::int16_field( + int16_t _int16_field) +{ + m_int16_field = _int16_field; +} + +/*! + * @brief This function returns the value of member int16_field + * @return Value of member int16_field + */ +int16_t eprosima::test::KeyedCompleteTestType::int16_field() const +{ + return m_int16_field; +} + +/*! + * @brief This function returns a reference to member int16_field + * @return Reference to member int16_field + */ +int16_t& eprosima::test::KeyedCompleteTestType::int16_field() +{ + return m_int16_field; +} + + +/*! + * @brief This function sets a value in member uint16_field + * @param _uint16_field New value for member uint16_field + */ +void eprosima::test::KeyedCompleteTestType::uint16_field( + uint16_t _uint16_field) +{ + m_uint16_field = _uint16_field; +} + +/*! + * @brief This function returns the value of member uint16_field + * @return Value of member uint16_field + */ +uint16_t eprosima::test::KeyedCompleteTestType::uint16_field() const +{ + return m_uint16_field; +} + +/*! + * @brief This function returns a reference to member uint16_field + * @return Reference to member uint16_field + */ +uint16_t& eprosima::test::KeyedCompleteTestType::uint16_field() +{ + return m_uint16_field; +} + + +/*! + * @brief This function sets a value in member int32_field + * @param _int32_field New value for member int32_field + */ +void eprosima::test::KeyedCompleteTestType::int32_field( + int32_t _int32_field) +{ + m_int32_field = _int32_field; +} + +/*! + * @brief This function returns the value of member int32_field + * @return Value of member int32_field + */ +int32_t eprosima::test::KeyedCompleteTestType::int32_field() const +{ + return m_int32_field; +} + +/*! + * @brief This function returns a reference to member int32_field + * @return Reference to member int32_field + */ +int32_t& eprosima::test::KeyedCompleteTestType::int32_field() +{ + return m_int32_field; +} + + +/*! + * @brief This function sets a value in member uint32_field + * @param _uint32_field New value for member uint32_field + */ +void eprosima::test::KeyedCompleteTestType::uint32_field( + uint32_t _uint32_field) +{ + m_uint32_field = _uint32_field; +} + +/*! + * @brief This function returns the value of member uint32_field + * @return Value of member uint32_field + */ +uint32_t eprosima::test::KeyedCompleteTestType::uint32_field() const +{ + return m_uint32_field; +} + +/*! + * @brief This function returns a reference to member uint32_field + * @return Reference to member uint32_field + */ +uint32_t& eprosima::test::KeyedCompleteTestType::uint32_field() +{ + return m_uint32_field; +} + + +/*! + * @brief This function sets a value in member int64_field + * @param _int64_field New value for member int64_field + */ +void eprosima::test::KeyedCompleteTestType::int64_field( + int64_t _int64_field) +{ + m_int64_field = _int64_field; +} + +/*! + * @brief This function returns the value of member int64_field + * @return Value of member int64_field + */ +int64_t eprosima::test::KeyedCompleteTestType::int64_field() const +{ + return m_int64_field; +} + +/*! + * @brief This function returns a reference to member int64_field + * @return Reference to member int64_field + */ +int64_t& eprosima::test::KeyedCompleteTestType::int64_field() +{ + return m_int64_field; +} + + +/*! + * @brief This function sets a value in member uint64_field + * @param _uint64_field New value for member uint64_field + */ +void eprosima::test::KeyedCompleteTestType::uint64_field( + uint64_t _uint64_field) +{ + m_uint64_field = _uint64_field; +} + +/*! + * @brief This function returns the value of member uint64_field + * @return Value of member uint64_field + */ +uint64_t eprosima::test::KeyedCompleteTestType::uint64_field() const +{ + return m_uint64_field; +} + +/*! + * @brief This function returns a reference to member uint64_field + * @return Reference to member uint64_field + */ +uint64_t& eprosima::test::KeyedCompleteTestType::uint64_field() +{ + return m_uint64_field; +} + + +/*! + * @brief This function sets a value in member float_field + * @param _float_field New value for member float_field + */ +void eprosima::test::KeyedCompleteTestType::float_field( + float _float_field) +{ + m_float_field = _float_field; +} + +/*! + * @brief This function returns the value of member float_field + * @return Value of member float_field + */ +float eprosima::test::KeyedCompleteTestType::float_field() const +{ + return m_float_field; +} + +/*! + * @brief This function returns a reference to member float_field + * @return Reference to member float_field + */ +float& eprosima::test::KeyedCompleteTestType::float_field() +{ + return m_float_field; +} + + +/*! + * @brief This function sets a value in member double_field + * @param _double_field New value for member double_field + */ +void eprosima::test::KeyedCompleteTestType::double_field( + double _double_field) +{ + m_double_field = _double_field; +} + +/*! + * @brief This function returns the value of member double_field + * @return Value of member double_field + */ +double eprosima::test::KeyedCompleteTestType::double_field() const +{ + return m_double_field; +} + +/*! + * @brief This function returns a reference to member double_field + * @return Reference to member double_field + */ +double& eprosima::test::KeyedCompleteTestType::double_field() +{ + return m_double_field; +} + + +/*! + * @brief This function sets a value in member bool_field + * @param _bool_field New value for member bool_field + */ +void eprosima::test::KeyedCompleteTestType::bool_field( + bool _bool_field) +{ + m_bool_field = _bool_field; +} + +/*! + * @brief This function returns the value of member bool_field + * @return Value of member bool_field + */ +bool eprosima::test::KeyedCompleteTestType::bool_field() const +{ + return m_bool_field; +} + +/*! + * @brief This function returns a reference to member bool_field + * @return Reference to member bool_field + */ +bool& eprosima::test::KeyedCompleteTestType::bool_field() +{ + return m_bool_field; +} + + +/*! + * @brief This function copies the value in member string_field + * @param _string_field New value to be copied in member string_field + */ +void eprosima::test::KeyedCompleteTestType::string_field( + const std::string& _string_field) +{ + m_string_field = _string_field; +} + +/*! + * @brief This function moves the value in member string_field + * @param _string_field New value to be moved in member string_field + */ +void eprosima::test::KeyedCompleteTestType::string_field( + std::string&& _string_field) +{ + m_string_field = std::move(_string_field); +} + +/*! + * @brief This function returns a constant reference to member string_field + * @return Constant reference to member string_field + */ +const std::string& eprosima::test::KeyedCompleteTestType::string_field() const +{ + return m_string_field; +} + +/*! + * @brief This function returns a reference to member string_field + * @return Reference to member string_field + */ +std::string& eprosima::test::KeyedCompleteTestType::string_field() +{ + return m_string_field; +} + + +/*! + * @brief This function sets a value in member enum_field + * @param _enum_field New value for member enum_field + */ +void eprosima::test::KeyedCompleteTestType::enum_field( + eprosima::test::Color _enum_field) +{ + m_enum_field = _enum_field; +} + +/*! + * @brief This function returns the value of member enum_field + * @return Value of member enum_field + */ +eprosima::test::Color eprosima::test::KeyedCompleteTestType::enum_field() const +{ + return m_enum_field; +} + +/*! + * @brief This function returns a reference to member enum_field + * @return Reference to member enum_field + */ +eprosima::test::Color& eprosima::test::KeyedCompleteTestType::enum_field() +{ + return m_enum_field; +} + + +/*! + * @brief This function sets a value in member enum2_field + * @param _enum2_field New value for member enum2_field + */ +void eprosima::test::KeyedCompleteTestType::enum2_field( + eprosima::test::Material _enum2_field) +{ + m_enum2_field = _enum2_field; +} + +/*! + * @brief This function returns the value of member enum2_field + * @return Value of member enum2_field + */ +eprosima::test::Material eprosima::test::KeyedCompleteTestType::enum2_field() const +{ + return m_enum2_field; +} + +/*! + * @brief This function returns a reference to member enum2_field + * @return Reference to member enum2_field + */ +eprosima::test::Material& eprosima::test::KeyedCompleteTestType::enum2_field() +{ + return m_enum2_field; +} + + +/*! + * @brief This function copies the value in member struct_field + * @param _struct_field New value to be copied in member struct_field + */ +void eprosima::test::KeyedCompleteTestType::struct_field( + const eprosima::test::StructType& _struct_field) +{ + m_struct_field = _struct_field; +} + +/*! + * @brief This function moves the value in member struct_field + * @param _struct_field New value to be moved in member struct_field + */ +void eprosima::test::KeyedCompleteTestType::struct_field( + eprosima::test::StructType&& _struct_field) +{ + m_struct_field = std::move(_struct_field); +} + +/*! + * @brief This function returns a constant reference to member struct_field + * @return Constant reference to member struct_field + */ +const eprosima::test::StructType& eprosima::test::KeyedCompleteTestType::struct_field() const +{ + return m_struct_field; +} + +/*! + * @brief This function returns a reference to member struct_field + * @return Reference to member struct_field + */ +eprosima::test::StructType& eprosima::test::KeyedCompleteTestType::struct_field() +{ + return m_struct_field; +} + + +/*! + * @brief This function copies the value in member array_char_field + * @param _array_char_field New value to be copied in member array_char_field + */ +void eprosima::test::KeyedCompleteTestType::array_char_field( + const std::array& _array_char_field) +{ + m_array_char_field = _array_char_field; +} + +/*! + * @brief This function moves the value in member array_char_field + * @param _array_char_field New value to be moved in member array_char_field + */ +void eprosima::test::KeyedCompleteTestType::array_char_field( + std::array&& _array_char_field) +{ + m_array_char_field = std::move(_array_char_field); +} + +/*! + * @brief This function returns a constant reference to member array_char_field + * @return Constant reference to member array_char_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_char_field() const +{ + return m_array_char_field; +} + +/*! + * @brief This function returns a reference to member array_char_field + * @return Reference to member array_char_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_char_field() +{ + return m_array_char_field; +} + + +/*! + * @brief This function copies the value in member array_uint8_field + * @param _array_uint8_field New value to be copied in member array_uint8_field + */ +void eprosima::test::KeyedCompleteTestType::array_uint8_field( + const std::array& _array_uint8_field) +{ + m_array_uint8_field = _array_uint8_field; +} + +/*! + * @brief This function moves the value in member array_uint8_field + * @param _array_uint8_field New value to be moved in member array_uint8_field + */ +void eprosima::test::KeyedCompleteTestType::array_uint8_field( + std::array&& _array_uint8_field) +{ + m_array_uint8_field = std::move(_array_uint8_field); +} + +/*! + * @brief This function returns a constant reference to member array_uint8_field + * @return Constant reference to member array_uint8_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_uint8_field() const +{ + return m_array_uint8_field; +} + +/*! + * @brief This function returns a reference to member array_uint8_field + * @return Reference to member array_uint8_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_uint8_field() +{ + return m_array_uint8_field; +} + + +/*! + * @brief This function copies the value in member array_int16_field + * @param _array_int16_field New value to be copied in member array_int16_field + */ +void eprosima::test::KeyedCompleteTestType::array_int16_field( + const std::array& _array_int16_field) +{ + m_array_int16_field = _array_int16_field; +} + +/*! + * @brief This function moves the value in member array_int16_field + * @param _array_int16_field New value to be moved in member array_int16_field + */ +void eprosima::test::KeyedCompleteTestType::array_int16_field( + std::array&& _array_int16_field) +{ + m_array_int16_field = std::move(_array_int16_field); +} + +/*! + * @brief This function returns a constant reference to member array_int16_field + * @return Constant reference to member array_int16_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_int16_field() const +{ + return m_array_int16_field; +} + +/*! + * @brief This function returns a reference to member array_int16_field + * @return Reference to member array_int16_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_int16_field() +{ + return m_array_int16_field; +} + + +/*! + * @brief This function copies the value in member array_uint16_field + * @param _array_uint16_field New value to be copied in member array_uint16_field + */ +void eprosima::test::KeyedCompleteTestType::array_uint16_field( + const std::array& _array_uint16_field) +{ + m_array_uint16_field = _array_uint16_field; +} + +/*! + * @brief This function moves the value in member array_uint16_field + * @param _array_uint16_field New value to be moved in member array_uint16_field + */ +void eprosima::test::KeyedCompleteTestType::array_uint16_field( + std::array&& _array_uint16_field) +{ + m_array_uint16_field = std::move(_array_uint16_field); +} + +/*! + * @brief This function returns a constant reference to member array_uint16_field + * @return Constant reference to member array_uint16_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_uint16_field() const +{ + return m_array_uint16_field; +} + +/*! + * @brief This function returns a reference to member array_uint16_field + * @return Reference to member array_uint16_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_uint16_field() +{ + return m_array_uint16_field; +} + + +/*! + * @brief This function copies the value in member array_int32_field + * @param _array_int32_field New value to be copied in member array_int32_field + */ +void eprosima::test::KeyedCompleteTestType::array_int32_field( + const std::array& _array_int32_field) +{ + m_array_int32_field = _array_int32_field; +} + +/*! + * @brief This function moves the value in member array_int32_field + * @param _array_int32_field New value to be moved in member array_int32_field + */ +void eprosima::test::KeyedCompleteTestType::array_int32_field( + std::array&& _array_int32_field) +{ + m_array_int32_field = std::move(_array_int32_field); +} + +/*! + * @brief This function returns a constant reference to member array_int32_field + * @return Constant reference to member array_int32_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_int32_field() const +{ + return m_array_int32_field; +} + +/*! + * @brief This function returns a reference to member array_int32_field + * @return Reference to member array_int32_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_int32_field() +{ + return m_array_int32_field; +} + + +/*! + * @brief This function copies the value in member array_uint32_field + * @param _array_uint32_field New value to be copied in member array_uint32_field + */ +void eprosima::test::KeyedCompleteTestType::array_uint32_field( + const std::array& _array_uint32_field) +{ + m_array_uint32_field = _array_uint32_field; +} + +/*! + * @brief This function moves the value in member array_uint32_field + * @param _array_uint32_field New value to be moved in member array_uint32_field + */ +void eprosima::test::KeyedCompleteTestType::array_uint32_field( + std::array&& _array_uint32_field) +{ + m_array_uint32_field = std::move(_array_uint32_field); +} + +/*! + * @brief This function returns a constant reference to member array_uint32_field + * @return Constant reference to member array_uint32_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_uint32_field() const +{ + return m_array_uint32_field; +} + +/*! + * @brief This function returns a reference to member array_uint32_field + * @return Reference to member array_uint32_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_uint32_field() +{ + return m_array_uint32_field; +} + + +/*! + * @brief This function copies the value in member array_int64_field + * @param _array_int64_field New value to be copied in member array_int64_field + */ +void eprosima::test::KeyedCompleteTestType::array_int64_field( + const std::array& _array_int64_field) +{ + m_array_int64_field = _array_int64_field; +} + +/*! + * @brief This function moves the value in member array_int64_field + * @param _array_int64_field New value to be moved in member array_int64_field + */ +void eprosima::test::KeyedCompleteTestType::array_int64_field( + std::array&& _array_int64_field) +{ + m_array_int64_field = std::move(_array_int64_field); +} + +/*! + * @brief This function returns a constant reference to member array_int64_field + * @return Constant reference to member array_int64_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_int64_field() const +{ + return m_array_int64_field; +} + +/*! + * @brief This function returns a reference to member array_int64_field + * @return Reference to member array_int64_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_int64_field() +{ + return m_array_int64_field; +} + + +/*! + * @brief This function copies the value in member array_uint64_field + * @param _array_uint64_field New value to be copied in member array_uint64_field + */ +void eprosima::test::KeyedCompleteTestType::array_uint64_field( + const std::array& _array_uint64_field) +{ + m_array_uint64_field = _array_uint64_field; +} + +/*! + * @brief This function moves the value in member array_uint64_field + * @param _array_uint64_field New value to be moved in member array_uint64_field + */ +void eprosima::test::KeyedCompleteTestType::array_uint64_field( + std::array&& _array_uint64_field) +{ + m_array_uint64_field = std::move(_array_uint64_field); +} + +/*! + * @brief This function returns a constant reference to member array_uint64_field + * @return Constant reference to member array_uint64_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_uint64_field() const +{ + return m_array_uint64_field; +} + +/*! + * @brief This function returns a reference to member array_uint64_field + * @return Reference to member array_uint64_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_uint64_field() +{ + return m_array_uint64_field; +} + + +/*! + * @brief This function copies the value in member array_float_field + * @param _array_float_field New value to be copied in member array_float_field + */ +void eprosima::test::KeyedCompleteTestType::array_float_field( + const std::array& _array_float_field) +{ + m_array_float_field = _array_float_field; +} + +/*! + * @brief This function moves the value in member array_float_field + * @param _array_float_field New value to be moved in member array_float_field + */ +void eprosima::test::KeyedCompleteTestType::array_float_field( + std::array&& _array_float_field) +{ + m_array_float_field = std::move(_array_float_field); +} + +/*! + * @brief This function returns a constant reference to member array_float_field + * @return Constant reference to member array_float_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_float_field() const +{ + return m_array_float_field; +} + +/*! + * @brief This function returns a reference to member array_float_field + * @return Reference to member array_float_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_float_field() +{ + return m_array_float_field; +} + + +/*! + * @brief This function copies the value in member array_double_field + * @param _array_double_field New value to be copied in member array_double_field + */ +void eprosima::test::KeyedCompleteTestType::array_double_field( + const std::array& _array_double_field) +{ + m_array_double_field = _array_double_field; +} + +/*! + * @brief This function moves the value in member array_double_field + * @param _array_double_field New value to be moved in member array_double_field + */ +void eprosima::test::KeyedCompleteTestType::array_double_field( + std::array&& _array_double_field) +{ + m_array_double_field = std::move(_array_double_field); +} + +/*! + * @brief This function returns a constant reference to member array_double_field + * @return Constant reference to member array_double_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_double_field() const +{ + return m_array_double_field; +} + +/*! + * @brief This function returns a reference to member array_double_field + * @return Reference to member array_double_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_double_field() +{ + return m_array_double_field; +} + + +/*! + * @brief This function copies the value in member array_bool_field + * @param _array_bool_field New value to be copied in member array_bool_field + */ +void eprosima::test::KeyedCompleteTestType::array_bool_field( + const std::array& _array_bool_field) +{ + m_array_bool_field = _array_bool_field; +} + +/*! + * @brief This function moves the value in member array_bool_field + * @param _array_bool_field New value to be moved in member array_bool_field + */ +void eprosima::test::KeyedCompleteTestType::array_bool_field( + std::array&& _array_bool_field) +{ + m_array_bool_field = std::move(_array_bool_field); +} + +/*! + * @brief This function returns a constant reference to member array_bool_field + * @return Constant reference to member array_bool_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_bool_field() const +{ + return m_array_bool_field; +} + +/*! + * @brief This function returns a reference to member array_bool_field + * @return Reference to member array_bool_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_bool_field() +{ + return m_array_bool_field; +} + + +/*! + * @brief This function copies the value in member array_enum_field + * @param _array_enum_field New value to be copied in member array_enum_field + */ +void eprosima::test::KeyedCompleteTestType::array_enum_field( + const std::array& _array_enum_field) +{ + m_array_enum_field = _array_enum_field; +} + +/*! + * @brief This function moves the value in member array_enum_field + * @param _array_enum_field New value to be moved in member array_enum_field + */ +void eprosima::test::KeyedCompleteTestType::array_enum_field( + std::array&& _array_enum_field) +{ + m_array_enum_field = std::move(_array_enum_field); +} + +/*! + * @brief This function returns a constant reference to member array_enum_field + * @return Constant reference to member array_enum_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_enum_field() const +{ + return m_array_enum_field; +} + +/*! + * @brief This function returns a reference to member array_enum_field + * @return Reference to member array_enum_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_enum_field() +{ + return m_array_enum_field; +} + + +/*! + * @brief This function copies the value in member array_enum2_field + * @param _array_enum2_field New value to be copied in member array_enum2_field + */ +void eprosima::test::KeyedCompleteTestType::array_enum2_field( + const std::array& _array_enum2_field) +{ + m_array_enum2_field = _array_enum2_field; +} + +/*! + * @brief This function moves the value in member array_enum2_field + * @param _array_enum2_field New value to be moved in member array_enum2_field + */ +void eprosima::test::KeyedCompleteTestType::array_enum2_field( + std::array&& _array_enum2_field) +{ + m_array_enum2_field = std::move(_array_enum2_field); +} + +/*! + * @brief This function returns a constant reference to member array_enum2_field + * @return Constant reference to member array_enum2_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_enum2_field() const +{ + return m_array_enum2_field; +} + +/*! + * @brief This function returns a reference to member array_enum2_field + * @return Reference to member array_enum2_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_enum2_field() +{ + return m_array_enum2_field; +} + + +/*! + * @brief This function copies the value in member array_struct_field + * @param _array_struct_field New value to be copied in member array_struct_field + */ +void eprosima::test::KeyedCompleteTestType::array_struct_field( + const std::array& _array_struct_field) +{ + m_array_struct_field = _array_struct_field; +} + +/*! + * @brief This function moves the value in member array_struct_field + * @param _array_struct_field New value to be moved in member array_struct_field + */ +void eprosima::test::KeyedCompleteTestType::array_struct_field( + std::array&& _array_struct_field) +{ + m_array_struct_field = std::move(_array_struct_field); +} + +/*! + * @brief This function returns a constant reference to member array_struct_field + * @return Constant reference to member array_struct_field + */ +const std::array& eprosima::test::KeyedCompleteTestType::array_struct_field() const +{ + return m_array_struct_field; +} + +/*! + * @brief This function returns a reference to member array_struct_field + * @return Reference to member array_struct_field + */ +std::array& eprosima::test::KeyedCompleteTestType::array_struct_field() +{ + return m_array_struct_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_char_field + * @param _bounded_sequence_char_field New value to be copied in member bounded_sequence_char_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_char_field( + const std::vector& _bounded_sequence_char_field) +{ + m_bounded_sequence_char_field = _bounded_sequence_char_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_char_field + * @param _bounded_sequence_char_field New value to be moved in member bounded_sequence_char_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_char_field( + std::vector&& _bounded_sequence_char_field) +{ + m_bounded_sequence_char_field = std::move(_bounded_sequence_char_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_char_field + * @return Constant reference to member bounded_sequence_char_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_char_field() const +{ + return m_bounded_sequence_char_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_char_field + * @return Reference to member bounded_sequence_char_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_char_field() +{ + return m_bounded_sequence_char_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_uint8_field + * @param _bounded_sequence_uint8_field New value to be copied in member bounded_sequence_uint8_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_uint8_field( + const std::vector& _bounded_sequence_uint8_field) +{ + m_bounded_sequence_uint8_field = _bounded_sequence_uint8_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_uint8_field + * @param _bounded_sequence_uint8_field New value to be moved in member bounded_sequence_uint8_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_uint8_field( + std::vector&& _bounded_sequence_uint8_field) +{ + m_bounded_sequence_uint8_field = std::move(_bounded_sequence_uint8_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_uint8_field + * @return Constant reference to member bounded_sequence_uint8_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_uint8_field() const +{ + return m_bounded_sequence_uint8_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_uint8_field + * @return Reference to member bounded_sequence_uint8_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_uint8_field() +{ + return m_bounded_sequence_uint8_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_int16_field + * @param _bounded_sequence_int16_field New value to be copied in member bounded_sequence_int16_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_int16_field( + const std::vector& _bounded_sequence_int16_field) +{ + m_bounded_sequence_int16_field = _bounded_sequence_int16_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_int16_field + * @param _bounded_sequence_int16_field New value to be moved in member bounded_sequence_int16_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_int16_field( + std::vector&& _bounded_sequence_int16_field) +{ + m_bounded_sequence_int16_field = std::move(_bounded_sequence_int16_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_int16_field + * @return Constant reference to member bounded_sequence_int16_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_int16_field() const +{ + return m_bounded_sequence_int16_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_int16_field + * @return Reference to member bounded_sequence_int16_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_int16_field() +{ + return m_bounded_sequence_int16_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_uint16_field + * @param _bounded_sequence_uint16_field New value to be copied in member bounded_sequence_uint16_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_uint16_field( + const std::vector& _bounded_sequence_uint16_field) +{ + m_bounded_sequence_uint16_field = _bounded_sequence_uint16_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_uint16_field + * @param _bounded_sequence_uint16_field New value to be moved in member bounded_sequence_uint16_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_uint16_field( + std::vector&& _bounded_sequence_uint16_field) +{ + m_bounded_sequence_uint16_field = std::move(_bounded_sequence_uint16_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_uint16_field + * @return Constant reference to member bounded_sequence_uint16_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_uint16_field() const +{ + return m_bounded_sequence_uint16_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_uint16_field + * @return Reference to member bounded_sequence_uint16_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_uint16_field() +{ + return m_bounded_sequence_uint16_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_int32_field + * @param _bounded_sequence_int32_field New value to be copied in member bounded_sequence_int32_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_int32_field( + const std::vector& _bounded_sequence_int32_field) +{ + m_bounded_sequence_int32_field = _bounded_sequence_int32_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_int32_field + * @param _bounded_sequence_int32_field New value to be moved in member bounded_sequence_int32_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_int32_field( + std::vector&& _bounded_sequence_int32_field) +{ + m_bounded_sequence_int32_field = std::move(_bounded_sequence_int32_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_int32_field + * @return Constant reference to member bounded_sequence_int32_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_int32_field() const +{ + return m_bounded_sequence_int32_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_int32_field + * @return Reference to member bounded_sequence_int32_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_int32_field() +{ + return m_bounded_sequence_int32_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_uint32_field + * @param _bounded_sequence_uint32_field New value to be copied in member bounded_sequence_uint32_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_uint32_field( + const std::vector& _bounded_sequence_uint32_field) +{ + m_bounded_sequence_uint32_field = _bounded_sequence_uint32_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_uint32_field + * @param _bounded_sequence_uint32_field New value to be moved in member bounded_sequence_uint32_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_uint32_field( + std::vector&& _bounded_sequence_uint32_field) +{ + m_bounded_sequence_uint32_field = std::move(_bounded_sequence_uint32_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_uint32_field + * @return Constant reference to member bounded_sequence_uint32_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_uint32_field() const +{ + return m_bounded_sequence_uint32_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_uint32_field + * @return Reference to member bounded_sequence_uint32_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_uint32_field() +{ + return m_bounded_sequence_uint32_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_int64_field + * @param _bounded_sequence_int64_field New value to be copied in member bounded_sequence_int64_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_int64_field( + const std::vector& _bounded_sequence_int64_field) +{ + m_bounded_sequence_int64_field = _bounded_sequence_int64_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_int64_field + * @param _bounded_sequence_int64_field New value to be moved in member bounded_sequence_int64_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_int64_field( + std::vector&& _bounded_sequence_int64_field) +{ + m_bounded_sequence_int64_field = std::move(_bounded_sequence_int64_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_int64_field + * @return Constant reference to member bounded_sequence_int64_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_int64_field() const +{ + return m_bounded_sequence_int64_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_int64_field + * @return Reference to member bounded_sequence_int64_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_int64_field() +{ + return m_bounded_sequence_int64_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_uint64_field + * @param _bounded_sequence_uint64_field New value to be copied in member bounded_sequence_uint64_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_uint64_field( + const std::vector& _bounded_sequence_uint64_field) +{ + m_bounded_sequence_uint64_field = _bounded_sequence_uint64_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_uint64_field + * @param _bounded_sequence_uint64_field New value to be moved in member bounded_sequence_uint64_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_uint64_field( + std::vector&& _bounded_sequence_uint64_field) +{ + m_bounded_sequence_uint64_field = std::move(_bounded_sequence_uint64_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_uint64_field + * @return Constant reference to member bounded_sequence_uint64_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_uint64_field() const +{ + return m_bounded_sequence_uint64_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_uint64_field + * @return Reference to member bounded_sequence_uint64_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_uint64_field() +{ + return m_bounded_sequence_uint64_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_float_field + * @param _bounded_sequence_float_field New value to be copied in member bounded_sequence_float_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_float_field( + const std::vector& _bounded_sequence_float_field) +{ + m_bounded_sequence_float_field = _bounded_sequence_float_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_float_field + * @param _bounded_sequence_float_field New value to be moved in member bounded_sequence_float_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_float_field( + std::vector&& _bounded_sequence_float_field) +{ + m_bounded_sequence_float_field = std::move(_bounded_sequence_float_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_float_field + * @return Constant reference to member bounded_sequence_float_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_float_field() const +{ + return m_bounded_sequence_float_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_float_field + * @return Reference to member bounded_sequence_float_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_float_field() +{ + return m_bounded_sequence_float_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_double_field + * @param _bounded_sequence_double_field New value to be copied in member bounded_sequence_double_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_double_field( + const std::vector& _bounded_sequence_double_field) +{ + m_bounded_sequence_double_field = _bounded_sequence_double_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_double_field + * @param _bounded_sequence_double_field New value to be moved in member bounded_sequence_double_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_double_field( + std::vector&& _bounded_sequence_double_field) +{ + m_bounded_sequence_double_field = std::move(_bounded_sequence_double_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_double_field + * @return Constant reference to member bounded_sequence_double_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_double_field() const +{ + return m_bounded_sequence_double_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_double_field + * @return Reference to member bounded_sequence_double_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_double_field() +{ + return m_bounded_sequence_double_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_bool_field + * @param _bounded_sequence_bool_field New value to be copied in member bounded_sequence_bool_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_bool_field( + const std::vector& _bounded_sequence_bool_field) +{ + m_bounded_sequence_bool_field = _bounded_sequence_bool_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_bool_field + * @param _bounded_sequence_bool_field New value to be moved in member bounded_sequence_bool_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_bool_field( + std::vector&& _bounded_sequence_bool_field) +{ + m_bounded_sequence_bool_field = std::move(_bounded_sequence_bool_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_bool_field + * @return Constant reference to member bounded_sequence_bool_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_bool_field() const +{ + return m_bounded_sequence_bool_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_bool_field + * @return Reference to member bounded_sequence_bool_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_bool_field() +{ + return m_bounded_sequence_bool_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_enum_field + * @param _bounded_sequence_enum_field New value to be copied in member bounded_sequence_enum_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_enum_field( + const std::vector& _bounded_sequence_enum_field) +{ + m_bounded_sequence_enum_field = _bounded_sequence_enum_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_enum_field + * @param _bounded_sequence_enum_field New value to be moved in member bounded_sequence_enum_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_enum_field( + std::vector&& _bounded_sequence_enum_field) +{ + m_bounded_sequence_enum_field = std::move(_bounded_sequence_enum_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_enum_field + * @return Constant reference to member bounded_sequence_enum_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_enum_field() const +{ + return m_bounded_sequence_enum_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_enum_field + * @return Reference to member bounded_sequence_enum_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_enum_field() +{ + return m_bounded_sequence_enum_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_enum2_field + * @param _bounded_sequence_enum2_field New value to be copied in member bounded_sequence_enum2_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_enum2_field( + const std::vector& _bounded_sequence_enum2_field) +{ + m_bounded_sequence_enum2_field = _bounded_sequence_enum2_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_enum2_field + * @param _bounded_sequence_enum2_field New value to be moved in member bounded_sequence_enum2_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_enum2_field( + std::vector&& _bounded_sequence_enum2_field) +{ + m_bounded_sequence_enum2_field = std::move(_bounded_sequence_enum2_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_enum2_field + * @return Constant reference to member bounded_sequence_enum2_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_enum2_field() const +{ + return m_bounded_sequence_enum2_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_enum2_field + * @return Reference to member bounded_sequence_enum2_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_enum2_field() +{ + return m_bounded_sequence_enum2_field; +} + + +/*! + * @brief This function copies the value in member bounded_sequence_struct_field + * @param _bounded_sequence_struct_field New value to be copied in member bounded_sequence_struct_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_struct_field( + const std::vector& _bounded_sequence_struct_field) +{ + m_bounded_sequence_struct_field = _bounded_sequence_struct_field; +} + +/*! + * @brief This function moves the value in member bounded_sequence_struct_field + * @param _bounded_sequence_struct_field New value to be moved in member bounded_sequence_struct_field + */ +void eprosima::test::KeyedCompleteTestType::bounded_sequence_struct_field( + std::vector&& _bounded_sequence_struct_field) +{ + m_bounded_sequence_struct_field = std::move(_bounded_sequence_struct_field); +} + +/*! + * @brief This function returns a constant reference to member bounded_sequence_struct_field + * @return Constant reference to member bounded_sequence_struct_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_struct_field() const +{ + return m_bounded_sequence_struct_field; +} + +/*! + * @brief This function returns a reference to member bounded_sequence_struct_field + * @return Reference to member bounded_sequence_struct_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::bounded_sequence_struct_field() +{ + return m_bounded_sequence_struct_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_char_field + * @param _unbounded_sequence_char_field New value to be copied in member unbounded_sequence_char_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_char_field( + const std::vector& _unbounded_sequence_char_field) +{ + m_unbounded_sequence_char_field = _unbounded_sequence_char_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_char_field + * @param _unbounded_sequence_char_field New value to be moved in member unbounded_sequence_char_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_char_field( + std::vector&& _unbounded_sequence_char_field) +{ + m_unbounded_sequence_char_field = std::move(_unbounded_sequence_char_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_char_field + * @return Constant reference to member unbounded_sequence_char_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_char_field() const +{ + return m_unbounded_sequence_char_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_char_field + * @return Reference to member unbounded_sequence_char_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_char_field() +{ + return m_unbounded_sequence_char_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_uint8_field + * @param _unbounded_sequence_uint8_field New value to be copied in member unbounded_sequence_uint8_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint8_field( + const std::vector& _unbounded_sequence_uint8_field) +{ + m_unbounded_sequence_uint8_field = _unbounded_sequence_uint8_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_uint8_field + * @param _unbounded_sequence_uint8_field New value to be moved in member unbounded_sequence_uint8_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint8_field( + std::vector&& _unbounded_sequence_uint8_field) +{ + m_unbounded_sequence_uint8_field = std::move(_unbounded_sequence_uint8_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_uint8_field + * @return Constant reference to member unbounded_sequence_uint8_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint8_field() const +{ + return m_unbounded_sequence_uint8_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_uint8_field + * @return Reference to member unbounded_sequence_uint8_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint8_field() +{ + return m_unbounded_sequence_uint8_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_int16_field + * @param _unbounded_sequence_int16_field New value to be copied in member unbounded_sequence_int16_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_int16_field( + const std::vector& _unbounded_sequence_int16_field) +{ + m_unbounded_sequence_int16_field = _unbounded_sequence_int16_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_int16_field + * @param _unbounded_sequence_int16_field New value to be moved in member unbounded_sequence_int16_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_int16_field( + std::vector&& _unbounded_sequence_int16_field) +{ + m_unbounded_sequence_int16_field = std::move(_unbounded_sequence_int16_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_int16_field + * @return Constant reference to member unbounded_sequence_int16_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_int16_field() const +{ + return m_unbounded_sequence_int16_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_int16_field + * @return Reference to member unbounded_sequence_int16_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_int16_field() +{ + return m_unbounded_sequence_int16_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_uint16_field + * @param _unbounded_sequence_uint16_field New value to be copied in member unbounded_sequence_uint16_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint16_field( + const std::vector& _unbounded_sequence_uint16_field) +{ + m_unbounded_sequence_uint16_field = _unbounded_sequence_uint16_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_uint16_field + * @param _unbounded_sequence_uint16_field New value to be moved in member unbounded_sequence_uint16_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint16_field( + std::vector&& _unbounded_sequence_uint16_field) +{ + m_unbounded_sequence_uint16_field = std::move(_unbounded_sequence_uint16_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_uint16_field + * @return Constant reference to member unbounded_sequence_uint16_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint16_field() const +{ + return m_unbounded_sequence_uint16_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_uint16_field + * @return Reference to member unbounded_sequence_uint16_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint16_field() +{ + return m_unbounded_sequence_uint16_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_int32_field + * @param _unbounded_sequence_int32_field New value to be copied in member unbounded_sequence_int32_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_int32_field( + const std::vector& _unbounded_sequence_int32_field) +{ + m_unbounded_sequence_int32_field = _unbounded_sequence_int32_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_int32_field + * @param _unbounded_sequence_int32_field New value to be moved in member unbounded_sequence_int32_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_int32_field( + std::vector&& _unbounded_sequence_int32_field) +{ + m_unbounded_sequence_int32_field = std::move(_unbounded_sequence_int32_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_int32_field + * @return Constant reference to member unbounded_sequence_int32_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_int32_field() const +{ + return m_unbounded_sequence_int32_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_int32_field + * @return Reference to member unbounded_sequence_int32_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_int32_field() +{ + return m_unbounded_sequence_int32_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_uint32_field + * @param _unbounded_sequence_uint32_field New value to be copied in member unbounded_sequence_uint32_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint32_field( + const std::vector& _unbounded_sequence_uint32_field) +{ + m_unbounded_sequence_uint32_field = _unbounded_sequence_uint32_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_uint32_field + * @param _unbounded_sequence_uint32_field New value to be moved in member unbounded_sequence_uint32_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint32_field( + std::vector&& _unbounded_sequence_uint32_field) +{ + m_unbounded_sequence_uint32_field = std::move(_unbounded_sequence_uint32_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_uint32_field + * @return Constant reference to member unbounded_sequence_uint32_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint32_field() const +{ + return m_unbounded_sequence_uint32_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_uint32_field + * @return Reference to member unbounded_sequence_uint32_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint32_field() +{ + return m_unbounded_sequence_uint32_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_int64_field + * @param _unbounded_sequence_int64_field New value to be copied in member unbounded_sequence_int64_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_int64_field( + const std::vector& _unbounded_sequence_int64_field) +{ + m_unbounded_sequence_int64_field = _unbounded_sequence_int64_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_int64_field + * @param _unbounded_sequence_int64_field New value to be moved in member unbounded_sequence_int64_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_int64_field( + std::vector&& _unbounded_sequence_int64_field) +{ + m_unbounded_sequence_int64_field = std::move(_unbounded_sequence_int64_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_int64_field + * @return Constant reference to member unbounded_sequence_int64_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_int64_field() const +{ + return m_unbounded_sequence_int64_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_int64_field + * @return Reference to member unbounded_sequence_int64_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_int64_field() +{ + return m_unbounded_sequence_int64_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_uint64_field + * @param _unbounded_sequence_uint64_field New value to be copied in member unbounded_sequence_uint64_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint64_field( + const std::vector& _unbounded_sequence_uint64_field) +{ + m_unbounded_sequence_uint64_field = _unbounded_sequence_uint64_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_uint64_field + * @param _unbounded_sequence_uint64_field New value to be moved in member unbounded_sequence_uint64_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint64_field( + std::vector&& _unbounded_sequence_uint64_field) +{ + m_unbounded_sequence_uint64_field = std::move(_unbounded_sequence_uint64_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_uint64_field + * @return Constant reference to member unbounded_sequence_uint64_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint64_field() const +{ + return m_unbounded_sequence_uint64_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_uint64_field + * @return Reference to member unbounded_sequence_uint64_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint64_field() +{ + return m_unbounded_sequence_uint64_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_float_field + * @param _unbounded_sequence_float_field New value to be copied in member unbounded_sequence_float_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_float_field( + const std::vector& _unbounded_sequence_float_field) +{ + m_unbounded_sequence_float_field = _unbounded_sequence_float_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_float_field + * @param _unbounded_sequence_float_field New value to be moved in member unbounded_sequence_float_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_float_field( + std::vector&& _unbounded_sequence_float_field) +{ + m_unbounded_sequence_float_field = std::move(_unbounded_sequence_float_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_float_field + * @return Constant reference to member unbounded_sequence_float_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_float_field() const +{ + return m_unbounded_sequence_float_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_float_field + * @return Reference to member unbounded_sequence_float_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_float_field() +{ + return m_unbounded_sequence_float_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_double_field + * @param _unbounded_sequence_double_field New value to be copied in member unbounded_sequence_double_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_double_field( + const std::vector& _unbounded_sequence_double_field) +{ + m_unbounded_sequence_double_field = _unbounded_sequence_double_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_double_field + * @param _unbounded_sequence_double_field New value to be moved in member unbounded_sequence_double_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_double_field( + std::vector&& _unbounded_sequence_double_field) +{ + m_unbounded_sequence_double_field = std::move(_unbounded_sequence_double_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_double_field + * @return Constant reference to member unbounded_sequence_double_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_double_field() const +{ + return m_unbounded_sequence_double_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_double_field + * @return Reference to member unbounded_sequence_double_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_double_field() +{ + return m_unbounded_sequence_double_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_bool_field + * @param _unbounded_sequence_bool_field New value to be copied in member unbounded_sequence_bool_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_bool_field( + const std::vector& _unbounded_sequence_bool_field) +{ + m_unbounded_sequence_bool_field = _unbounded_sequence_bool_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_bool_field + * @param _unbounded_sequence_bool_field New value to be moved in member unbounded_sequence_bool_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_bool_field( + std::vector&& _unbounded_sequence_bool_field) +{ + m_unbounded_sequence_bool_field = std::move(_unbounded_sequence_bool_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_bool_field + * @return Constant reference to member unbounded_sequence_bool_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_bool_field() const +{ + return m_unbounded_sequence_bool_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_bool_field + * @return Reference to member unbounded_sequence_bool_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_bool_field() +{ + return m_unbounded_sequence_bool_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_enum_field + * @param _unbounded_sequence_enum_field New value to be copied in member unbounded_sequence_enum_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum_field( + const std::vector& _unbounded_sequence_enum_field) +{ + m_unbounded_sequence_enum_field = _unbounded_sequence_enum_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_enum_field + * @param _unbounded_sequence_enum_field New value to be moved in member unbounded_sequence_enum_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum_field( + std::vector&& _unbounded_sequence_enum_field) +{ + m_unbounded_sequence_enum_field = std::move(_unbounded_sequence_enum_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_enum_field + * @return Constant reference to member unbounded_sequence_enum_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum_field() const +{ + return m_unbounded_sequence_enum_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_enum_field + * @return Reference to member unbounded_sequence_enum_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum_field() +{ + return m_unbounded_sequence_enum_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_enum2_field + * @param _unbounded_sequence_enum2_field New value to be copied in member unbounded_sequence_enum2_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum2_field( + const std::vector& _unbounded_sequence_enum2_field) +{ + m_unbounded_sequence_enum2_field = _unbounded_sequence_enum2_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_enum2_field + * @param _unbounded_sequence_enum2_field New value to be moved in member unbounded_sequence_enum2_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum2_field( + std::vector&& _unbounded_sequence_enum2_field) +{ + m_unbounded_sequence_enum2_field = std::move(_unbounded_sequence_enum2_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_enum2_field + * @return Constant reference to member unbounded_sequence_enum2_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum2_field() const +{ + return m_unbounded_sequence_enum2_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_enum2_field + * @return Reference to member unbounded_sequence_enum2_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum2_field() +{ + return m_unbounded_sequence_enum2_field; +} + + +/*! + * @brief This function copies the value in member unbounded_sequence_struct_field + * @param _unbounded_sequence_struct_field New value to be copied in member unbounded_sequence_struct_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_struct_field( + const std::vector& _unbounded_sequence_struct_field) +{ + m_unbounded_sequence_struct_field = _unbounded_sequence_struct_field; +} + +/*! + * @brief This function moves the value in member unbounded_sequence_struct_field + * @param _unbounded_sequence_struct_field New value to be moved in member unbounded_sequence_struct_field + */ +void eprosima::test::KeyedCompleteTestType::unbounded_sequence_struct_field( + std::vector&& _unbounded_sequence_struct_field) +{ + m_unbounded_sequence_struct_field = std::move(_unbounded_sequence_struct_field); +} + +/*! + * @brief This function returns a constant reference to member unbounded_sequence_struct_field + * @return Constant reference to member unbounded_sequence_struct_field + */ +const std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_struct_field() const +{ + return m_unbounded_sequence_struct_field; +} + +/*! + * @brief This function returns a reference to member unbounded_sequence_struct_field + * @return Reference to member unbounded_sequence_struct_field + */ +std::vector& eprosima::test::KeyedCompleteTestType::unbounded_sequence_struct_field() +{ + return m_unbounded_sequence_struct_field; +} + + + + +// Include auxiliary functions like for serializing/deserializing. +#include "test_modulesCdrAux.ipp" diff --git a/fastdds_python/test/types/test_modules.h b/fastdds_python/test/types/test_modules.h new file mode 100644 index 00000000..f76ddcaf --- /dev/null +++ b/fastdds_python/test/types/test_modules.h @@ -0,0 +1,3623 @@ +// 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 test_modules.h + * This header file contains the declaration of the described types in the IDL file. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULES_H_ +#define _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULES_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(TEST_MODULES_SOURCE) +#define TEST_MODULES_DllAPI __declspec( dllexport ) +#else +#define TEST_MODULES_DllAPI __declspec( dllimport ) +#endif // TEST_MODULES_SOURCE +#else +#define TEST_MODULES_DllAPI +#endif // EPROSIMA_USER_DLL_EXPORT +#else +#define TEST_MODULES_DllAPI +#endif // _WIN32 + +namespace eprosima { +namespace fastcdr { +class Cdr; +class CdrSizeCalculator; +} // namespace fastcdr +} // namespace eprosima + + + +namespace eprosima { + namespace test { + /*! + * @brief This class represents the enumeration Color defined by the user in the IDL file. + * @ingroup test_modules + */ + enum Color : uint32_t + { + RED, + GREEN, + BLUE, + YELLOW, + MAGENTA + }; + /*! + * @brief This class represents the enumeration Material defined by the user in the IDL file. + * @ingroup test_modules + */ + enum Material : uint32_t + { + WOOD, + PLASTIC, + METAL, + CONCRETE, + STONE + }; + /*! + * @brief This class represents the structure StructType defined by the user in the IDL file. + * @ingroup test_modules + */ + class StructType + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport StructType(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~StructType(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::test::StructType that will be copied. + */ + eProsima_user_DllExport StructType( + const StructType& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::test::StructType that will be copied. + */ + eProsima_user_DllExport StructType( + StructType&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::test::StructType that will be copied. + */ + eProsima_user_DllExport StructType& operator =( + const StructType& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::test::StructType that will be copied. + */ + eProsima_user_DllExport StructType& operator =( + StructType&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::test::StructType object to compare. + */ + eProsima_user_DllExport bool operator ==( + const StructType& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::test::StructType object to compare. + */ + eProsima_user_DllExport bool operator !=( + const StructType& x) const; + + /*! + * @brief This function sets a value in member char_field + * @param _char_field New value for member char_field + */ + eProsima_user_DllExport void char_field( + char _char_field); + + /*! + * @brief This function returns the value of member char_field + * @return Value of member char_field + */ + eProsima_user_DllExport char char_field() const; + + /*! + * @brief This function returns a reference to member char_field + * @return Reference to member char_field + */ + eProsima_user_DllExport char& char_field(); + + + /*! + * @brief This function sets a value in member uint8_field + * @param _uint8_field New value for member uint8_field + */ + eProsima_user_DllExport void uint8_field( + uint8_t _uint8_field); + + /*! + * @brief This function returns the value of member uint8_field + * @return Value of member uint8_field + */ + eProsima_user_DllExport uint8_t uint8_field() const; + + /*! + * @brief This function returns a reference to member uint8_field + * @return Reference to member uint8_field + */ + eProsima_user_DllExport uint8_t& uint8_field(); + + + /*! + * @brief This function sets a value in member int16_field + * @param _int16_field New value for member int16_field + */ + eProsima_user_DllExport void int16_field( + int16_t _int16_field); + + /*! + * @brief This function returns the value of member int16_field + * @return Value of member int16_field + */ + eProsima_user_DllExport int16_t int16_field() const; + + /*! + * @brief This function returns a reference to member int16_field + * @return Reference to member int16_field + */ + eProsima_user_DllExport int16_t& int16_field(); + + + /*! + * @brief This function sets a value in member uint16_field + * @param _uint16_field New value for member uint16_field + */ + eProsima_user_DllExport void uint16_field( + uint16_t _uint16_field); + + /*! + * @brief This function returns the value of member uint16_field + * @return Value of member uint16_field + */ + eProsima_user_DllExport uint16_t uint16_field() const; + + /*! + * @brief This function returns a reference to member uint16_field + * @return Reference to member uint16_field + */ + eProsima_user_DllExport uint16_t& uint16_field(); + + + /*! + * @brief This function sets a value in member int32_field + * @param _int32_field New value for member int32_field + */ + eProsima_user_DllExport void int32_field( + int32_t _int32_field); + + /*! + * @brief This function returns the value of member int32_field + * @return Value of member int32_field + */ + eProsima_user_DllExport int32_t int32_field() const; + + /*! + * @brief This function returns a reference to member int32_field + * @return Reference to member int32_field + */ + eProsima_user_DllExport int32_t& int32_field(); + + + /*! + * @brief This function sets a value in member uint32_field + * @param _uint32_field New value for member uint32_field + */ + eProsima_user_DllExport void uint32_field( + uint32_t _uint32_field); + + /*! + * @brief This function returns the value of member uint32_field + * @return Value of member uint32_field + */ + eProsima_user_DllExport uint32_t uint32_field() const; + + /*! + * @brief This function returns a reference to member uint32_field + * @return Reference to member uint32_field + */ + eProsima_user_DllExport uint32_t& uint32_field(); + + + /*! + * @brief This function sets a value in member int64_field + * @param _int64_field New value for member int64_field + */ + eProsima_user_DllExport void int64_field( + int64_t _int64_field); + + /*! + * @brief This function returns the value of member int64_field + * @return Value of member int64_field + */ + eProsima_user_DllExport int64_t int64_field() const; + + /*! + * @brief This function returns a reference to member int64_field + * @return Reference to member int64_field + */ + eProsima_user_DllExport int64_t& int64_field(); + + + /*! + * @brief This function sets a value in member uint64_field + * @param _uint64_field New value for member uint64_field + */ + eProsima_user_DllExport void uint64_field( + uint64_t _uint64_field); + + /*! + * @brief This function returns the value of member uint64_field + * @return Value of member uint64_field + */ + eProsima_user_DllExport uint64_t uint64_field() const; + + /*! + * @brief This function returns a reference to member uint64_field + * @return Reference to member uint64_field + */ + eProsima_user_DllExport uint64_t& uint64_field(); + + + /*! + * @brief This function sets a value in member float_field + * @param _float_field New value for member float_field + */ + eProsima_user_DllExport void float_field( + float _float_field); + + /*! + * @brief This function returns the value of member float_field + * @return Value of member float_field + */ + eProsima_user_DllExport float float_field() const; + + /*! + * @brief This function returns a reference to member float_field + * @return Reference to member float_field + */ + eProsima_user_DllExport float& float_field(); + + + /*! + * @brief This function sets a value in member double_field + * @param _double_field New value for member double_field + */ + eProsima_user_DllExport void double_field( + double _double_field); + + /*! + * @brief This function returns the value of member double_field + * @return Value of member double_field + */ + eProsima_user_DllExport double double_field() const; + + /*! + * @brief This function returns a reference to member double_field + * @return Reference to member double_field + */ + eProsima_user_DllExport double& double_field(); + + + /*! + * @brief This function sets a value in member bool_field + * @param _bool_field New value for member bool_field + */ + eProsima_user_DllExport void bool_field( + bool _bool_field); + + /*! + * @brief This function returns the value of member bool_field + * @return Value of member bool_field + */ + eProsima_user_DllExport bool bool_field() const; + + /*! + * @brief This function returns a reference to member bool_field + * @return Reference to member bool_field + */ + eProsima_user_DllExport bool& bool_field(); + + + /*! + * @brief This function copies the value in member string_field + * @param _string_field New value to be copied in member string_field + */ + eProsima_user_DllExport void string_field( + const std::string& _string_field); + + /*! + * @brief This function moves the value in member string_field + * @param _string_field New value to be moved in member string_field + */ + eProsima_user_DllExport void string_field( + std::string&& _string_field); + + /*! + * @brief This function returns a constant reference to member string_field + * @return Constant reference to member string_field + */ + eProsima_user_DllExport const std::string& string_field() const; + + /*! + * @brief This function returns a reference to member string_field + * @return Reference to member string_field + */ + eProsima_user_DllExport std::string& string_field(); + + + /*! + * @brief This function sets a value in member enum_field + * @param _enum_field New value for member enum_field + */ + eProsima_user_DllExport void enum_field( + eprosima::test::Color _enum_field); + + /*! + * @brief This function returns the value of member enum_field + * @return Value of member enum_field + */ + eProsima_user_DllExport eprosima::test::Color enum_field() const; + + /*! + * @brief This function returns a reference to member enum_field + * @return Reference to member enum_field + */ + eProsima_user_DllExport eprosima::test::Color& enum_field(); + + + /*! + * @brief This function sets a value in member enum2_field + * @param _enum2_field New value for member enum2_field + */ + eProsima_user_DllExport void enum2_field( + eprosima::test::Material _enum2_field); + + /*! + * @brief This function returns the value of member enum2_field + * @return Value of member enum2_field + */ + eProsima_user_DllExport eprosima::test::Material enum2_field() const; + + /*! + * @brief This function returns a reference to member enum2_field + * @return Reference to member enum2_field + */ + eProsima_user_DllExport eprosima::test::Material& enum2_field(); + + private: + + char m_char_field{0}; + uint8_t m_uint8_field{0}; + int16_t m_int16_field{0}; + uint16_t m_uint16_field{0}; + int32_t m_int32_field{0}; + uint32_t m_uint32_field{0}; + int64_t m_int64_field{0}; + uint64_t m_uint64_field{0}; + float m_float_field{0.0}; + double m_double_field{0.0}; + bool m_bool_field{false}; + std::string m_string_field; + eprosima::test::Color m_enum_field{eprosima::test::RED}; + eprosima::test::Material m_enum2_field{eprosima::test::WOOD}; + + }; + const uint32_t max_array_size = 3; + const uint32_t max_seq_size = 5; + /*! + * @brief This class represents the structure CompleteTestType defined by the user in the IDL file. + * @ingroup test_modules + */ + class CompleteTestType + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport CompleteTestType(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~CompleteTestType(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::test::CompleteTestType that will be copied. + */ + eProsima_user_DllExport CompleteTestType( + const CompleteTestType& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::test::CompleteTestType that will be copied. + */ + eProsima_user_DllExport CompleteTestType( + CompleteTestType&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::test::CompleteTestType that will be copied. + */ + eProsima_user_DllExport CompleteTestType& operator =( + const CompleteTestType& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::test::CompleteTestType that will be copied. + */ + eProsima_user_DllExport CompleteTestType& operator =( + CompleteTestType&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::test::CompleteTestType object to compare. + */ + eProsima_user_DllExport bool operator ==( + const CompleteTestType& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::test::CompleteTestType object to compare. + */ + eProsima_user_DllExport bool operator !=( + const CompleteTestType& x) const; + + /*! + * @brief This function sets a value in member char_field + * @param _char_field New value for member char_field + */ + eProsima_user_DllExport void char_field( + char _char_field); + + /*! + * @brief This function returns the value of member char_field + * @return Value of member char_field + */ + eProsima_user_DllExport char char_field() const; + + /*! + * @brief This function returns a reference to member char_field + * @return Reference to member char_field + */ + eProsima_user_DllExport char& char_field(); + + + /*! + * @brief This function sets a value in member uint8_field + * @param _uint8_field New value for member uint8_field + */ + eProsima_user_DllExport void uint8_field( + uint8_t _uint8_field); + + /*! + * @brief This function returns the value of member uint8_field + * @return Value of member uint8_field + */ + eProsima_user_DllExport uint8_t uint8_field() const; + + /*! + * @brief This function returns a reference to member uint8_field + * @return Reference to member uint8_field + */ + eProsima_user_DllExport uint8_t& uint8_field(); + + + /*! + * @brief This function sets a value in member int16_field + * @param _int16_field New value for member int16_field + */ + eProsima_user_DllExport void int16_field( + int16_t _int16_field); + + /*! + * @brief This function returns the value of member int16_field + * @return Value of member int16_field + */ + eProsima_user_DllExport int16_t int16_field() const; + + /*! + * @brief This function returns a reference to member int16_field + * @return Reference to member int16_field + */ + eProsima_user_DllExport int16_t& int16_field(); + + + /*! + * @brief This function sets a value in member uint16_field + * @param _uint16_field New value for member uint16_field + */ + eProsima_user_DllExport void uint16_field( + uint16_t _uint16_field); + + /*! + * @brief This function returns the value of member uint16_field + * @return Value of member uint16_field + */ + eProsima_user_DllExport uint16_t uint16_field() const; + + /*! + * @brief This function returns a reference to member uint16_field + * @return Reference to member uint16_field + */ + eProsima_user_DllExport uint16_t& uint16_field(); + + + /*! + * @brief This function sets a value in member int32_field + * @param _int32_field New value for member int32_field + */ + eProsima_user_DllExport void int32_field( + int32_t _int32_field); + + /*! + * @brief This function returns the value of member int32_field + * @return Value of member int32_field + */ + eProsima_user_DllExport int32_t int32_field() const; + + /*! + * @brief This function returns a reference to member int32_field + * @return Reference to member int32_field + */ + eProsima_user_DllExport int32_t& int32_field(); + + + /*! + * @brief This function sets a value in member uint32_field + * @param _uint32_field New value for member uint32_field + */ + eProsima_user_DllExport void uint32_field( + uint32_t _uint32_field); + + /*! + * @brief This function returns the value of member uint32_field + * @return Value of member uint32_field + */ + eProsima_user_DllExport uint32_t uint32_field() const; + + /*! + * @brief This function returns a reference to member uint32_field + * @return Reference to member uint32_field + */ + eProsima_user_DllExport uint32_t& uint32_field(); + + + /*! + * @brief This function sets a value in member int64_field + * @param _int64_field New value for member int64_field + */ + eProsima_user_DllExport void int64_field( + int64_t _int64_field); + + /*! + * @brief This function returns the value of member int64_field + * @return Value of member int64_field + */ + eProsima_user_DllExport int64_t int64_field() const; + + /*! + * @brief This function returns a reference to member int64_field + * @return Reference to member int64_field + */ + eProsima_user_DllExport int64_t& int64_field(); + + + /*! + * @brief This function sets a value in member uint64_field + * @param _uint64_field New value for member uint64_field + */ + eProsima_user_DllExport void uint64_field( + uint64_t _uint64_field); + + /*! + * @brief This function returns the value of member uint64_field + * @return Value of member uint64_field + */ + eProsima_user_DllExport uint64_t uint64_field() const; + + /*! + * @brief This function returns a reference to member uint64_field + * @return Reference to member uint64_field + */ + eProsima_user_DllExport uint64_t& uint64_field(); + + + /*! + * @brief This function sets a value in member float_field + * @param _float_field New value for member float_field + */ + eProsima_user_DllExport void float_field( + float _float_field); + + /*! + * @brief This function returns the value of member float_field + * @return Value of member float_field + */ + eProsima_user_DllExport float float_field() const; + + /*! + * @brief This function returns a reference to member float_field + * @return Reference to member float_field + */ + eProsima_user_DllExport float& float_field(); + + + /*! + * @brief This function sets a value in member double_field + * @param _double_field New value for member double_field + */ + eProsima_user_DllExport void double_field( + double _double_field); + + /*! + * @brief This function returns the value of member double_field + * @return Value of member double_field + */ + eProsima_user_DllExport double double_field() const; + + /*! + * @brief This function returns a reference to member double_field + * @return Reference to member double_field + */ + eProsima_user_DllExport double& double_field(); + + + /*! + * @brief This function sets a value in member bool_field + * @param _bool_field New value for member bool_field + */ + eProsima_user_DllExport void bool_field( + bool _bool_field); + + /*! + * @brief This function returns the value of member bool_field + * @return Value of member bool_field + */ + eProsima_user_DllExport bool bool_field() const; + + /*! + * @brief This function returns a reference to member bool_field + * @return Reference to member bool_field + */ + eProsima_user_DllExport bool& bool_field(); + + + /*! + * @brief This function copies the value in member string_field + * @param _string_field New value to be copied in member string_field + */ + eProsima_user_DllExport void string_field( + const std::string& _string_field); + + /*! + * @brief This function moves the value in member string_field + * @param _string_field New value to be moved in member string_field + */ + eProsima_user_DllExport void string_field( + std::string&& _string_field); + + /*! + * @brief This function returns a constant reference to member string_field + * @return Constant reference to member string_field + */ + eProsima_user_DllExport const std::string& string_field() const; + + /*! + * @brief This function returns a reference to member string_field + * @return Reference to member string_field + */ + eProsima_user_DllExport std::string& string_field(); + + + /*! + * @brief This function sets a value in member enum_field + * @param _enum_field New value for member enum_field + */ + eProsima_user_DllExport void enum_field( + eprosima::test::Color _enum_field); + + /*! + * @brief This function returns the value of member enum_field + * @return Value of member enum_field + */ + eProsima_user_DllExport eprosima::test::Color enum_field() const; + + /*! + * @brief This function returns a reference to member enum_field + * @return Reference to member enum_field + */ + eProsima_user_DllExport eprosima::test::Color& enum_field(); + + + /*! + * @brief This function sets a value in member enum2_field + * @param _enum2_field New value for member enum2_field + */ + eProsima_user_DllExport void enum2_field( + eprosima::test::Material _enum2_field); + + /*! + * @brief This function returns the value of member enum2_field + * @return Value of member enum2_field + */ + eProsima_user_DllExport eprosima::test::Material enum2_field() const; + + /*! + * @brief This function returns a reference to member enum2_field + * @return Reference to member enum2_field + */ + eProsima_user_DllExport eprosima::test::Material& enum2_field(); + + + /*! + * @brief This function copies the value in member struct_field + * @param _struct_field New value to be copied in member struct_field + */ + eProsima_user_DllExport void struct_field( + const eprosima::test::StructType& _struct_field); + + /*! + * @brief This function moves the value in member struct_field + * @param _struct_field New value to be moved in member struct_field + */ + eProsima_user_DllExport void struct_field( + eprosima::test::StructType&& _struct_field); + + /*! + * @brief This function returns a constant reference to member struct_field + * @return Constant reference to member struct_field + */ + eProsima_user_DllExport const eprosima::test::StructType& struct_field() const; + + /*! + * @brief This function returns a reference to member struct_field + * @return Reference to member struct_field + */ + eProsima_user_DllExport eprosima::test::StructType& struct_field(); + + + /*! + * @brief This function copies the value in member array_char_field + * @param _array_char_field New value to be copied in member array_char_field + */ + eProsima_user_DllExport void array_char_field( + const std::array& _array_char_field); + + /*! + * @brief This function moves the value in member array_char_field + * @param _array_char_field New value to be moved in member array_char_field + */ + eProsima_user_DllExport void array_char_field( + std::array&& _array_char_field); + + /*! + * @brief This function returns a constant reference to member array_char_field + * @return Constant reference to member array_char_field + */ + eProsima_user_DllExport const std::array& array_char_field() const; + + /*! + * @brief This function returns a reference to member array_char_field + * @return Reference to member array_char_field + */ + eProsima_user_DllExport std::array& array_char_field(); + + + /*! + * @brief This function copies the value in member array_uint8_field + * @param _array_uint8_field New value to be copied in member array_uint8_field + */ + eProsima_user_DllExport void array_uint8_field( + const std::array& _array_uint8_field); + + /*! + * @brief This function moves the value in member array_uint8_field + * @param _array_uint8_field New value to be moved in member array_uint8_field + */ + eProsima_user_DllExport void array_uint8_field( + std::array&& _array_uint8_field); + + /*! + * @brief This function returns a constant reference to member array_uint8_field + * @return Constant reference to member array_uint8_field + */ + eProsima_user_DllExport const std::array& array_uint8_field() const; + + /*! + * @brief This function returns a reference to member array_uint8_field + * @return Reference to member array_uint8_field + */ + eProsima_user_DllExport std::array& array_uint8_field(); + + + /*! + * @brief This function copies the value in member array_int16_field + * @param _array_int16_field New value to be copied in member array_int16_field + */ + eProsima_user_DllExport void array_int16_field( + const std::array& _array_int16_field); + + /*! + * @brief This function moves the value in member array_int16_field + * @param _array_int16_field New value to be moved in member array_int16_field + */ + eProsima_user_DllExport void array_int16_field( + std::array&& _array_int16_field); + + /*! + * @brief This function returns a constant reference to member array_int16_field + * @return Constant reference to member array_int16_field + */ + eProsima_user_DllExport const std::array& array_int16_field() const; + + /*! + * @brief This function returns a reference to member array_int16_field + * @return Reference to member array_int16_field + */ + eProsima_user_DllExport std::array& array_int16_field(); + + + /*! + * @brief This function copies the value in member array_uint16_field + * @param _array_uint16_field New value to be copied in member array_uint16_field + */ + eProsima_user_DllExport void array_uint16_field( + const std::array& _array_uint16_field); + + /*! + * @brief This function moves the value in member array_uint16_field + * @param _array_uint16_field New value to be moved in member array_uint16_field + */ + eProsima_user_DllExport void array_uint16_field( + std::array&& _array_uint16_field); + + /*! + * @brief This function returns a constant reference to member array_uint16_field + * @return Constant reference to member array_uint16_field + */ + eProsima_user_DllExport const std::array& array_uint16_field() const; + + /*! + * @brief This function returns a reference to member array_uint16_field + * @return Reference to member array_uint16_field + */ + eProsima_user_DllExport std::array& array_uint16_field(); + + + /*! + * @brief This function copies the value in member array_int32_field + * @param _array_int32_field New value to be copied in member array_int32_field + */ + eProsima_user_DllExport void array_int32_field( + const std::array& _array_int32_field); + + /*! + * @brief This function moves the value in member array_int32_field + * @param _array_int32_field New value to be moved in member array_int32_field + */ + eProsima_user_DllExport void array_int32_field( + std::array&& _array_int32_field); + + /*! + * @brief This function returns a constant reference to member array_int32_field + * @return Constant reference to member array_int32_field + */ + eProsima_user_DllExport const std::array& array_int32_field() const; + + /*! + * @brief This function returns a reference to member array_int32_field + * @return Reference to member array_int32_field + */ + eProsima_user_DllExport std::array& array_int32_field(); + + + /*! + * @brief This function copies the value in member array_uint32_field + * @param _array_uint32_field New value to be copied in member array_uint32_field + */ + eProsima_user_DllExport void array_uint32_field( + const std::array& _array_uint32_field); + + /*! + * @brief This function moves the value in member array_uint32_field + * @param _array_uint32_field New value to be moved in member array_uint32_field + */ + eProsima_user_DllExport void array_uint32_field( + std::array&& _array_uint32_field); + + /*! + * @brief This function returns a constant reference to member array_uint32_field + * @return Constant reference to member array_uint32_field + */ + eProsima_user_DllExport const std::array& array_uint32_field() const; + + /*! + * @brief This function returns a reference to member array_uint32_field + * @return Reference to member array_uint32_field + */ + eProsima_user_DllExport std::array& array_uint32_field(); + + + /*! + * @brief This function copies the value in member array_int64_field + * @param _array_int64_field New value to be copied in member array_int64_field + */ + eProsima_user_DllExport void array_int64_field( + const std::array& _array_int64_field); + + /*! + * @brief This function moves the value in member array_int64_field + * @param _array_int64_field New value to be moved in member array_int64_field + */ + eProsima_user_DllExport void array_int64_field( + std::array&& _array_int64_field); + + /*! + * @brief This function returns a constant reference to member array_int64_field + * @return Constant reference to member array_int64_field + */ + eProsima_user_DllExport const std::array& array_int64_field() const; + + /*! + * @brief This function returns a reference to member array_int64_field + * @return Reference to member array_int64_field + */ + eProsima_user_DllExport std::array& array_int64_field(); + + + /*! + * @brief This function copies the value in member array_uint64_field + * @param _array_uint64_field New value to be copied in member array_uint64_field + */ + eProsima_user_DllExport void array_uint64_field( + const std::array& _array_uint64_field); + + /*! + * @brief This function moves the value in member array_uint64_field + * @param _array_uint64_field New value to be moved in member array_uint64_field + */ + eProsima_user_DllExport void array_uint64_field( + std::array&& _array_uint64_field); + + /*! + * @brief This function returns a constant reference to member array_uint64_field + * @return Constant reference to member array_uint64_field + */ + eProsima_user_DllExport const std::array& array_uint64_field() const; + + /*! + * @brief This function returns a reference to member array_uint64_field + * @return Reference to member array_uint64_field + */ + eProsima_user_DllExport std::array& array_uint64_field(); + + + /*! + * @brief This function copies the value in member array_float_field + * @param _array_float_field New value to be copied in member array_float_field + */ + eProsima_user_DllExport void array_float_field( + const std::array& _array_float_field); + + /*! + * @brief This function moves the value in member array_float_field + * @param _array_float_field New value to be moved in member array_float_field + */ + eProsima_user_DllExport void array_float_field( + std::array&& _array_float_field); + + /*! + * @brief This function returns a constant reference to member array_float_field + * @return Constant reference to member array_float_field + */ + eProsima_user_DllExport const std::array& array_float_field() const; + + /*! + * @brief This function returns a reference to member array_float_field + * @return Reference to member array_float_field + */ + eProsima_user_DllExport std::array& array_float_field(); + + + /*! + * @brief This function copies the value in member array_double_field + * @param _array_double_field New value to be copied in member array_double_field + */ + eProsima_user_DllExport void array_double_field( + const std::array& _array_double_field); + + /*! + * @brief This function moves the value in member array_double_field + * @param _array_double_field New value to be moved in member array_double_field + */ + eProsima_user_DllExport void array_double_field( + std::array&& _array_double_field); + + /*! + * @brief This function returns a constant reference to member array_double_field + * @return Constant reference to member array_double_field + */ + eProsima_user_DllExport const std::array& array_double_field() const; + + /*! + * @brief This function returns a reference to member array_double_field + * @return Reference to member array_double_field + */ + eProsima_user_DllExport std::array& array_double_field(); + + + /*! + * @brief This function copies the value in member array_bool_field + * @param _array_bool_field New value to be copied in member array_bool_field + */ + eProsima_user_DllExport void array_bool_field( + const std::array& _array_bool_field); + + /*! + * @brief This function moves the value in member array_bool_field + * @param _array_bool_field New value to be moved in member array_bool_field + */ + eProsima_user_DllExport void array_bool_field( + std::array&& _array_bool_field); + + /*! + * @brief This function returns a constant reference to member array_bool_field + * @return Constant reference to member array_bool_field + */ + eProsima_user_DllExport const std::array& array_bool_field() const; + + /*! + * @brief This function returns a reference to member array_bool_field + * @return Reference to member array_bool_field + */ + eProsima_user_DllExport std::array& array_bool_field(); + + + /*! + * @brief This function copies the value in member array_enum_field + * @param _array_enum_field New value to be copied in member array_enum_field + */ + eProsima_user_DllExport void array_enum_field( + const std::array& _array_enum_field); + + /*! + * @brief This function moves the value in member array_enum_field + * @param _array_enum_field New value to be moved in member array_enum_field + */ + eProsima_user_DllExport void array_enum_field( + std::array&& _array_enum_field); + + /*! + * @brief This function returns a constant reference to member array_enum_field + * @return Constant reference to member array_enum_field + */ + eProsima_user_DllExport const std::array& array_enum_field() const; + + /*! + * @brief This function returns a reference to member array_enum_field + * @return Reference to member array_enum_field + */ + eProsima_user_DllExport std::array& array_enum_field(); + + + /*! + * @brief This function copies the value in member array_enum2_field + * @param _array_enum2_field New value to be copied in member array_enum2_field + */ + eProsima_user_DllExport void array_enum2_field( + const std::array& _array_enum2_field); + + /*! + * @brief This function moves the value in member array_enum2_field + * @param _array_enum2_field New value to be moved in member array_enum2_field + */ + eProsima_user_DllExport void array_enum2_field( + std::array&& _array_enum2_field); + + /*! + * @brief This function returns a constant reference to member array_enum2_field + * @return Constant reference to member array_enum2_field + */ + eProsima_user_DllExport const std::array& array_enum2_field() const; + + /*! + * @brief This function returns a reference to member array_enum2_field + * @return Reference to member array_enum2_field + */ + eProsima_user_DllExport std::array& array_enum2_field(); + + + /*! + * @brief This function copies the value in member array_struct_field + * @param _array_struct_field New value to be copied in member array_struct_field + */ + eProsima_user_DllExport void array_struct_field( + const std::array& _array_struct_field); + + /*! + * @brief This function moves the value in member array_struct_field + * @param _array_struct_field New value to be moved in member array_struct_field + */ + eProsima_user_DllExport void array_struct_field( + std::array&& _array_struct_field); + + /*! + * @brief This function returns a constant reference to member array_struct_field + * @return Constant reference to member array_struct_field + */ + eProsima_user_DllExport const std::array& array_struct_field() const; + + /*! + * @brief This function returns a reference to member array_struct_field + * @return Reference to member array_struct_field + */ + eProsima_user_DllExport std::array& array_struct_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_char_field + * @param _bounded_sequence_char_field New value to be copied in member bounded_sequence_char_field + */ + eProsima_user_DllExport void bounded_sequence_char_field( + const std::vector& _bounded_sequence_char_field); + + /*! + * @brief This function moves the value in member bounded_sequence_char_field + * @param _bounded_sequence_char_field New value to be moved in member bounded_sequence_char_field + */ + eProsima_user_DllExport void bounded_sequence_char_field( + std::vector&& _bounded_sequence_char_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_char_field + * @return Constant reference to member bounded_sequence_char_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_char_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_char_field + * @return Reference to member bounded_sequence_char_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_char_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_uint8_field + * @param _bounded_sequence_uint8_field New value to be copied in member bounded_sequence_uint8_field + */ + eProsima_user_DllExport void bounded_sequence_uint8_field( + const std::vector& _bounded_sequence_uint8_field); + + /*! + * @brief This function moves the value in member bounded_sequence_uint8_field + * @param _bounded_sequence_uint8_field New value to be moved in member bounded_sequence_uint8_field + */ + eProsima_user_DllExport void bounded_sequence_uint8_field( + std::vector&& _bounded_sequence_uint8_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_uint8_field + * @return Constant reference to member bounded_sequence_uint8_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_uint8_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_uint8_field + * @return Reference to member bounded_sequence_uint8_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_uint8_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_int16_field + * @param _bounded_sequence_int16_field New value to be copied in member bounded_sequence_int16_field + */ + eProsima_user_DllExport void bounded_sequence_int16_field( + const std::vector& _bounded_sequence_int16_field); + + /*! + * @brief This function moves the value in member bounded_sequence_int16_field + * @param _bounded_sequence_int16_field New value to be moved in member bounded_sequence_int16_field + */ + eProsima_user_DllExport void bounded_sequence_int16_field( + std::vector&& _bounded_sequence_int16_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_int16_field + * @return Constant reference to member bounded_sequence_int16_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_int16_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_int16_field + * @return Reference to member bounded_sequence_int16_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_int16_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_uint16_field + * @param _bounded_sequence_uint16_field New value to be copied in member bounded_sequence_uint16_field + */ + eProsima_user_DllExport void bounded_sequence_uint16_field( + const std::vector& _bounded_sequence_uint16_field); + + /*! + * @brief This function moves the value in member bounded_sequence_uint16_field + * @param _bounded_sequence_uint16_field New value to be moved in member bounded_sequence_uint16_field + */ + eProsima_user_DllExport void bounded_sequence_uint16_field( + std::vector&& _bounded_sequence_uint16_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_uint16_field + * @return Constant reference to member bounded_sequence_uint16_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_uint16_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_uint16_field + * @return Reference to member bounded_sequence_uint16_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_uint16_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_int32_field + * @param _bounded_sequence_int32_field New value to be copied in member bounded_sequence_int32_field + */ + eProsima_user_DllExport void bounded_sequence_int32_field( + const std::vector& _bounded_sequence_int32_field); + + /*! + * @brief This function moves the value in member bounded_sequence_int32_field + * @param _bounded_sequence_int32_field New value to be moved in member bounded_sequence_int32_field + */ + eProsima_user_DllExport void bounded_sequence_int32_field( + std::vector&& _bounded_sequence_int32_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_int32_field + * @return Constant reference to member bounded_sequence_int32_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_int32_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_int32_field + * @return Reference to member bounded_sequence_int32_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_int32_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_uint32_field + * @param _bounded_sequence_uint32_field New value to be copied in member bounded_sequence_uint32_field + */ + eProsima_user_DllExport void bounded_sequence_uint32_field( + const std::vector& _bounded_sequence_uint32_field); + + /*! + * @brief This function moves the value in member bounded_sequence_uint32_field + * @param _bounded_sequence_uint32_field New value to be moved in member bounded_sequence_uint32_field + */ + eProsima_user_DllExport void bounded_sequence_uint32_field( + std::vector&& _bounded_sequence_uint32_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_uint32_field + * @return Constant reference to member bounded_sequence_uint32_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_uint32_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_uint32_field + * @return Reference to member bounded_sequence_uint32_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_uint32_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_int64_field + * @param _bounded_sequence_int64_field New value to be copied in member bounded_sequence_int64_field + */ + eProsima_user_DllExport void bounded_sequence_int64_field( + const std::vector& _bounded_sequence_int64_field); + + /*! + * @brief This function moves the value in member bounded_sequence_int64_field + * @param _bounded_sequence_int64_field New value to be moved in member bounded_sequence_int64_field + */ + eProsima_user_DllExport void bounded_sequence_int64_field( + std::vector&& _bounded_sequence_int64_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_int64_field + * @return Constant reference to member bounded_sequence_int64_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_int64_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_int64_field + * @return Reference to member bounded_sequence_int64_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_int64_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_uint64_field + * @param _bounded_sequence_uint64_field New value to be copied in member bounded_sequence_uint64_field + */ + eProsima_user_DllExport void bounded_sequence_uint64_field( + const std::vector& _bounded_sequence_uint64_field); + + /*! + * @brief This function moves the value in member bounded_sequence_uint64_field + * @param _bounded_sequence_uint64_field New value to be moved in member bounded_sequence_uint64_field + */ + eProsima_user_DllExport void bounded_sequence_uint64_field( + std::vector&& _bounded_sequence_uint64_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_uint64_field + * @return Constant reference to member bounded_sequence_uint64_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_uint64_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_uint64_field + * @return Reference to member bounded_sequence_uint64_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_uint64_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_float_field + * @param _bounded_sequence_float_field New value to be copied in member bounded_sequence_float_field + */ + eProsima_user_DllExport void bounded_sequence_float_field( + const std::vector& _bounded_sequence_float_field); + + /*! + * @brief This function moves the value in member bounded_sequence_float_field + * @param _bounded_sequence_float_field New value to be moved in member bounded_sequence_float_field + */ + eProsima_user_DllExport void bounded_sequence_float_field( + std::vector&& _bounded_sequence_float_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_float_field + * @return Constant reference to member bounded_sequence_float_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_float_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_float_field + * @return Reference to member bounded_sequence_float_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_float_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_double_field + * @param _bounded_sequence_double_field New value to be copied in member bounded_sequence_double_field + */ + eProsima_user_DllExport void bounded_sequence_double_field( + const std::vector& _bounded_sequence_double_field); + + /*! + * @brief This function moves the value in member bounded_sequence_double_field + * @param _bounded_sequence_double_field New value to be moved in member bounded_sequence_double_field + */ + eProsima_user_DllExport void bounded_sequence_double_field( + std::vector&& _bounded_sequence_double_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_double_field + * @return Constant reference to member bounded_sequence_double_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_double_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_double_field + * @return Reference to member bounded_sequence_double_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_double_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_bool_field + * @param _bounded_sequence_bool_field New value to be copied in member bounded_sequence_bool_field + */ + eProsima_user_DllExport void bounded_sequence_bool_field( + const std::vector& _bounded_sequence_bool_field); + + /*! + * @brief This function moves the value in member bounded_sequence_bool_field + * @param _bounded_sequence_bool_field New value to be moved in member bounded_sequence_bool_field + */ + eProsima_user_DllExport void bounded_sequence_bool_field( + std::vector&& _bounded_sequence_bool_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_bool_field + * @return Constant reference to member bounded_sequence_bool_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_bool_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_bool_field + * @return Reference to member bounded_sequence_bool_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_bool_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_enum_field + * @param _bounded_sequence_enum_field New value to be copied in member bounded_sequence_enum_field + */ + eProsima_user_DllExport void bounded_sequence_enum_field( + const std::vector& _bounded_sequence_enum_field); + + /*! + * @brief This function moves the value in member bounded_sequence_enum_field + * @param _bounded_sequence_enum_field New value to be moved in member bounded_sequence_enum_field + */ + eProsima_user_DllExport void bounded_sequence_enum_field( + std::vector&& _bounded_sequence_enum_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_enum_field + * @return Constant reference to member bounded_sequence_enum_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_enum_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_enum_field + * @return Reference to member bounded_sequence_enum_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_enum_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_enum2_field + * @param _bounded_sequence_enum2_field New value to be copied in member bounded_sequence_enum2_field + */ + eProsima_user_DllExport void bounded_sequence_enum2_field( + const std::vector& _bounded_sequence_enum2_field); + + /*! + * @brief This function moves the value in member bounded_sequence_enum2_field + * @param _bounded_sequence_enum2_field New value to be moved in member bounded_sequence_enum2_field + */ + eProsima_user_DllExport void bounded_sequence_enum2_field( + std::vector&& _bounded_sequence_enum2_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_enum2_field + * @return Constant reference to member bounded_sequence_enum2_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_enum2_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_enum2_field + * @return Reference to member bounded_sequence_enum2_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_enum2_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_struct_field + * @param _bounded_sequence_struct_field New value to be copied in member bounded_sequence_struct_field + */ + eProsima_user_DllExport void bounded_sequence_struct_field( + const std::vector& _bounded_sequence_struct_field); + + /*! + * @brief This function moves the value in member bounded_sequence_struct_field + * @param _bounded_sequence_struct_field New value to be moved in member bounded_sequence_struct_field + */ + eProsima_user_DllExport void bounded_sequence_struct_field( + std::vector&& _bounded_sequence_struct_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_struct_field + * @return Constant reference to member bounded_sequence_struct_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_struct_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_struct_field + * @return Reference to member bounded_sequence_struct_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_struct_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_char_field + * @param _unbounded_sequence_char_field New value to be copied in member unbounded_sequence_char_field + */ + eProsima_user_DllExport void unbounded_sequence_char_field( + const std::vector& _unbounded_sequence_char_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_char_field + * @param _unbounded_sequence_char_field New value to be moved in member unbounded_sequence_char_field + */ + eProsima_user_DllExport void unbounded_sequence_char_field( + std::vector&& _unbounded_sequence_char_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_char_field + * @return Constant reference to member unbounded_sequence_char_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_char_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_char_field + * @return Reference to member unbounded_sequence_char_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_char_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_uint8_field + * @param _unbounded_sequence_uint8_field New value to be copied in member unbounded_sequence_uint8_field + */ + eProsima_user_DllExport void unbounded_sequence_uint8_field( + const std::vector& _unbounded_sequence_uint8_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_uint8_field + * @param _unbounded_sequence_uint8_field New value to be moved in member unbounded_sequence_uint8_field + */ + eProsima_user_DllExport void unbounded_sequence_uint8_field( + std::vector&& _unbounded_sequence_uint8_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_uint8_field + * @return Constant reference to member unbounded_sequence_uint8_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_uint8_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_uint8_field + * @return Reference to member unbounded_sequence_uint8_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_uint8_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_int16_field + * @param _unbounded_sequence_int16_field New value to be copied in member unbounded_sequence_int16_field + */ + eProsima_user_DllExport void unbounded_sequence_int16_field( + const std::vector& _unbounded_sequence_int16_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_int16_field + * @param _unbounded_sequence_int16_field New value to be moved in member unbounded_sequence_int16_field + */ + eProsima_user_DllExport void unbounded_sequence_int16_field( + std::vector&& _unbounded_sequence_int16_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_int16_field + * @return Constant reference to member unbounded_sequence_int16_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_int16_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_int16_field + * @return Reference to member unbounded_sequence_int16_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_int16_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_uint16_field + * @param _unbounded_sequence_uint16_field New value to be copied in member unbounded_sequence_uint16_field + */ + eProsima_user_DllExport void unbounded_sequence_uint16_field( + const std::vector& _unbounded_sequence_uint16_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_uint16_field + * @param _unbounded_sequence_uint16_field New value to be moved in member unbounded_sequence_uint16_field + */ + eProsima_user_DllExport void unbounded_sequence_uint16_field( + std::vector&& _unbounded_sequence_uint16_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_uint16_field + * @return Constant reference to member unbounded_sequence_uint16_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_uint16_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_uint16_field + * @return Reference to member unbounded_sequence_uint16_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_uint16_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_int32_field + * @param _unbounded_sequence_int32_field New value to be copied in member unbounded_sequence_int32_field + */ + eProsima_user_DllExport void unbounded_sequence_int32_field( + const std::vector& _unbounded_sequence_int32_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_int32_field + * @param _unbounded_sequence_int32_field New value to be moved in member unbounded_sequence_int32_field + */ + eProsima_user_DllExport void unbounded_sequence_int32_field( + std::vector&& _unbounded_sequence_int32_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_int32_field + * @return Constant reference to member unbounded_sequence_int32_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_int32_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_int32_field + * @return Reference to member unbounded_sequence_int32_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_int32_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_uint32_field + * @param _unbounded_sequence_uint32_field New value to be copied in member unbounded_sequence_uint32_field + */ + eProsima_user_DllExport void unbounded_sequence_uint32_field( + const std::vector& _unbounded_sequence_uint32_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_uint32_field + * @param _unbounded_sequence_uint32_field New value to be moved in member unbounded_sequence_uint32_field + */ + eProsima_user_DllExport void unbounded_sequence_uint32_field( + std::vector&& _unbounded_sequence_uint32_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_uint32_field + * @return Constant reference to member unbounded_sequence_uint32_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_uint32_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_uint32_field + * @return Reference to member unbounded_sequence_uint32_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_uint32_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_int64_field + * @param _unbounded_sequence_int64_field New value to be copied in member unbounded_sequence_int64_field + */ + eProsima_user_DllExport void unbounded_sequence_int64_field( + const std::vector& _unbounded_sequence_int64_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_int64_field + * @param _unbounded_sequence_int64_field New value to be moved in member unbounded_sequence_int64_field + */ + eProsima_user_DllExport void unbounded_sequence_int64_field( + std::vector&& _unbounded_sequence_int64_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_int64_field + * @return Constant reference to member unbounded_sequence_int64_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_int64_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_int64_field + * @return Reference to member unbounded_sequence_int64_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_int64_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_uint64_field + * @param _unbounded_sequence_uint64_field New value to be copied in member unbounded_sequence_uint64_field + */ + eProsima_user_DllExport void unbounded_sequence_uint64_field( + const std::vector& _unbounded_sequence_uint64_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_uint64_field + * @param _unbounded_sequence_uint64_field New value to be moved in member unbounded_sequence_uint64_field + */ + eProsima_user_DllExport void unbounded_sequence_uint64_field( + std::vector&& _unbounded_sequence_uint64_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_uint64_field + * @return Constant reference to member unbounded_sequence_uint64_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_uint64_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_uint64_field + * @return Reference to member unbounded_sequence_uint64_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_uint64_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_float_field + * @param _unbounded_sequence_float_field New value to be copied in member unbounded_sequence_float_field + */ + eProsima_user_DllExport void unbounded_sequence_float_field( + const std::vector& _unbounded_sequence_float_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_float_field + * @param _unbounded_sequence_float_field New value to be moved in member unbounded_sequence_float_field + */ + eProsima_user_DllExport void unbounded_sequence_float_field( + std::vector&& _unbounded_sequence_float_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_float_field + * @return Constant reference to member unbounded_sequence_float_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_float_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_float_field + * @return Reference to member unbounded_sequence_float_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_float_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_double_field + * @param _unbounded_sequence_double_field New value to be copied in member unbounded_sequence_double_field + */ + eProsima_user_DllExport void unbounded_sequence_double_field( + const std::vector& _unbounded_sequence_double_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_double_field + * @param _unbounded_sequence_double_field New value to be moved in member unbounded_sequence_double_field + */ + eProsima_user_DllExport void unbounded_sequence_double_field( + std::vector&& _unbounded_sequence_double_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_double_field + * @return Constant reference to member unbounded_sequence_double_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_double_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_double_field + * @return Reference to member unbounded_sequence_double_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_double_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_bool_field + * @param _unbounded_sequence_bool_field New value to be copied in member unbounded_sequence_bool_field + */ + eProsima_user_DllExport void unbounded_sequence_bool_field( + const std::vector& _unbounded_sequence_bool_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_bool_field + * @param _unbounded_sequence_bool_field New value to be moved in member unbounded_sequence_bool_field + */ + eProsima_user_DllExport void unbounded_sequence_bool_field( + std::vector&& _unbounded_sequence_bool_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_bool_field + * @return Constant reference to member unbounded_sequence_bool_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_bool_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_bool_field + * @return Reference to member unbounded_sequence_bool_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_bool_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_enum_field + * @param _unbounded_sequence_enum_field New value to be copied in member unbounded_sequence_enum_field + */ + eProsima_user_DllExport void unbounded_sequence_enum_field( + const std::vector& _unbounded_sequence_enum_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_enum_field + * @param _unbounded_sequence_enum_field New value to be moved in member unbounded_sequence_enum_field + */ + eProsima_user_DllExport void unbounded_sequence_enum_field( + std::vector&& _unbounded_sequence_enum_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_enum_field + * @return Constant reference to member unbounded_sequence_enum_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_enum_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_enum_field + * @return Reference to member unbounded_sequence_enum_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_enum_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_enum2_field + * @param _unbounded_sequence_enum2_field New value to be copied in member unbounded_sequence_enum2_field + */ + eProsima_user_DllExport void unbounded_sequence_enum2_field( + const std::vector& _unbounded_sequence_enum2_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_enum2_field + * @param _unbounded_sequence_enum2_field New value to be moved in member unbounded_sequence_enum2_field + */ + eProsima_user_DllExport void unbounded_sequence_enum2_field( + std::vector&& _unbounded_sequence_enum2_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_enum2_field + * @return Constant reference to member unbounded_sequence_enum2_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_enum2_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_enum2_field + * @return Reference to member unbounded_sequence_enum2_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_enum2_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_struct_field + * @param _unbounded_sequence_struct_field New value to be copied in member unbounded_sequence_struct_field + */ + eProsima_user_DllExport void unbounded_sequence_struct_field( + const std::vector& _unbounded_sequence_struct_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_struct_field + * @param _unbounded_sequence_struct_field New value to be moved in member unbounded_sequence_struct_field + */ + eProsima_user_DllExport void unbounded_sequence_struct_field( + std::vector&& _unbounded_sequence_struct_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_struct_field + * @return Constant reference to member unbounded_sequence_struct_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_struct_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_struct_field + * @return Reference to member unbounded_sequence_struct_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_struct_field(); + + private: + + char m_char_field{0}; + uint8_t m_uint8_field{0}; + int16_t m_int16_field{0}; + uint16_t m_uint16_field{0}; + int32_t m_int32_field{0}; + uint32_t m_uint32_field{0}; + int64_t m_int64_field{0}; + uint64_t m_uint64_field{0}; + float m_float_field{0.0}; + double m_double_field{0.0}; + bool m_bool_field{false}; + std::string m_string_field; + eprosima::test::Color m_enum_field{eprosima::test::RED}; + eprosima::test::Material m_enum2_field{eprosima::test::WOOD}; + eprosima::test::StructType m_struct_field; + std::array m_array_char_field{0}; + std::array m_array_uint8_field{0}; + std::array m_array_int16_field{0}; + std::array m_array_uint16_field{0}; + std::array m_array_int32_field{0}; + std::array m_array_uint32_field{0}; + std::array m_array_int64_field{0}; + std::array m_array_uint64_field{0}; + std::array m_array_float_field{0.0}; + std::array m_array_double_field{0.0}; + std::array m_array_bool_field{false}; + std::array m_array_enum_field{eprosima::test::RED}; + std::array m_array_enum2_field{eprosima::test::WOOD}; + std::array m_array_struct_field; + std::vector m_bounded_sequence_char_field; + std::vector m_bounded_sequence_uint8_field; + std::vector m_bounded_sequence_int16_field; + std::vector m_bounded_sequence_uint16_field; + std::vector m_bounded_sequence_int32_field; + std::vector m_bounded_sequence_uint32_field; + std::vector m_bounded_sequence_int64_field; + std::vector m_bounded_sequence_uint64_field; + std::vector m_bounded_sequence_float_field; + std::vector m_bounded_sequence_double_field; + std::vector m_bounded_sequence_bool_field; + std::vector m_bounded_sequence_enum_field; + std::vector m_bounded_sequence_enum2_field; + std::vector m_bounded_sequence_struct_field; + std::vector m_unbounded_sequence_char_field; + std::vector m_unbounded_sequence_uint8_field; + std::vector m_unbounded_sequence_int16_field; + std::vector m_unbounded_sequence_uint16_field; + std::vector m_unbounded_sequence_int32_field; + std::vector m_unbounded_sequence_uint32_field; + std::vector m_unbounded_sequence_int64_field; + std::vector m_unbounded_sequence_uint64_field; + std::vector m_unbounded_sequence_float_field; + std::vector m_unbounded_sequence_double_field; + std::vector m_unbounded_sequence_bool_field; + std::vector m_unbounded_sequence_enum_field; + std::vector m_unbounded_sequence_enum2_field; + std::vector m_unbounded_sequence_struct_field; + + }; + /*! + * @brief This class represents the structure KeyedCompleteTestType defined by the user in the IDL file. + * @ingroup test_modules + */ + class KeyedCompleteTestType + { + public: + + /*! + * @brief Default constructor. + */ + eProsima_user_DllExport KeyedCompleteTestType(); + + /*! + * @brief Default destructor. + */ + eProsima_user_DllExport ~KeyedCompleteTestType(); + + /*! + * @brief Copy constructor. + * @param x Reference to the object eprosima::test::KeyedCompleteTestType that will be copied. + */ + eProsima_user_DllExport KeyedCompleteTestType( + const KeyedCompleteTestType& x); + + /*! + * @brief Move constructor. + * @param x Reference to the object eprosima::test::KeyedCompleteTestType that will be copied. + */ + eProsima_user_DllExport KeyedCompleteTestType( + KeyedCompleteTestType&& x) noexcept; + + /*! + * @brief Copy assignment. + * @param x Reference to the object eprosima::test::KeyedCompleteTestType that will be copied. + */ + eProsima_user_DllExport KeyedCompleteTestType& operator =( + const KeyedCompleteTestType& x); + + /*! + * @brief Move assignment. + * @param x Reference to the object eprosima::test::KeyedCompleteTestType that will be copied. + */ + eProsima_user_DllExport KeyedCompleteTestType& operator =( + KeyedCompleteTestType&& x) noexcept; + + /*! + * @brief Comparison operator. + * @param x eprosima::test::KeyedCompleteTestType object to compare. + */ + eProsima_user_DllExport bool operator ==( + const KeyedCompleteTestType& x) const; + + /*! + * @brief Comparison operator. + * @param x eprosima::test::KeyedCompleteTestType object to compare. + */ + eProsima_user_DllExport bool operator !=( + const KeyedCompleteTestType& x) const; + + /*! + * @brief This function sets a value in member id + * @param _id New value for member id + */ + eProsima_user_DllExport void id( + int32_t _id); + + /*! + * @brief This function returns the value of member id + * @return Value of member id + */ + eProsima_user_DllExport int32_t id() const; + + /*! + * @brief This function returns a reference to member id + * @return Reference to member id + */ + eProsima_user_DllExport int32_t& id(); + + + /*! + * @brief This function sets a value in member char_field + * @param _char_field New value for member char_field + */ + eProsima_user_DllExport void char_field( + char _char_field); + + /*! + * @brief This function returns the value of member char_field + * @return Value of member char_field + */ + eProsima_user_DllExport char char_field() const; + + /*! + * @brief This function returns a reference to member char_field + * @return Reference to member char_field + */ + eProsima_user_DllExport char& char_field(); + + + /*! + * @brief This function sets a value in member uint8_field + * @param _uint8_field New value for member uint8_field + */ + eProsima_user_DllExport void uint8_field( + uint8_t _uint8_field); + + /*! + * @brief This function returns the value of member uint8_field + * @return Value of member uint8_field + */ + eProsima_user_DllExport uint8_t uint8_field() const; + + /*! + * @brief This function returns a reference to member uint8_field + * @return Reference to member uint8_field + */ + eProsima_user_DllExport uint8_t& uint8_field(); + + + /*! + * @brief This function sets a value in member int16_field + * @param _int16_field New value for member int16_field + */ + eProsima_user_DllExport void int16_field( + int16_t _int16_field); + + /*! + * @brief This function returns the value of member int16_field + * @return Value of member int16_field + */ + eProsima_user_DllExport int16_t int16_field() const; + + /*! + * @brief This function returns a reference to member int16_field + * @return Reference to member int16_field + */ + eProsima_user_DllExport int16_t& int16_field(); + + + /*! + * @brief This function sets a value in member uint16_field + * @param _uint16_field New value for member uint16_field + */ + eProsima_user_DllExport void uint16_field( + uint16_t _uint16_field); + + /*! + * @brief This function returns the value of member uint16_field + * @return Value of member uint16_field + */ + eProsima_user_DllExport uint16_t uint16_field() const; + + /*! + * @brief This function returns a reference to member uint16_field + * @return Reference to member uint16_field + */ + eProsima_user_DllExport uint16_t& uint16_field(); + + + /*! + * @brief This function sets a value in member int32_field + * @param _int32_field New value for member int32_field + */ + eProsima_user_DllExport void int32_field( + int32_t _int32_field); + + /*! + * @brief This function returns the value of member int32_field + * @return Value of member int32_field + */ + eProsima_user_DllExport int32_t int32_field() const; + + /*! + * @brief This function returns a reference to member int32_field + * @return Reference to member int32_field + */ + eProsima_user_DllExport int32_t& int32_field(); + + + /*! + * @brief This function sets a value in member uint32_field + * @param _uint32_field New value for member uint32_field + */ + eProsima_user_DllExport void uint32_field( + uint32_t _uint32_field); + + /*! + * @brief This function returns the value of member uint32_field + * @return Value of member uint32_field + */ + eProsima_user_DllExport uint32_t uint32_field() const; + + /*! + * @brief This function returns a reference to member uint32_field + * @return Reference to member uint32_field + */ + eProsima_user_DllExport uint32_t& uint32_field(); + + + /*! + * @brief This function sets a value in member int64_field + * @param _int64_field New value for member int64_field + */ + eProsima_user_DllExport void int64_field( + int64_t _int64_field); + + /*! + * @brief This function returns the value of member int64_field + * @return Value of member int64_field + */ + eProsima_user_DllExport int64_t int64_field() const; + + /*! + * @brief This function returns a reference to member int64_field + * @return Reference to member int64_field + */ + eProsima_user_DllExport int64_t& int64_field(); + + + /*! + * @brief This function sets a value in member uint64_field + * @param _uint64_field New value for member uint64_field + */ + eProsima_user_DllExport void uint64_field( + uint64_t _uint64_field); + + /*! + * @brief This function returns the value of member uint64_field + * @return Value of member uint64_field + */ + eProsima_user_DllExport uint64_t uint64_field() const; + + /*! + * @brief This function returns a reference to member uint64_field + * @return Reference to member uint64_field + */ + eProsima_user_DllExport uint64_t& uint64_field(); + + + /*! + * @brief This function sets a value in member float_field + * @param _float_field New value for member float_field + */ + eProsima_user_DllExport void float_field( + float _float_field); + + /*! + * @brief This function returns the value of member float_field + * @return Value of member float_field + */ + eProsima_user_DllExport float float_field() const; + + /*! + * @brief This function returns a reference to member float_field + * @return Reference to member float_field + */ + eProsima_user_DllExport float& float_field(); + + + /*! + * @brief This function sets a value in member double_field + * @param _double_field New value for member double_field + */ + eProsima_user_DllExport void double_field( + double _double_field); + + /*! + * @brief This function returns the value of member double_field + * @return Value of member double_field + */ + eProsima_user_DllExport double double_field() const; + + /*! + * @brief This function returns a reference to member double_field + * @return Reference to member double_field + */ + eProsima_user_DllExport double& double_field(); + + + /*! + * @brief This function sets a value in member bool_field + * @param _bool_field New value for member bool_field + */ + eProsima_user_DllExport void bool_field( + bool _bool_field); + + /*! + * @brief This function returns the value of member bool_field + * @return Value of member bool_field + */ + eProsima_user_DllExport bool bool_field() const; + + /*! + * @brief This function returns a reference to member bool_field + * @return Reference to member bool_field + */ + eProsima_user_DllExport bool& bool_field(); + + + /*! + * @brief This function copies the value in member string_field + * @param _string_field New value to be copied in member string_field + */ + eProsima_user_DllExport void string_field( + const std::string& _string_field); + + /*! + * @brief This function moves the value in member string_field + * @param _string_field New value to be moved in member string_field + */ + eProsima_user_DllExport void string_field( + std::string&& _string_field); + + /*! + * @brief This function returns a constant reference to member string_field + * @return Constant reference to member string_field + */ + eProsima_user_DllExport const std::string& string_field() const; + + /*! + * @brief This function returns a reference to member string_field + * @return Reference to member string_field + */ + eProsima_user_DllExport std::string& string_field(); + + + /*! + * @brief This function sets a value in member enum_field + * @param _enum_field New value for member enum_field + */ + eProsima_user_DllExport void enum_field( + eprosima::test::Color _enum_field); + + /*! + * @brief This function returns the value of member enum_field + * @return Value of member enum_field + */ + eProsima_user_DllExport eprosima::test::Color enum_field() const; + + /*! + * @brief This function returns a reference to member enum_field + * @return Reference to member enum_field + */ + eProsima_user_DllExport eprosima::test::Color& enum_field(); + + + /*! + * @brief This function sets a value in member enum2_field + * @param _enum2_field New value for member enum2_field + */ + eProsima_user_DllExport void enum2_field( + eprosima::test::Material _enum2_field); + + /*! + * @brief This function returns the value of member enum2_field + * @return Value of member enum2_field + */ + eProsima_user_DllExport eprosima::test::Material enum2_field() const; + + /*! + * @brief This function returns a reference to member enum2_field + * @return Reference to member enum2_field + */ + eProsima_user_DllExport eprosima::test::Material& enum2_field(); + + + /*! + * @brief This function copies the value in member struct_field + * @param _struct_field New value to be copied in member struct_field + */ + eProsima_user_DllExport void struct_field( + const eprosima::test::StructType& _struct_field); + + /*! + * @brief This function moves the value in member struct_field + * @param _struct_field New value to be moved in member struct_field + */ + eProsima_user_DllExport void struct_field( + eprosima::test::StructType&& _struct_field); + + /*! + * @brief This function returns a constant reference to member struct_field + * @return Constant reference to member struct_field + */ + eProsima_user_DllExport const eprosima::test::StructType& struct_field() const; + + /*! + * @brief This function returns a reference to member struct_field + * @return Reference to member struct_field + */ + eProsima_user_DllExport eprosima::test::StructType& struct_field(); + + + /*! + * @brief This function copies the value in member array_char_field + * @param _array_char_field New value to be copied in member array_char_field + */ + eProsima_user_DllExport void array_char_field( + const std::array& _array_char_field); + + /*! + * @brief This function moves the value in member array_char_field + * @param _array_char_field New value to be moved in member array_char_field + */ + eProsima_user_DllExport void array_char_field( + std::array&& _array_char_field); + + /*! + * @brief This function returns a constant reference to member array_char_field + * @return Constant reference to member array_char_field + */ + eProsima_user_DllExport const std::array& array_char_field() const; + + /*! + * @brief This function returns a reference to member array_char_field + * @return Reference to member array_char_field + */ + eProsima_user_DllExport std::array& array_char_field(); + + + /*! + * @brief This function copies the value in member array_uint8_field + * @param _array_uint8_field New value to be copied in member array_uint8_field + */ + eProsima_user_DllExport void array_uint8_field( + const std::array& _array_uint8_field); + + /*! + * @brief This function moves the value in member array_uint8_field + * @param _array_uint8_field New value to be moved in member array_uint8_field + */ + eProsima_user_DllExport void array_uint8_field( + std::array&& _array_uint8_field); + + /*! + * @brief This function returns a constant reference to member array_uint8_field + * @return Constant reference to member array_uint8_field + */ + eProsima_user_DllExport const std::array& array_uint8_field() const; + + /*! + * @brief This function returns a reference to member array_uint8_field + * @return Reference to member array_uint8_field + */ + eProsima_user_DllExport std::array& array_uint8_field(); + + + /*! + * @brief This function copies the value in member array_int16_field + * @param _array_int16_field New value to be copied in member array_int16_field + */ + eProsima_user_DllExport void array_int16_field( + const std::array& _array_int16_field); + + /*! + * @brief This function moves the value in member array_int16_field + * @param _array_int16_field New value to be moved in member array_int16_field + */ + eProsima_user_DllExport void array_int16_field( + std::array&& _array_int16_field); + + /*! + * @brief This function returns a constant reference to member array_int16_field + * @return Constant reference to member array_int16_field + */ + eProsima_user_DllExport const std::array& array_int16_field() const; + + /*! + * @brief This function returns a reference to member array_int16_field + * @return Reference to member array_int16_field + */ + eProsima_user_DllExport std::array& array_int16_field(); + + + /*! + * @brief This function copies the value in member array_uint16_field + * @param _array_uint16_field New value to be copied in member array_uint16_field + */ + eProsima_user_DllExport void array_uint16_field( + const std::array& _array_uint16_field); + + /*! + * @brief This function moves the value in member array_uint16_field + * @param _array_uint16_field New value to be moved in member array_uint16_field + */ + eProsima_user_DllExport void array_uint16_field( + std::array&& _array_uint16_field); + + /*! + * @brief This function returns a constant reference to member array_uint16_field + * @return Constant reference to member array_uint16_field + */ + eProsima_user_DllExport const std::array& array_uint16_field() const; + + /*! + * @brief This function returns a reference to member array_uint16_field + * @return Reference to member array_uint16_field + */ + eProsima_user_DllExport std::array& array_uint16_field(); + + + /*! + * @brief This function copies the value in member array_int32_field + * @param _array_int32_field New value to be copied in member array_int32_field + */ + eProsima_user_DllExport void array_int32_field( + const std::array& _array_int32_field); + + /*! + * @brief This function moves the value in member array_int32_field + * @param _array_int32_field New value to be moved in member array_int32_field + */ + eProsima_user_DllExport void array_int32_field( + std::array&& _array_int32_field); + + /*! + * @brief This function returns a constant reference to member array_int32_field + * @return Constant reference to member array_int32_field + */ + eProsima_user_DllExport const std::array& array_int32_field() const; + + /*! + * @brief This function returns a reference to member array_int32_field + * @return Reference to member array_int32_field + */ + eProsima_user_DllExport std::array& array_int32_field(); + + + /*! + * @brief This function copies the value in member array_uint32_field + * @param _array_uint32_field New value to be copied in member array_uint32_field + */ + eProsima_user_DllExport void array_uint32_field( + const std::array& _array_uint32_field); + + /*! + * @brief This function moves the value in member array_uint32_field + * @param _array_uint32_field New value to be moved in member array_uint32_field + */ + eProsima_user_DllExport void array_uint32_field( + std::array&& _array_uint32_field); + + /*! + * @brief This function returns a constant reference to member array_uint32_field + * @return Constant reference to member array_uint32_field + */ + eProsima_user_DllExport const std::array& array_uint32_field() const; + + /*! + * @brief This function returns a reference to member array_uint32_field + * @return Reference to member array_uint32_field + */ + eProsima_user_DllExport std::array& array_uint32_field(); + + + /*! + * @brief This function copies the value in member array_int64_field + * @param _array_int64_field New value to be copied in member array_int64_field + */ + eProsima_user_DllExport void array_int64_field( + const std::array& _array_int64_field); + + /*! + * @brief This function moves the value in member array_int64_field + * @param _array_int64_field New value to be moved in member array_int64_field + */ + eProsima_user_DllExport void array_int64_field( + std::array&& _array_int64_field); + + /*! + * @brief This function returns a constant reference to member array_int64_field + * @return Constant reference to member array_int64_field + */ + eProsima_user_DllExport const std::array& array_int64_field() const; + + /*! + * @brief This function returns a reference to member array_int64_field + * @return Reference to member array_int64_field + */ + eProsima_user_DllExport std::array& array_int64_field(); + + + /*! + * @brief This function copies the value in member array_uint64_field + * @param _array_uint64_field New value to be copied in member array_uint64_field + */ + eProsima_user_DllExport void array_uint64_field( + const std::array& _array_uint64_field); + + /*! + * @brief This function moves the value in member array_uint64_field + * @param _array_uint64_field New value to be moved in member array_uint64_field + */ + eProsima_user_DllExport void array_uint64_field( + std::array&& _array_uint64_field); + + /*! + * @brief This function returns a constant reference to member array_uint64_field + * @return Constant reference to member array_uint64_field + */ + eProsima_user_DllExport const std::array& array_uint64_field() const; + + /*! + * @brief This function returns a reference to member array_uint64_field + * @return Reference to member array_uint64_field + */ + eProsima_user_DllExport std::array& array_uint64_field(); + + + /*! + * @brief This function copies the value in member array_float_field + * @param _array_float_field New value to be copied in member array_float_field + */ + eProsima_user_DllExport void array_float_field( + const std::array& _array_float_field); + + /*! + * @brief This function moves the value in member array_float_field + * @param _array_float_field New value to be moved in member array_float_field + */ + eProsima_user_DllExport void array_float_field( + std::array&& _array_float_field); + + /*! + * @brief This function returns a constant reference to member array_float_field + * @return Constant reference to member array_float_field + */ + eProsima_user_DllExport const std::array& array_float_field() const; + + /*! + * @brief This function returns a reference to member array_float_field + * @return Reference to member array_float_field + */ + eProsima_user_DllExport std::array& array_float_field(); + + + /*! + * @brief This function copies the value in member array_double_field + * @param _array_double_field New value to be copied in member array_double_field + */ + eProsima_user_DllExport void array_double_field( + const std::array& _array_double_field); + + /*! + * @brief This function moves the value in member array_double_field + * @param _array_double_field New value to be moved in member array_double_field + */ + eProsima_user_DllExport void array_double_field( + std::array&& _array_double_field); + + /*! + * @brief This function returns a constant reference to member array_double_field + * @return Constant reference to member array_double_field + */ + eProsima_user_DllExport const std::array& array_double_field() const; + + /*! + * @brief This function returns a reference to member array_double_field + * @return Reference to member array_double_field + */ + eProsima_user_DllExport std::array& array_double_field(); + + + /*! + * @brief This function copies the value in member array_bool_field + * @param _array_bool_field New value to be copied in member array_bool_field + */ + eProsima_user_DllExport void array_bool_field( + const std::array& _array_bool_field); + + /*! + * @brief This function moves the value in member array_bool_field + * @param _array_bool_field New value to be moved in member array_bool_field + */ + eProsima_user_DllExport void array_bool_field( + std::array&& _array_bool_field); + + /*! + * @brief This function returns a constant reference to member array_bool_field + * @return Constant reference to member array_bool_field + */ + eProsima_user_DllExport const std::array& array_bool_field() const; + + /*! + * @brief This function returns a reference to member array_bool_field + * @return Reference to member array_bool_field + */ + eProsima_user_DllExport std::array& array_bool_field(); + + + /*! + * @brief This function copies the value in member array_enum_field + * @param _array_enum_field New value to be copied in member array_enum_field + */ + eProsima_user_DllExport void array_enum_field( + const std::array& _array_enum_field); + + /*! + * @brief This function moves the value in member array_enum_field + * @param _array_enum_field New value to be moved in member array_enum_field + */ + eProsima_user_DllExport void array_enum_field( + std::array&& _array_enum_field); + + /*! + * @brief This function returns a constant reference to member array_enum_field + * @return Constant reference to member array_enum_field + */ + eProsima_user_DllExport const std::array& array_enum_field() const; + + /*! + * @brief This function returns a reference to member array_enum_field + * @return Reference to member array_enum_field + */ + eProsima_user_DllExport std::array& array_enum_field(); + + + /*! + * @brief This function copies the value in member array_enum2_field + * @param _array_enum2_field New value to be copied in member array_enum2_field + */ + eProsima_user_DllExport void array_enum2_field( + const std::array& _array_enum2_field); + + /*! + * @brief This function moves the value in member array_enum2_field + * @param _array_enum2_field New value to be moved in member array_enum2_field + */ + eProsima_user_DllExport void array_enum2_field( + std::array&& _array_enum2_field); + + /*! + * @brief This function returns a constant reference to member array_enum2_field + * @return Constant reference to member array_enum2_field + */ + eProsima_user_DllExport const std::array& array_enum2_field() const; + + /*! + * @brief This function returns a reference to member array_enum2_field + * @return Reference to member array_enum2_field + */ + eProsima_user_DllExport std::array& array_enum2_field(); + + + /*! + * @brief This function copies the value in member array_struct_field + * @param _array_struct_field New value to be copied in member array_struct_field + */ + eProsima_user_DllExport void array_struct_field( + const std::array& _array_struct_field); + + /*! + * @brief This function moves the value in member array_struct_field + * @param _array_struct_field New value to be moved in member array_struct_field + */ + eProsima_user_DllExport void array_struct_field( + std::array&& _array_struct_field); + + /*! + * @brief This function returns a constant reference to member array_struct_field + * @return Constant reference to member array_struct_field + */ + eProsima_user_DllExport const std::array& array_struct_field() const; + + /*! + * @brief This function returns a reference to member array_struct_field + * @return Reference to member array_struct_field + */ + eProsima_user_DllExport std::array& array_struct_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_char_field + * @param _bounded_sequence_char_field New value to be copied in member bounded_sequence_char_field + */ + eProsima_user_DllExport void bounded_sequence_char_field( + const std::vector& _bounded_sequence_char_field); + + /*! + * @brief This function moves the value in member bounded_sequence_char_field + * @param _bounded_sequence_char_field New value to be moved in member bounded_sequence_char_field + */ + eProsima_user_DllExport void bounded_sequence_char_field( + std::vector&& _bounded_sequence_char_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_char_field + * @return Constant reference to member bounded_sequence_char_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_char_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_char_field + * @return Reference to member bounded_sequence_char_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_char_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_uint8_field + * @param _bounded_sequence_uint8_field New value to be copied in member bounded_sequence_uint8_field + */ + eProsima_user_DllExport void bounded_sequence_uint8_field( + const std::vector& _bounded_sequence_uint8_field); + + /*! + * @brief This function moves the value in member bounded_sequence_uint8_field + * @param _bounded_sequence_uint8_field New value to be moved in member bounded_sequence_uint8_field + */ + eProsima_user_DllExport void bounded_sequence_uint8_field( + std::vector&& _bounded_sequence_uint8_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_uint8_field + * @return Constant reference to member bounded_sequence_uint8_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_uint8_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_uint8_field + * @return Reference to member bounded_sequence_uint8_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_uint8_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_int16_field + * @param _bounded_sequence_int16_field New value to be copied in member bounded_sequence_int16_field + */ + eProsima_user_DllExport void bounded_sequence_int16_field( + const std::vector& _bounded_sequence_int16_field); + + /*! + * @brief This function moves the value in member bounded_sequence_int16_field + * @param _bounded_sequence_int16_field New value to be moved in member bounded_sequence_int16_field + */ + eProsima_user_DllExport void bounded_sequence_int16_field( + std::vector&& _bounded_sequence_int16_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_int16_field + * @return Constant reference to member bounded_sequence_int16_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_int16_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_int16_field + * @return Reference to member bounded_sequence_int16_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_int16_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_uint16_field + * @param _bounded_sequence_uint16_field New value to be copied in member bounded_sequence_uint16_field + */ + eProsima_user_DllExport void bounded_sequence_uint16_field( + const std::vector& _bounded_sequence_uint16_field); + + /*! + * @brief This function moves the value in member bounded_sequence_uint16_field + * @param _bounded_sequence_uint16_field New value to be moved in member bounded_sequence_uint16_field + */ + eProsima_user_DllExport void bounded_sequence_uint16_field( + std::vector&& _bounded_sequence_uint16_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_uint16_field + * @return Constant reference to member bounded_sequence_uint16_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_uint16_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_uint16_field + * @return Reference to member bounded_sequence_uint16_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_uint16_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_int32_field + * @param _bounded_sequence_int32_field New value to be copied in member bounded_sequence_int32_field + */ + eProsima_user_DllExport void bounded_sequence_int32_field( + const std::vector& _bounded_sequence_int32_field); + + /*! + * @brief This function moves the value in member bounded_sequence_int32_field + * @param _bounded_sequence_int32_field New value to be moved in member bounded_sequence_int32_field + */ + eProsima_user_DllExport void bounded_sequence_int32_field( + std::vector&& _bounded_sequence_int32_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_int32_field + * @return Constant reference to member bounded_sequence_int32_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_int32_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_int32_field + * @return Reference to member bounded_sequence_int32_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_int32_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_uint32_field + * @param _bounded_sequence_uint32_field New value to be copied in member bounded_sequence_uint32_field + */ + eProsima_user_DllExport void bounded_sequence_uint32_field( + const std::vector& _bounded_sequence_uint32_field); + + /*! + * @brief This function moves the value in member bounded_sequence_uint32_field + * @param _bounded_sequence_uint32_field New value to be moved in member bounded_sequence_uint32_field + */ + eProsima_user_DllExport void bounded_sequence_uint32_field( + std::vector&& _bounded_sequence_uint32_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_uint32_field + * @return Constant reference to member bounded_sequence_uint32_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_uint32_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_uint32_field + * @return Reference to member bounded_sequence_uint32_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_uint32_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_int64_field + * @param _bounded_sequence_int64_field New value to be copied in member bounded_sequence_int64_field + */ + eProsima_user_DllExport void bounded_sequence_int64_field( + const std::vector& _bounded_sequence_int64_field); + + /*! + * @brief This function moves the value in member bounded_sequence_int64_field + * @param _bounded_sequence_int64_field New value to be moved in member bounded_sequence_int64_field + */ + eProsima_user_DllExport void bounded_sequence_int64_field( + std::vector&& _bounded_sequence_int64_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_int64_field + * @return Constant reference to member bounded_sequence_int64_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_int64_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_int64_field + * @return Reference to member bounded_sequence_int64_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_int64_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_uint64_field + * @param _bounded_sequence_uint64_field New value to be copied in member bounded_sequence_uint64_field + */ + eProsima_user_DllExport void bounded_sequence_uint64_field( + const std::vector& _bounded_sequence_uint64_field); + + /*! + * @brief This function moves the value in member bounded_sequence_uint64_field + * @param _bounded_sequence_uint64_field New value to be moved in member bounded_sequence_uint64_field + */ + eProsima_user_DllExport void bounded_sequence_uint64_field( + std::vector&& _bounded_sequence_uint64_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_uint64_field + * @return Constant reference to member bounded_sequence_uint64_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_uint64_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_uint64_field + * @return Reference to member bounded_sequence_uint64_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_uint64_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_float_field + * @param _bounded_sequence_float_field New value to be copied in member bounded_sequence_float_field + */ + eProsima_user_DllExport void bounded_sequence_float_field( + const std::vector& _bounded_sequence_float_field); + + /*! + * @brief This function moves the value in member bounded_sequence_float_field + * @param _bounded_sequence_float_field New value to be moved in member bounded_sequence_float_field + */ + eProsima_user_DllExport void bounded_sequence_float_field( + std::vector&& _bounded_sequence_float_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_float_field + * @return Constant reference to member bounded_sequence_float_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_float_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_float_field + * @return Reference to member bounded_sequence_float_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_float_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_double_field + * @param _bounded_sequence_double_field New value to be copied in member bounded_sequence_double_field + */ + eProsima_user_DllExport void bounded_sequence_double_field( + const std::vector& _bounded_sequence_double_field); + + /*! + * @brief This function moves the value in member bounded_sequence_double_field + * @param _bounded_sequence_double_field New value to be moved in member bounded_sequence_double_field + */ + eProsima_user_DllExport void bounded_sequence_double_field( + std::vector&& _bounded_sequence_double_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_double_field + * @return Constant reference to member bounded_sequence_double_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_double_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_double_field + * @return Reference to member bounded_sequence_double_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_double_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_bool_field + * @param _bounded_sequence_bool_field New value to be copied in member bounded_sequence_bool_field + */ + eProsima_user_DllExport void bounded_sequence_bool_field( + const std::vector& _bounded_sequence_bool_field); + + /*! + * @brief This function moves the value in member bounded_sequence_bool_field + * @param _bounded_sequence_bool_field New value to be moved in member bounded_sequence_bool_field + */ + eProsima_user_DllExport void bounded_sequence_bool_field( + std::vector&& _bounded_sequence_bool_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_bool_field + * @return Constant reference to member bounded_sequence_bool_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_bool_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_bool_field + * @return Reference to member bounded_sequence_bool_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_bool_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_enum_field + * @param _bounded_sequence_enum_field New value to be copied in member bounded_sequence_enum_field + */ + eProsima_user_DllExport void bounded_sequence_enum_field( + const std::vector& _bounded_sequence_enum_field); + + /*! + * @brief This function moves the value in member bounded_sequence_enum_field + * @param _bounded_sequence_enum_field New value to be moved in member bounded_sequence_enum_field + */ + eProsima_user_DllExport void bounded_sequence_enum_field( + std::vector&& _bounded_sequence_enum_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_enum_field + * @return Constant reference to member bounded_sequence_enum_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_enum_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_enum_field + * @return Reference to member bounded_sequence_enum_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_enum_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_enum2_field + * @param _bounded_sequence_enum2_field New value to be copied in member bounded_sequence_enum2_field + */ + eProsima_user_DllExport void bounded_sequence_enum2_field( + const std::vector& _bounded_sequence_enum2_field); + + /*! + * @brief This function moves the value in member bounded_sequence_enum2_field + * @param _bounded_sequence_enum2_field New value to be moved in member bounded_sequence_enum2_field + */ + eProsima_user_DllExport void bounded_sequence_enum2_field( + std::vector&& _bounded_sequence_enum2_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_enum2_field + * @return Constant reference to member bounded_sequence_enum2_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_enum2_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_enum2_field + * @return Reference to member bounded_sequence_enum2_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_enum2_field(); + + + /*! + * @brief This function copies the value in member bounded_sequence_struct_field + * @param _bounded_sequence_struct_field New value to be copied in member bounded_sequence_struct_field + */ + eProsima_user_DllExport void bounded_sequence_struct_field( + const std::vector& _bounded_sequence_struct_field); + + /*! + * @brief This function moves the value in member bounded_sequence_struct_field + * @param _bounded_sequence_struct_field New value to be moved in member bounded_sequence_struct_field + */ + eProsima_user_DllExport void bounded_sequence_struct_field( + std::vector&& _bounded_sequence_struct_field); + + /*! + * @brief This function returns a constant reference to member bounded_sequence_struct_field + * @return Constant reference to member bounded_sequence_struct_field + */ + eProsima_user_DllExport const std::vector& bounded_sequence_struct_field() const; + + /*! + * @brief This function returns a reference to member bounded_sequence_struct_field + * @return Reference to member bounded_sequence_struct_field + */ + eProsima_user_DllExport std::vector& bounded_sequence_struct_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_char_field + * @param _unbounded_sequence_char_field New value to be copied in member unbounded_sequence_char_field + */ + eProsima_user_DllExport void unbounded_sequence_char_field( + const std::vector& _unbounded_sequence_char_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_char_field + * @param _unbounded_sequence_char_field New value to be moved in member unbounded_sequence_char_field + */ + eProsima_user_DllExport void unbounded_sequence_char_field( + std::vector&& _unbounded_sequence_char_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_char_field + * @return Constant reference to member unbounded_sequence_char_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_char_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_char_field + * @return Reference to member unbounded_sequence_char_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_char_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_uint8_field + * @param _unbounded_sequence_uint8_field New value to be copied in member unbounded_sequence_uint8_field + */ + eProsima_user_DllExport void unbounded_sequence_uint8_field( + const std::vector& _unbounded_sequence_uint8_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_uint8_field + * @param _unbounded_sequence_uint8_field New value to be moved in member unbounded_sequence_uint8_field + */ + eProsima_user_DllExport void unbounded_sequence_uint8_field( + std::vector&& _unbounded_sequence_uint8_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_uint8_field + * @return Constant reference to member unbounded_sequence_uint8_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_uint8_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_uint8_field + * @return Reference to member unbounded_sequence_uint8_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_uint8_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_int16_field + * @param _unbounded_sequence_int16_field New value to be copied in member unbounded_sequence_int16_field + */ + eProsima_user_DllExport void unbounded_sequence_int16_field( + const std::vector& _unbounded_sequence_int16_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_int16_field + * @param _unbounded_sequence_int16_field New value to be moved in member unbounded_sequence_int16_field + */ + eProsima_user_DllExport void unbounded_sequence_int16_field( + std::vector&& _unbounded_sequence_int16_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_int16_field + * @return Constant reference to member unbounded_sequence_int16_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_int16_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_int16_field + * @return Reference to member unbounded_sequence_int16_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_int16_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_uint16_field + * @param _unbounded_sequence_uint16_field New value to be copied in member unbounded_sequence_uint16_field + */ + eProsima_user_DllExport void unbounded_sequence_uint16_field( + const std::vector& _unbounded_sequence_uint16_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_uint16_field + * @param _unbounded_sequence_uint16_field New value to be moved in member unbounded_sequence_uint16_field + */ + eProsima_user_DllExport void unbounded_sequence_uint16_field( + std::vector&& _unbounded_sequence_uint16_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_uint16_field + * @return Constant reference to member unbounded_sequence_uint16_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_uint16_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_uint16_field + * @return Reference to member unbounded_sequence_uint16_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_uint16_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_int32_field + * @param _unbounded_sequence_int32_field New value to be copied in member unbounded_sequence_int32_field + */ + eProsima_user_DllExport void unbounded_sequence_int32_field( + const std::vector& _unbounded_sequence_int32_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_int32_field + * @param _unbounded_sequence_int32_field New value to be moved in member unbounded_sequence_int32_field + */ + eProsima_user_DllExport void unbounded_sequence_int32_field( + std::vector&& _unbounded_sequence_int32_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_int32_field + * @return Constant reference to member unbounded_sequence_int32_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_int32_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_int32_field + * @return Reference to member unbounded_sequence_int32_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_int32_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_uint32_field + * @param _unbounded_sequence_uint32_field New value to be copied in member unbounded_sequence_uint32_field + */ + eProsima_user_DllExport void unbounded_sequence_uint32_field( + const std::vector& _unbounded_sequence_uint32_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_uint32_field + * @param _unbounded_sequence_uint32_field New value to be moved in member unbounded_sequence_uint32_field + */ + eProsima_user_DllExport void unbounded_sequence_uint32_field( + std::vector&& _unbounded_sequence_uint32_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_uint32_field + * @return Constant reference to member unbounded_sequence_uint32_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_uint32_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_uint32_field + * @return Reference to member unbounded_sequence_uint32_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_uint32_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_int64_field + * @param _unbounded_sequence_int64_field New value to be copied in member unbounded_sequence_int64_field + */ + eProsima_user_DllExport void unbounded_sequence_int64_field( + const std::vector& _unbounded_sequence_int64_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_int64_field + * @param _unbounded_sequence_int64_field New value to be moved in member unbounded_sequence_int64_field + */ + eProsima_user_DllExport void unbounded_sequence_int64_field( + std::vector&& _unbounded_sequence_int64_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_int64_field + * @return Constant reference to member unbounded_sequence_int64_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_int64_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_int64_field + * @return Reference to member unbounded_sequence_int64_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_int64_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_uint64_field + * @param _unbounded_sequence_uint64_field New value to be copied in member unbounded_sequence_uint64_field + */ + eProsima_user_DllExport void unbounded_sequence_uint64_field( + const std::vector& _unbounded_sequence_uint64_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_uint64_field + * @param _unbounded_sequence_uint64_field New value to be moved in member unbounded_sequence_uint64_field + */ + eProsima_user_DllExport void unbounded_sequence_uint64_field( + std::vector&& _unbounded_sequence_uint64_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_uint64_field + * @return Constant reference to member unbounded_sequence_uint64_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_uint64_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_uint64_field + * @return Reference to member unbounded_sequence_uint64_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_uint64_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_float_field + * @param _unbounded_sequence_float_field New value to be copied in member unbounded_sequence_float_field + */ + eProsima_user_DllExport void unbounded_sequence_float_field( + const std::vector& _unbounded_sequence_float_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_float_field + * @param _unbounded_sequence_float_field New value to be moved in member unbounded_sequence_float_field + */ + eProsima_user_DllExport void unbounded_sequence_float_field( + std::vector&& _unbounded_sequence_float_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_float_field + * @return Constant reference to member unbounded_sequence_float_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_float_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_float_field + * @return Reference to member unbounded_sequence_float_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_float_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_double_field + * @param _unbounded_sequence_double_field New value to be copied in member unbounded_sequence_double_field + */ + eProsima_user_DllExport void unbounded_sequence_double_field( + const std::vector& _unbounded_sequence_double_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_double_field + * @param _unbounded_sequence_double_field New value to be moved in member unbounded_sequence_double_field + */ + eProsima_user_DllExport void unbounded_sequence_double_field( + std::vector&& _unbounded_sequence_double_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_double_field + * @return Constant reference to member unbounded_sequence_double_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_double_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_double_field + * @return Reference to member unbounded_sequence_double_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_double_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_bool_field + * @param _unbounded_sequence_bool_field New value to be copied in member unbounded_sequence_bool_field + */ + eProsima_user_DllExport void unbounded_sequence_bool_field( + const std::vector& _unbounded_sequence_bool_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_bool_field + * @param _unbounded_sequence_bool_field New value to be moved in member unbounded_sequence_bool_field + */ + eProsima_user_DllExport void unbounded_sequence_bool_field( + std::vector&& _unbounded_sequence_bool_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_bool_field + * @return Constant reference to member unbounded_sequence_bool_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_bool_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_bool_field + * @return Reference to member unbounded_sequence_bool_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_bool_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_enum_field + * @param _unbounded_sequence_enum_field New value to be copied in member unbounded_sequence_enum_field + */ + eProsima_user_DllExport void unbounded_sequence_enum_field( + const std::vector& _unbounded_sequence_enum_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_enum_field + * @param _unbounded_sequence_enum_field New value to be moved in member unbounded_sequence_enum_field + */ + eProsima_user_DllExport void unbounded_sequence_enum_field( + std::vector&& _unbounded_sequence_enum_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_enum_field + * @return Constant reference to member unbounded_sequence_enum_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_enum_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_enum_field + * @return Reference to member unbounded_sequence_enum_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_enum_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_enum2_field + * @param _unbounded_sequence_enum2_field New value to be copied in member unbounded_sequence_enum2_field + */ + eProsima_user_DllExport void unbounded_sequence_enum2_field( + const std::vector& _unbounded_sequence_enum2_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_enum2_field + * @param _unbounded_sequence_enum2_field New value to be moved in member unbounded_sequence_enum2_field + */ + eProsima_user_DllExport void unbounded_sequence_enum2_field( + std::vector&& _unbounded_sequence_enum2_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_enum2_field + * @return Constant reference to member unbounded_sequence_enum2_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_enum2_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_enum2_field + * @return Reference to member unbounded_sequence_enum2_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_enum2_field(); + + + /*! + * @brief This function copies the value in member unbounded_sequence_struct_field + * @param _unbounded_sequence_struct_field New value to be copied in member unbounded_sequence_struct_field + */ + eProsima_user_DllExport void unbounded_sequence_struct_field( + const std::vector& _unbounded_sequence_struct_field); + + /*! + * @brief This function moves the value in member unbounded_sequence_struct_field + * @param _unbounded_sequence_struct_field New value to be moved in member unbounded_sequence_struct_field + */ + eProsima_user_DllExport void unbounded_sequence_struct_field( + std::vector&& _unbounded_sequence_struct_field); + + /*! + * @brief This function returns a constant reference to member unbounded_sequence_struct_field + * @return Constant reference to member unbounded_sequence_struct_field + */ + eProsima_user_DllExport const std::vector& unbounded_sequence_struct_field() const; + + /*! + * @brief This function returns a reference to member unbounded_sequence_struct_field + * @return Reference to member unbounded_sequence_struct_field + */ + eProsima_user_DllExport std::vector& unbounded_sequence_struct_field(); + + private: + + int32_t m_id{0}; + char m_char_field{0}; + uint8_t m_uint8_field{0}; + int16_t m_int16_field{0}; + uint16_t m_uint16_field{0}; + int32_t m_int32_field{0}; + uint32_t m_uint32_field{0}; + int64_t m_int64_field{0}; + uint64_t m_uint64_field{0}; + float m_float_field{0.0}; + double m_double_field{0.0}; + bool m_bool_field{false}; + std::string m_string_field; + eprosima::test::Color m_enum_field{eprosima::test::RED}; + eprosima::test::Material m_enum2_field{eprosima::test::WOOD}; + eprosima::test::StructType m_struct_field; + std::array m_array_char_field{0}; + std::array m_array_uint8_field{0}; + std::array m_array_int16_field{0}; + std::array m_array_uint16_field{0}; + std::array m_array_int32_field{0}; + std::array m_array_uint32_field{0}; + std::array m_array_int64_field{0}; + std::array m_array_uint64_field{0}; + std::array m_array_float_field{0.0}; + std::array m_array_double_field{0.0}; + std::array m_array_bool_field{false}; + std::array m_array_enum_field{eprosima::test::RED}; + std::array m_array_enum2_field{eprosima::test::WOOD}; + std::array m_array_struct_field; + std::vector m_bounded_sequence_char_field; + std::vector m_bounded_sequence_uint8_field; + std::vector m_bounded_sequence_int16_field; + std::vector m_bounded_sequence_uint16_field; + std::vector m_bounded_sequence_int32_field; + std::vector m_bounded_sequence_uint32_field; + std::vector m_bounded_sequence_int64_field; + std::vector m_bounded_sequence_uint64_field; + std::vector m_bounded_sequence_float_field; + std::vector m_bounded_sequence_double_field; + std::vector m_bounded_sequence_bool_field; + std::vector m_bounded_sequence_enum_field; + std::vector m_bounded_sequence_enum2_field; + std::vector m_bounded_sequence_struct_field; + std::vector m_unbounded_sequence_char_field; + std::vector m_unbounded_sequence_uint8_field; + std::vector m_unbounded_sequence_int16_field; + std::vector m_unbounded_sequence_uint16_field; + std::vector m_unbounded_sequence_int32_field; + std::vector m_unbounded_sequence_uint32_field; + std::vector m_unbounded_sequence_int64_field; + std::vector m_unbounded_sequence_uint64_field; + std::vector m_unbounded_sequence_float_field; + std::vector m_unbounded_sequence_double_field; + std::vector m_unbounded_sequence_bool_field; + std::vector m_unbounded_sequence_enum_field; + std::vector m_unbounded_sequence_enum2_field; + std::vector m_unbounded_sequence_struct_field; + + }; + } // namespace test +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULES_H_ + diff --git a/fastdds_python/test/types/test_modules.i b/fastdds_python/test/types/test_modules.i new file mode 100644 index 00000000..69c0553d --- /dev/null +++ b/fastdds_python/test/types/test_modules.i @@ -0,0 +1,1895 @@ +// 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 test_modules.i + * This header file contains the SWIG interface of the described types in the IDL file. + * + * This file was generated by the tool fastddsgen. + */ + +%module test_modules + +// SWIG helper modules +%include "stdint.i" +%include "std_array.i" +%include "std_map.i" +%include "std_string.i" +%include "std_vector.i" +%include "typemaps.i" + +// Assignemt operators are ignored, as there is no such thing in Python. +// Trying to export them issues a warning +%ignore *::operator=; + +// Macro declarations +// Any macro used on the Fast DDS header files will give an error if it is not redefined here +#define RTPS_DllAPI +#define eProsima_user_DllExport + + +%{ +#include "test_modules.h" + +#include +%} + +%import(module="fastdds") "fastdds/dds/core/LoanableCollection.hpp" +%import(module="fastdds") "fastdds/dds/core/LoanableTypedCollection.hpp" +%import(module="fastdds") "fastdds/dds/core/LoanableSequence.hpp" + +//////////////////////////////////////////////////////// +// Binding for class eprosima::test::StructType +//////////////////////////////////////////////////////// + +// Ignore overloaded methods that have no application on Python +// Otherwise they will issue a warning +%ignore eprosima::test::StructType::StructType(eprosima::test::StructType&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Avoid a warning ignoring all but one +%ignore eprosima::test::StructType::char_field(char&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::char_field(); +%rename("%s") eprosima::test::StructType::char_field() const; + + +%ignore eprosima::test::StructType::uint8_field(uint8_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::uint8_field(); +%rename("%s") eprosima::test::StructType::uint8_field() const; + + +%ignore eprosima::test::StructType::int16_field(int16_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::int16_field(); +%rename("%s") eprosima::test::StructType::int16_field() const; + + +%ignore eprosima::test::StructType::uint16_field(uint16_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::uint16_field(); +%rename("%s") eprosima::test::StructType::uint16_field() const; + + +%ignore eprosima::test::StructType::int32_field(int32_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::int32_field(); +%rename("%s") eprosima::test::StructType::int32_field() const; + + +%ignore eprosima::test::StructType::uint32_field(uint32_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::uint32_field(); +%rename("%s") eprosima::test::StructType::uint32_field() const; + + +%ignore eprosima::test::StructType::int64_field(int64_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::int64_field(); +%rename("%s") eprosima::test::StructType::int64_field() const; + + +%ignore eprosima::test::StructType::uint64_field(uint64_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::uint64_field(); +%rename("%s") eprosima::test::StructType::uint64_field() const; + + +%ignore eprosima::test::StructType::float_field(float&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::float_field(); +%rename("%s") eprosima::test::StructType::float_field() const; + + +%ignore eprosima::test::StructType::double_field(double&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::double_field(); +%rename("%s") eprosima::test::StructType::double_field() const; + + +%ignore eprosima::test::StructType::bool_field(bool&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::bool_field(); +%rename("%s") eprosima::test::StructType::bool_field() const; + + +%ignore eprosima::test::StructType::string_field(std::string&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::string_field(); +%rename("%s") eprosima::test::StructType::string_field() const; + + +%ignore eprosima::test::StructType::enum_field(eprosima::test::Color&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::enum_field(); +%rename("%s") eprosima::test::StructType::enum_field() const; + + +%ignore eprosima::test::StructType::enum2_field(eprosima::test::Material&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::StructType::enum2_field(); +%rename("%s") eprosima::test::StructType::enum2_field() const; + + + +%template(_StructTypeSeq) eprosima::fastdds::dds::LoanableTypedCollection; +%template(StructTypeSeq) eprosima::fastdds::dds::LoanableSequence; +%extend eprosima::fastdds::dds::LoanableSequence +{ + size_t __len__() const + { + return self->length(); + } + + const eprosima::test::StructType& __getitem__(size_t i) const + { + return (*self)[i]; + } +} + + + +//////////////////////////////////////////////////////// +// Binding for class eprosima::test::CompleteTestType +//////////////////////////////////////////////////////// + +// Ignore overloaded methods that have no application on Python +// Otherwise they will issue a warning +%ignore eprosima::test::CompleteTestType::CompleteTestType(eprosima::test::CompleteTestType&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Avoid a warning ignoring all but one +%ignore eprosima::test::CompleteTestType::char_field(char&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::char_field(); +%rename("%s") eprosima::test::CompleteTestType::char_field() const; + + +%ignore eprosima::test::CompleteTestType::uint8_field(uint8_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::uint8_field(); +%rename("%s") eprosima::test::CompleteTestType::uint8_field() const; + + +%ignore eprosima::test::CompleteTestType::int16_field(int16_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::int16_field(); +%rename("%s") eprosima::test::CompleteTestType::int16_field() const; + + +%ignore eprosima::test::CompleteTestType::uint16_field(uint16_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::uint16_field(); +%rename("%s") eprosima::test::CompleteTestType::uint16_field() const; + + +%ignore eprosima::test::CompleteTestType::int32_field(int32_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::int32_field(); +%rename("%s") eprosima::test::CompleteTestType::int32_field() const; + + +%ignore eprosima::test::CompleteTestType::uint32_field(uint32_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::uint32_field(); +%rename("%s") eprosima::test::CompleteTestType::uint32_field() const; + + +%ignore eprosima::test::CompleteTestType::int64_field(int64_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::int64_field(); +%rename("%s") eprosima::test::CompleteTestType::int64_field() const; + + +%ignore eprosima::test::CompleteTestType::uint64_field(uint64_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::uint64_field(); +%rename("%s") eprosima::test::CompleteTestType::uint64_field() const; + + +%ignore eprosima::test::CompleteTestType::float_field(float&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::float_field(); +%rename("%s") eprosima::test::CompleteTestType::float_field() const; + + +%ignore eprosima::test::CompleteTestType::double_field(double&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::double_field(); +%rename("%s") eprosima::test::CompleteTestType::double_field() const; + + +%ignore eprosima::test::CompleteTestType::bool_field(bool&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bool_field(); +%rename("%s") eprosima::test::CompleteTestType::bool_field() const; + + +%ignore eprosima::test::CompleteTestType::string_field(std::string&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::string_field(); +%rename("%s") eprosima::test::CompleteTestType::string_field() const; + + +%ignore eprosima::test::CompleteTestType::enum_field(eprosima::test::Color&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::enum_field(); +%rename("%s") eprosima::test::CompleteTestType::enum_field() const; + + +%ignore eprosima::test::CompleteTestType::enum2_field(eprosima::test::Material&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::enum2_field(); +%rename("%s") eprosima::test::CompleteTestType::enum2_field() const; + + +%ignore eprosima::test::CompleteTestType::struct_field(eprosima::test::StructType&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::struct_field(); +%rename("%s") eprosima::test::CompleteTestType::struct_field() const; + + +%ignore eprosima::test::CompleteTestType::array_char_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_char_field() const; +%template(char_3_array) std::array; +%extend std::array +{ + const char* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_uint8_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_uint8_field() const; +%template(uint8_t_3_array) std::array; +%extend std::array +{ + const uint8_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_int16_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_int16_field() const; +%template(int16_t_3_array) std::array; +%extend std::array +{ + const int16_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_uint16_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_uint16_field() const; +%template(uint16_t_3_array) std::array; +%extend std::array +{ + const uint16_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_int32_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_int32_field() const; +%template(int32_t_3_array) std::array; +%extend std::array +{ + const int32_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_uint32_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_uint32_field() const; +%template(uint32_t_3_array) std::array; +%extend std::array +{ + const uint32_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_int64_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_int64_field() const; +%template(int64_t_3_array) std::array; +%extend std::array +{ + const int64_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_uint64_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_uint64_field() const; +%template(uint64_t_3_array) std::array; +%extend std::array +{ + const uint64_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_float_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_float_field() const; +%template(float_3_array) std::array; +%extend std::array +{ + const float* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_double_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_double_field() const; +%template(double_3_array) std::array; +%extend std::array +{ + const double* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_bool_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_bool_field() const; +%template(bool_3_array) std::array; +%extend std::array +{ + const bool* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_enum_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_enum_field() const; +%template(eprosima_test_Color_3_array) std::array; +%extend std::array +{ + const eprosima::test::Color* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_enum2_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_enum2_field() const; +%template(eprosima_test_Material_3_array) std::array; +%extend std::array +{ + const eprosima::test::Material* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::CompleteTestType::array_struct_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::array_struct_field() const; +%template(eprosima_test_StructType_3_array) std::array; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_char_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_char_field() const; +%extend std::vector +{ + const char* get_buffer() const + { + return self->data(); + } +} + +%template( +char_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_uint8_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_uint8_field() const; +%extend std::vector +{ + const uint8_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint8_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_int16_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_int16_field() const; +%extend std::vector +{ + const int16_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int16_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_uint16_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_uint16_field() const; +%extend std::vector +{ + const uint16_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint16_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_int32_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_int32_field() const; +%extend std::vector +{ + const int32_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int32_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_uint32_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_uint32_field() const; +%extend std::vector +{ + const uint32_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint32_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_int64_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_int64_field() const; +%extend std::vector +{ + const int64_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int64_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_uint64_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_uint64_field() const; +%extend std::vector +{ + const uint64_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint64_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_float_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_float_field() const; +%extend std::vector +{ + const float* get_buffer() const + { + return self->data(); + } +} + +%template( +float_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_double_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_double_field() const; +%extend std::vector +{ + const double* get_buffer() const + { + return self->data(); + } +} + +%template( +double_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_bool_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_bool_field() const; +%template( +bool_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_enum_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_enum_field() const; +%extend std::vector +{ + const eprosima::test::Color* get_buffer() const + { + return self->data(); + } +} + +%template( +eprosima_test_Color_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_enum2_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_enum2_field() const; +%extend std::vector +{ + const eprosima::test::Material* get_buffer() const + { + return self->data(); + } +} + +%template( +eprosima_test_Material_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::bounded_sequence_struct_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::bounded_sequence_struct_field() const; +%template( +eprosima_test_StructType_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_char_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_char_field() const; +%extend std::vector +{ + const char* get_buffer() const + { + return self->data(); + } +} + +%template( +char_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_uint8_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_uint8_field() const; +%extend std::vector +{ + const uint8_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint8_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_int16_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_int16_field() const; +%extend std::vector +{ + const int16_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int16_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_uint16_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_uint16_field() const; +%extend std::vector +{ + const uint16_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint16_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_int32_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_int32_field() const; +%extend std::vector +{ + const int32_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int32_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_uint32_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_uint32_field() const; +%extend std::vector +{ + const uint32_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint32_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_int64_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_int64_field() const; +%extend std::vector +{ + const int64_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int64_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_uint64_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_uint64_field() const; +%extend std::vector +{ + const uint64_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint64_t_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_float_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_float_field() const; +%extend std::vector +{ + const float* get_buffer() const + { + return self->data(); + } +} + +%template( +float_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_double_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_double_field() const; +%extend std::vector +{ + const double* get_buffer() const + { + return self->data(); + } +} + +%template( +double_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_bool_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_bool_field() const; +%template( +bool_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_enum_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_enum_field() const; +%extend std::vector +{ + const eprosima::test::Color* get_buffer() const + { + return self->data(); + } +} + +%template( +eprosima_test_Color_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_enum2_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_enum2_field() const; +%extend std::vector +{ + const eprosima::test::Material* get_buffer() const + { + return self->data(); + } +} + +%template( +eprosima_test_Material_vector +) std::vector; + +%ignore eprosima::test::CompleteTestType::unbounded_sequence_struct_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::CompleteTestType::unbounded_sequence_struct_field() const; +%template( +eprosima_test_StructType_vector +) std::vector; + + +%template(_CompleteTestTypeSeq) eprosima::fastdds::dds::LoanableTypedCollection; +%template(CompleteTestTypeSeq) eprosima::fastdds::dds::LoanableSequence; +%extend eprosima::fastdds::dds::LoanableSequence +{ + size_t __len__() const + { + return self->length(); + } + + const eprosima::test::CompleteTestType& __getitem__(size_t i) const + { + return (*self)[i]; + } +} + +//////////////////////////////////////////////////////// +// Binding for class eprosima::test::KeyedCompleteTestType +//////////////////////////////////////////////////////// + +// Ignore overloaded methods that have no application on Python +// Otherwise they will issue a warning +%ignore eprosima::test::KeyedCompleteTestType::KeyedCompleteTestType(eprosima::test::KeyedCompleteTestType&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Avoid a warning ignoring all but one +%ignore eprosima::test::KeyedCompleteTestType::id(int32_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::id(); +%rename("%s") eprosima::test::KeyedCompleteTestType::id() const; + + +%ignore eprosima::test::KeyedCompleteTestType::char_field(char&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::char_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::char_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::uint8_field(uint8_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::uint8_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::uint8_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::int16_field(int16_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::int16_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::int16_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::uint16_field(uint16_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::uint16_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::uint16_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::int32_field(int32_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::int32_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::int32_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::uint32_field(uint32_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::uint32_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::uint32_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::int64_field(int64_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::int64_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::int64_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::uint64_field(uint64_t&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::uint64_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::uint64_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::float_field(float&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::float_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::float_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::double_field(double&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::double_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::double_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::bool_field(bool&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bool_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::bool_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::string_field(std::string&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::string_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::string_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::enum_field(eprosima::test::Color&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::enum_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::enum_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::enum2_field(eprosima::test::Material&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::enum2_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::enum2_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::struct_field(eprosima::test::StructType&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::struct_field(); +%rename("%s") eprosima::test::KeyedCompleteTestType::struct_field() const; + + +%ignore eprosima::test::KeyedCompleteTestType::array_char_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_char_field() const; +%template(char_3_array) std::array; +%extend std::array +{ + const char* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_uint8_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_uint8_field() const; +%template(uint8_t_3_array) std::array; +%extend std::array +{ + const uint8_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_int16_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_int16_field() const; +%template(int16_t_3_array) std::array; +%extend std::array +{ + const int16_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_uint16_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_uint16_field() const; +%template(uint16_t_3_array) std::array; +%extend std::array +{ + const uint16_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_int32_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_int32_field() const; +%template(int32_t_3_array) std::array; +%extend std::array +{ + const int32_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_uint32_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_uint32_field() const; +%template(uint32_t_3_array) std::array; +%extend std::array +{ + const uint32_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_int64_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_int64_field() const; +%template(int64_t_3_array) std::array; +%extend std::array +{ + const int64_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_uint64_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_uint64_field() const; +%template(uint64_t_3_array) std::array; +%extend std::array +{ + const uint64_t* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_float_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_float_field() const; +%template(float_3_array) std::array; +%extend std::array +{ + const float* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_double_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_double_field() const; +%template(double_3_array) std::array; +%extend std::array +{ + const double* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_bool_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_bool_field() const; +%template(bool_3_array) std::array; +%extend std::array +{ + const bool* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_enum_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_enum_field() const; +%template(eprosima_test_Color_3_array) std::array; +%extend std::array +{ + const eprosima::test::Color* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_enum2_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_enum2_field() const; +%template(eprosima_test_Material_3_array) std::array; +%extend std::array +{ + const eprosima::test::Material* get_buffer() const + { + return self->data(); + } +} + +%ignore eprosima::test::KeyedCompleteTestType::array_struct_field(std::array&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::array_struct_field() const; +%template(eprosima_test_StructType_3_array) std::array; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_char_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_char_field() const; +%extend std::vector +{ + const char* get_buffer() const + { + return self->data(); + } +} + +%template( +char_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_uint8_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_uint8_field() const; +%extend std::vector +{ + const uint8_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint8_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_int16_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_int16_field() const; +%extend std::vector +{ + const int16_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int16_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_uint16_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_uint16_field() const; +%extend std::vector +{ + const uint16_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint16_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_int32_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_int32_field() const; +%extend std::vector +{ + const int32_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int32_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_uint32_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_uint32_field() const; +%extend std::vector +{ + const uint32_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint32_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_int64_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_int64_field() const; +%extend std::vector +{ + const int64_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int64_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_uint64_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_uint64_field() const; +%extend std::vector +{ + const uint64_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint64_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_float_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_float_field() const; +%extend std::vector +{ + const float* get_buffer() const + { + return self->data(); + } +} + +%template( +float_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_double_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_double_field() const; +%extend std::vector +{ + const double* get_buffer() const + { + return self->data(); + } +} + +%template( +double_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_bool_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_bool_field() const; +%template( +bool_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_enum_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_enum_field() const; +%extend std::vector +{ + const eprosima::test::Color* get_buffer() const + { + return self->data(); + } +} + +%template( +eprosima_test_Color_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_enum2_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_enum2_field() const; +%extend std::vector +{ + const eprosima::test::Material* get_buffer() const + { + return self->data(); + } +} + +%template( +eprosima_test_Material_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_struct_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::bounded_sequence_struct_field() const; +%template( +eprosima_test_StructType_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_char_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_char_field() const; +%extend std::vector +{ + const char* get_buffer() const + { + return self->data(); + } +} + +%template( +char_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint8_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint8_field() const; +%extend std::vector +{ + const uint8_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint8_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_int16_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_int16_field() const; +%extend std::vector +{ + const int16_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int16_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint16_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint16_field() const; +%extend std::vector +{ + const uint16_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint16_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_int32_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_int32_field() const; +%extend std::vector +{ + const int32_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int32_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint32_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint32_field() const; +%extend std::vector +{ + const uint32_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint32_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_int64_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_int64_field() const; +%extend std::vector +{ + const int64_t* get_buffer() const + { + return self->data(); + } +} + +%template( +int64_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint64_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_uint64_field() const; +%extend std::vector +{ + const uint64_t* get_buffer() const + { + return self->data(); + } +} + +%template( +uint64_t_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_float_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_float_field() const; +%extend std::vector +{ + const float* get_buffer() const + { + return self->data(); + } +} + +%template( +float_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_double_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_double_field() const; +%extend std::vector +{ + const double* get_buffer() const + { + return self->data(); + } +} + +%template( +double_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_bool_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_bool_field() const; +%template( +bool_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum_field() const; +%extend std::vector +{ + const eprosima::test::Color* get_buffer() const + { + return self->data(); + } +} + +%template( +eprosima_test_Color_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum2_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_enum2_field() const; +%extend std::vector +{ + const eprosima::test::Material* get_buffer() const + { + return self->data(); + } +} + +%template( +eprosima_test_Material_vector +) std::vector; + +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_struct_field(std::vector&&); + +// Overloaded getter methods shadow each other and are equivalent in python +// Const accesors produced constant enums instead of arrays/dictionaries when used +// We ignore them to prevent this +%ignore eprosima::test::KeyedCompleteTestType::unbounded_sequence_struct_field() const; +%template( +eprosima_test_StructType_vector +) std::vector; + + +%template(_KeyedCompleteTestTypeSeq) eprosima::fastdds::dds::LoanableTypedCollection; +%template(KeyedCompleteTestTypeSeq) eprosima::fastdds::dds::LoanableSequence; +%extend eprosima::fastdds::dds::LoanableSequence +{ + size_t __len__() const + { + return self->length(); + } + + const eprosima::test::KeyedCompleteTestType& __getitem__(size_t i) const + { + return (*self)[i]; + } +} + + + + +// Include the class interfaces +%include "test_modules.h" + +// Include the corresponding TopicDataType +%include "test_modulesPubSubTypes.i" + diff --git a/fastdds_python/test/types/test_modules.idl b/fastdds_python/test/types/test_modules.idl new file mode 100644 index 00000000..ed055678 --- /dev/null +++ b/fastdds_python/test/types/test_modules.idl @@ -0,0 +1,198 @@ +module eprosima +{ + module test + { + enum Color + { + RED, + GREEN, + BLUE, + YELLOW, + MAGENTA + }; + + enum Material + { + WOOD, + PLASTIC, + METAL, + CONCRETE, + STONE + }; + + struct StructType + { + char char_field; + octet uint8_field; + short int16_field; + unsigned short uint16_field; + long int32_field; + unsigned long uint32_field; + long long int64_field; + unsigned long long uint64_field; + float float_field; + double double_field; + //long double long_double_field; + boolean bool_field; + string string_field; + Color enum_field; + Material enum2_field; + }; + + const unsigned long max_array_size = 3; + const unsigned long max_seq_size = 5; + + struct CompleteTestType + { + // Direct fields + char char_field; + octet uint8_field; + short int16_field; + unsigned short uint16_field; + long int32_field; + unsigned long uint32_field; + long long int64_field; + unsigned long long uint64_field; + float float_field; + double double_field; + //long double long_double_field; + boolean bool_field; + string string_field; + Color enum_field; + Material enum2_field; + StructType struct_field; + + // Array fields + char array_char_field[max_array_size]; + octet array_uint8_field[max_array_size]; + short array_int16_field[max_array_size]; + unsigned short array_uint16_field[max_array_size]; + long array_int32_field[max_array_size]; + unsigned long array_uint32_field[max_array_size]; + long long array_int64_field[max_array_size]; + unsigned long long array_uint64_field[max_array_size]; + float array_float_field[max_array_size]; + double array_double_field[max_array_size]; + //long double array_long_double_field[max_array_size]; + boolean array_bool_field[max_array_size]; + //string array_string_field[max_array_size]; + Color array_enum_field[max_array_size]; + Material array_enum2_field[max_array_size]; + StructType array_struct_field[max_array_size]; + + // Bounded sequence fields + sequence bounded_sequence_char_field; + sequence bounded_sequence_uint8_field; + sequence bounded_sequence_int16_field; + sequence bounded_sequence_uint16_field; + sequence bounded_sequence_int32_field; + sequence bounded_sequence_uint32_field; + sequence bounded_sequence_int64_field; + sequence bounded_sequence_uint64_field; + sequence bounded_sequence_float_field; + sequence bounded_sequence_double_field; + //sequence bounded_sequence_long_double_field; + sequence bounded_sequence_bool_field; + //sequence bounded_sequence_string_field; + sequence bounded_sequence_enum_field; + sequence bounded_sequence_enum2_field; + sequence bounded_sequence_struct_field; + + // Unbounded sequence fields + sequence unbounded_sequence_char_field; + sequence unbounded_sequence_uint8_field; + sequence unbounded_sequence_int16_field; + sequence unbounded_sequence_uint16_field; + sequence unbounded_sequence_int32_field; + sequence unbounded_sequence_uint32_field; + sequence unbounded_sequence_int64_field; + sequence unbounded_sequence_uint64_field; + sequence unbounded_sequence_float_field; + sequence unbounded_sequence_double_field; + //sequence unbounded_sequence_long_double_field; + sequence unbounded_sequence_bool_field; + //sequence unbounded_sequence_string_field; + sequence unbounded_sequence_enum_field; + sequence unbounded_sequence_enum2_field; + sequence unbounded_sequence_struct_field; + }; + + struct KeyedCompleteTestType + { + @key + long id; + + // Direct fields + char char_field; + octet uint8_field; + short int16_field; + unsigned short uint16_field; + long int32_field; + unsigned long uint32_field; + long long int64_field; + unsigned long long uint64_field; + float float_field; + double double_field; + //long double long_double_field; + boolean bool_field; + string string_field; + Color enum_field; + Material enum2_field; + StructType struct_field; + + // Array fields + char array_char_field[max_array_size]; + octet array_uint8_field[max_array_size]; + short array_int16_field[max_array_size]; + unsigned short array_uint16_field[max_array_size]; + long array_int32_field[max_array_size]; + unsigned long array_uint32_field[max_array_size]; + long long array_int64_field[max_array_size]; + unsigned long long array_uint64_field[max_array_size]; + float array_float_field[max_array_size]; + double array_double_field[max_array_size]; + //long double array_long_double_field[max_array_size]; + boolean array_bool_field[max_array_size]; + //string array_string_field[max_array_size]; + Color array_enum_field[max_array_size]; + Material array_enum2_field[max_array_size]; + StructType array_struct_field[max_array_size]; + + // Bounded sequence fields + sequence bounded_sequence_char_field; + sequence bounded_sequence_uint8_field; + sequence bounded_sequence_int16_field; + sequence bounded_sequence_uint16_field; + sequence bounded_sequence_int32_field; + sequence bounded_sequence_uint32_field; + sequence bounded_sequence_int64_field; + sequence bounded_sequence_uint64_field; + sequence bounded_sequence_float_field; + sequence bounded_sequence_double_field; + //sequence bounded_sequence_long_double_field; + sequence bounded_sequence_bool_field; + //sequence bounded_sequence_string_field; + sequence bounded_sequence_enum_field; + sequence bounded_sequence_enum2_field; + sequence bounded_sequence_struct_field; + + // Unbounded sequence fields + sequence unbounded_sequence_char_field; + sequence unbounded_sequence_uint8_field; + sequence unbounded_sequence_int16_field; + sequence unbounded_sequence_uint16_field; + sequence unbounded_sequence_int32_field; + sequence unbounded_sequence_uint32_field; + sequence unbounded_sequence_int64_field; + sequence unbounded_sequence_uint64_field; + sequence unbounded_sequence_float_field; + sequence unbounded_sequence_double_field; + //sequence unbounded_sequence_long_double_field; + sequence unbounded_sequence_bool_field; + //sequence unbounded_sequence_string_field; + sequence unbounded_sequence_enum_field; + sequence unbounded_sequence_enum2_field; + sequence unbounded_sequence_struct_field; + }; + }; +}; diff --git a/fastdds_python/test/types/test_modulesCdrAux.hpp b/fastdds_python/test/types/test_modulesCdrAux.hpp new file mode 100644 index 00000000..1c8fe2d9 --- /dev/null +++ b/fastdds_python/test/types/test_modulesCdrAux.hpp @@ -0,0 +1,65 @@ +// 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 test_modulesCdrAux.hpp + * This source file contains some definitions of CDR related functions. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULESCDRAUX_HPP_ +#define _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULESCDRAUX_HPP_ + +#include "test_modules.h" + +constexpr uint32_t eprosima_test_KeyedCompleteTestType_max_cdr_typesize {41752UL}; +constexpr uint32_t eprosima_test_KeyedCompleteTestType_max_key_cdr_typesize {4UL}; + + +constexpr uint32_t eprosima_test_CompleteTestType_max_cdr_typesize {41752UL}; +constexpr uint32_t eprosima_test_CompleteTestType_max_key_cdr_typesize {0UL}; + +constexpr uint32_t eprosima_test_StructType_max_cdr_typesize {328UL}; +constexpr uint32_t eprosima_test_StructType_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::test::StructType& data); + + + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::test::CompleteTestType& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::test::KeyedCompleteTestType& data); + + + + +} // namespace fastcdr +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULESCDRAUX_HPP_ + diff --git a/fastdds_python/test/types/test_modulesCdrAux.ipp b/fastdds_python/test/types/test_modulesCdrAux.ipp new file mode 100644 index 00000000..4ac1f16d --- /dev/null +++ b/fastdds_python/test/types/test_modulesCdrAux.ipp @@ -0,0 +1,1344 @@ +// 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 test_modulesCdrAux.ipp + * This source file contains some declarations of CDR related functions. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULESCDRAUX_IPP_ +#define _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULESCDRAUX_IPP_ + +#include "test_modulesCdrAux.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::test::StructType& data, + size_t& current_alignment) +{ + 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.char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(6), + data.int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(7), + data.uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(8), + data.float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(9), + data.double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(10), + data.bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(11), + data.string_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(12), + data.enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(13), + data.enum2_field(), 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::test::StructType& data) +{ + 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.char_field() + << eprosima::fastcdr::MemberId(1) << data.uint8_field() + << eprosima::fastcdr::MemberId(2) << data.int16_field() + << eprosima::fastcdr::MemberId(3) << data.uint16_field() + << eprosima::fastcdr::MemberId(4) << data.int32_field() + << eprosima::fastcdr::MemberId(5) << data.uint32_field() + << eprosima::fastcdr::MemberId(6) << data.int64_field() + << eprosima::fastcdr::MemberId(7) << data.uint64_field() + << eprosima::fastcdr::MemberId(8) << data.float_field() + << eprosima::fastcdr::MemberId(9) << data.double_field() + << eprosima::fastcdr::MemberId(10) << data.bool_field() + << eprosima::fastcdr::MemberId(11) << data.string_field() + << eprosima::fastcdr::MemberId(12) << data.enum_field() + << eprosima::fastcdr::MemberId(13) << data.enum2_field() +; + + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::test::StructType& data) +{ + 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.char_field(); + break; + + case 1: + dcdr >> data.uint8_field(); + break; + + case 2: + dcdr >> data.int16_field(); + break; + + case 3: + dcdr >> data.uint16_field(); + break; + + case 4: + dcdr >> data.int32_field(); + break; + + case 5: + dcdr >> data.uint32_field(); + break; + + case 6: + dcdr >> data.int64_field(); + break; + + case 7: + dcdr >> data.uint64_field(); + break; + + case 8: + dcdr >> data.float_field(); + break; + + case 9: + dcdr >> data.double_field(); + break; + + case 10: + dcdr >> data.bool_field(); + break; + + case 11: + dcdr >> data.string_field(); + break; + + case 12: + dcdr >> data.enum_field(); + break; + + case 13: + dcdr >> data.enum2_field(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::test::StructType& data) +{ + static_cast(scdr); + static_cast(data); +} + + + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::test::CompleteTestType& data, + size_t& current_alignment) +{ + 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.char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(6), + data.int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(7), + data.uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(8), + data.float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(9), + data.double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(10), + data.bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(11), + data.string_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(12), + data.enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(13), + data.enum2_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(14), + data.struct_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(15), + data.array_char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(16), + data.array_uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(17), + data.array_int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(18), + data.array_uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(19), + data.array_int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(20), + data.array_uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(21), + data.array_int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(22), + data.array_uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(23), + data.array_float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(24), + data.array_double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(25), + data.array_bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(26), + data.array_enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(27), + data.array_enum2_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(28), + data.array_struct_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(29), + data.bounded_sequence_char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(30), + data.bounded_sequence_uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(31), + data.bounded_sequence_int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(32), + data.bounded_sequence_uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(33), + data.bounded_sequence_int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(34), + data.bounded_sequence_uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(35), + data.bounded_sequence_int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(36), + data.bounded_sequence_uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(37), + data.bounded_sequence_float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(38), + data.bounded_sequence_double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(39), + data.bounded_sequence_bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(40), + data.bounded_sequence_enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(41), + data.bounded_sequence_enum2_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(42), + data.bounded_sequence_struct_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(43), + data.unbounded_sequence_char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(44), + data.unbounded_sequence_uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(45), + data.unbounded_sequence_int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(46), + data.unbounded_sequence_uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(47), + data.unbounded_sequence_int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(48), + data.unbounded_sequence_uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(49), + data.unbounded_sequence_int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(50), + data.unbounded_sequence_uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(51), + data.unbounded_sequence_float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(52), + data.unbounded_sequence_double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(53), + data.unbounded_sequence_bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(54), + data.unbounded_sequence_enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(55), + data.unbounded_sequence_enum2_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(56), + data.unbounded_sequence_struct_field(), 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::test::CompleteTestType& data) +{ + 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.char_field() + << eprosima::fastcdr::MemberId(1) << data.uint8_field() + << eprosima::fastcdr::MemberId(2) << data.int16_field() + << eprosima::fastcdr::MemberId(3) << data.uint16_field() + << eprosima::fastcdr::MemberId(4) << data.int32_field() + << eprosima::fastcdr::MemberId(5) << data.uint32_field() + << eprosima::fastcdr::MemberId(6) << data.int64_field() + << eprosima::fastcdr::MemberId(7) << data.uint64_field() + << eprosima::fastcdr::MemberId(8) << data.float_field() + << eprosima::fastcdr::MemberId(9) << data.double_field() + << eprosima::fastcdr::MemberId(10) << data.bool_field() + << eprosima::fastcdr::MemberId(11) << data.string_field() + << eprosima::fastcdr::MemberId(12) << data.enum_field() + << eprosima::fastcdr::MemberId(13) << data.enum2_field() + << eprosima::fastcdr::MemberId(14) << data.struct_field() + << eprosima::fastcdr::MemberId(15) << data.array_char_field() + << eprosima::fastcdr::MemberId(16) << data.array_uint8_field() + << eprosima::fastcdr::MemberId(17) << data.array_int16_field() + << eprosima::fastcdr::MemberId(18) << data.array_uint16_field() + << eprosima::fastcdr::MemberId(19) << data.array_int32_field() + << eprosima::fastcdr::MemberId(20) << data.array_uint32_field() + << eprosima::fastcdr::MemberId(21) << data.array_int64_field() + << eprosima::fastcdr::MemberId(22) << data.array_uint64_field() + << eprosima::fastcdr::MemberId(23) << data.array_float_field() + << eprosima::fastcdr::MemberId(24) << data.array_double_field() + << eprosima::fastcdr::MemberId(25) << data.array_bool_field() + << eprosima::fastcdr::MemberId(26) << data.array_enum_field() + << eprosima::fastcdr::MemberId(27) << data.array_enum2_field() + << eprosima::fastcdr::MemberId(28) << data.array_struct_field() + << eprosima::fastcdr::MemberId(29) << data.bounded_sequence_char_field() + << eprosima::fastcdr::MemberId(30) << data.bounded_sequence_uint8_field() + << eprosima::fastcdr::MemberId(31) << data.bounded_sequence_int16_field() + << eprosima::fastcdr::MemberId(32) << data.bounded_sequence_uint16_field() + << eprosima::fastcdr::MemberId(33) << data.bounded_sequence_int32_field() + << eprosima::fastcdr::MemberId(34) << data.bounded_sequence_uint32_field() + << eprosima::fastcdr::MemberId(35) << data.bounded_sequence_int64_field() + << eprosima::fastcdr::MemberId(36) << data.bounded_sequence_uint64_field() + << eprosima::fastcdr::MemberId(37) << data.bounded_sequence_float_field() + << eprosima::fastcdr::MemberId(38) << data.bounded_sequence_double_field() + << eprosima::fastcdr::MemberId(39) << data.bounded_sequence_bool_field() + << eprosima::fastcdr::MemberId(40) << data.bounded_sequence_enum_field() + << eprosima::fastcdr::MemberId(41) << data.bounded_sequence_enum2_field() + << eprosima::fastcdr::MemberId(42) << data.bounded_sequence_struct_field() + << eprosima::fastcdr::MemberId(43) << data.unbounded_sequence_char_field() + << eprosima::fastcdr::MemberId(44) << data.unbounded_sequence_uint8_field() + << eprosima::fastcdr::MemberId(45) << data.unbounded_sequence_int16_field() + << eprosima::fastcdr::MemberId(46) << data.unbounded_sequence_uint16_field() + << eprosima::fastcdr::MemberId(47) << data.unbounded_sequence_int32_field() + << eprosima::fastcdr::MemberId(48) << data.unbounded_sequence_uint32_field() + << eprosima::fastcdr::MemberId(49) << data.unbounded_sequence_int64_field() + << eprosima::fastcdr::MemberId(50) << data.unbounded_sequence_uint64_field() + << eprosima::fastcdr::MemberId(51) << data.unbounded_sequence_float_field() + << eprosima::fastcdr::MemberId(52) << data.unbounded_sequence_double_field() + << eprosima::fastcdr::MemberId(53) << data.unbounded_sequence_bool_field() + << eprosima::fastcdr::MemberId(54) << data.unbounded_sequence_enum_field() + << eprosima::fastcdr::MemberId(55) << data.unbounded_sequence_enum2_field() + << eprosima::fastcdr::MemberId(56) << data.unbounded_sequence_struct_field() +; + + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::test::CompleteTestType& data) +{ + 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.char_field(); + break; + + case 1: + dcdr >> data.uint8_field(); + break; + + case 2: + dcdr >> data.int16_field(); + break; + + case 3: + dcdr >> data.uint16_field(); + break; + + case 4: + dcdr >> data.int32_field(); + break; + + case 5: + dcdr >> data.uint32_field(); + break; + + case 6: + dcdr >> data.int64_field(); + break; + + case 7: + dcdr >> data.uint64_field(); + break; + + case 8: + dcdr >> data.float_field(); + break; + + case 9: + dcdr >> data.double_field(); + break; + + case 10: + dcdr >> data.bool_field(); + break; + + case 11: + dcdr >> data.string_field(); + break; + + case 12: + dcdr >> data.enum_field(); + break; + + case 13: + dcdr >> data.enum2_field(); + break; + + case 14: + dcdr >> data.struct_field(); + break; + + case 15: + dcdr >> data.array_char_field(); + break; + + case 16: + dcdr >> data.array_uint8_field(); + break; + + case 17: + dcdr >> data.array_int16_field(); + break; + + case 18: + dcdr >> data.array_uint16_field(); + break; + + case 19: + dcdr >> data.array_int32_field(); + break; + + case 20: + dcdr >> data.array_uint32_field(); + break; + + case 21: + dcdr >> data.array_int64_field(); + break; + + case 22: + dcdr >> data.array_uint64_field(); + break; + + case 23: + dcdr >> data.array_float_field(); + break; + + case 24: + dcdr >> data.array_double_field(); + break; + + case 25: + dcdr >> data.array_bool_field(); + break; + + case 26: + dcdr >> data.array_enum_field(); + break; + + case 27: + dcdr >> data.array_enum2_field(); + break; + + case 28: + dcdr >> data.array_struct_field(); + break; + + case 29: + dcdr >> data.bounded_sequence_char_field(); + break; + + case 30: + dcdr >> data.bounded_sequence_uint8_field(); + break; + + case 31: + dcdr >> data.bounded_sequence_int16_field(); + break; + + case 32: + dcdr >> data.bounded_sequence_uint16_field(); + break; + + case 33: + dcdr >> data.bounded_sequence_int32_field(); + break; + + case 34: + dcdr >> data.bounded_sequence_uint32_field(); + break; + + case 35: + dcdr >> data.bounded_sequence_int64_field(); + break; + + case 36: + dcdr >> data.bounded_sequence_uint64_field(); + break; + + case 37: + dcdr >> data.bounded_sequence_float_field(); + break; + + case 38: + dcdr >> data.bounded_sequence_double_field(); + break; + + case 39: + dcdr >> data.bounded_sequence_bool_field(); + break; + + case 40: + dcdr >> data.bounded_sequence_enum_field(); + break; + + case 41: + dcdr >> data.bounded_sequence_enum2_field(); + break; + + case 42: + dcdr >> data.bounded_sequence_struct_field(); + break; + + case 43: + dcdr >> data.unbounded_sequence_char_field(); + break; + + case 44: + dcdr >> data.unbounded_sequence_uint8_field(); + break; + + case 45: + dcdr >> data.unbounded_sequence_int16_field(); + break; + + case 46: + dcdr >> data.unbounded_sequence_uint16_field(); + break; + + case 47: + dcdr >> data.unbounded_sequence_int32_field(); + break; + + case 48: + dcdr >> data.unbounded_sequence_uint32_field(); + break; + + case 49: + dcdr >> data.unbounded_sequence_int64_field(); + break; + + case 50: + dcdr >> data.unbounded_sequence_uint64_field(); + break; + + case 51: + dcdr >> data.unbounded_sequence_float_field(); + break; + + case 52: + dcdr >> data.unbounded_sequence_double_field(); + break; + + case 53: + dcdr >> data.unbounded_sequence_bool_field(); + break; + + case 54: + dcdr >> data.unbounded_sequence_enum_field(); + break; + + case 55: + dcdr >> data.unbounded_sequence_enum2_field(); + break; + + case 56: + dcdr >> data.unbounded_sequence_struct_field(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::test::CompleteTestType& data) +{ + static_cast(scdr); + static_cast(data); +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const eprosima::test::KeyedCompleteTestType& data, + size_t& current_alignment) +{ + 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.id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(6), + data.uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(7), + data.int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(8), + data.uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(9), + data.float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(10), + data.double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(11), + data.bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(12), + data.string_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(13), + data.enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(14), + data.enum2_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(15), + data.struct_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(16), + data.array_char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(17), + data.array_uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(18), + data.array_int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(19), + data.array_uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(20), + data.array_int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(21), + data.array_uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(22), + data.array_int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(23), + data.array_uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(24), + data.array_float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(25), + data.array_double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(26), + data.array_bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(27), + data.array_enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(28), + data.array_enum2_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(29), + data.array_struct_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(30), + data.bounded_sequence_char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(31), + data.bounded_sequence_uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(32), + data.bounded_sequence_int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(33), + data.bounded_sequence_uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(34), + data.bounded_sequence_int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(35), + data.bounded_sequence_uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(36), + data.bounded_sequence_int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(37), + data.bounded_sequence_uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(38), + data.bounded_sequence_float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(39), + data.bounded_sequence_double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(40), + data.bounded_sequence_bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(41), + data.bounded_sequence_enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(42), + data.bounded_sequence_enum2_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(43), + data.bounded_sequence_struct_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(44), + data.unbounded_sequence_char_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(45), + data.unbounded_sequence_uint8_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(46), + data.unbounded_sequence_int16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(47), + data.unbounded_sequence_uint16_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(48), + data.unbounded_sequence_int32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(49), + data.unbounded_sequence_uint32_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(50), + data.unbounded_sequence_int64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(51), + data.unbounded_sequence_uint64_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(52), + data.unbounded_sequence_float_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(53), + data.unbounded_sequence_double_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(54), + data.unbounded_sequence_bool_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(55), + data.unbounded_sequence_enum_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(56), + data.unbounded_sequence_enum2_field(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(57), + data.unbounded_sequence_struct_field(), 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::test::KeyedCompleteTestType& data) +{ + 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.id() + << eprosima::fastcdr::MemberId(1) << data.char_field() + << eprosima::fastcdr::MemberId(2) << data.uint8_field() + << eprosima::fastcdr::MemberId(3) << data.int16_field() + << eprosima::fastcdr::MemberId(4) << data.uint16_field() + << eprosima::fastcdr::MemberId(5) << data.int32_field() + << eprosima::fastcdr::MemberId(6) << data.uint32_field() + << eprosima::fastcdr::MemberId(7) << data.int64_field() + << eprosima::fastcdr::MemberId(8) << data.uint64_field() + << eprosima::fastcdr::MemberId(9) << data.float_field() + << eprosima::fastcdr::MemberId(10) << data.double_field() + << eprosima::fastcdr::MemberId(11) << data.bool_field() + << eprosima::fastcdr::MemberId(12) << data.string_field() + << eprosima::fastcdr::MemberId(13) << data.enum_field() + << eprosima::fastcdr::MemberId(14) << data.enum2_field() + << eprosima::fastcdr::MemberId(15) << data.struct_field() + << eprosima::fastcdr::MemberId(16) << data.array_char_field() + << eprosima::fastcdr::MemberId(17) << data.array_uint8_field() + << eprosima::fastcdr::MemberId(18) << data.array_int16_field() + << eprosima::fastcdr::MemberId(19) << data.array_uint16_field() + << eprosima::fastcdr::MemberId(20) << data.array_int32_field() + << eprosima::fastcdr::MemberId(21) << data.array_uint32_field() + << eprosima::fastcdr::MemberId(22) << data.array_int64_field() + << eprosima::fastcdr::MemberId(23) << data.array_uint64_field() + << eprosima::fastcdr::MemberId(24) << data.array_float_field() + << eprosima::fastcdr::MemberId(25) << data.array_double_field() + << eprosima::fastcdr::MemberId(26) << data.array_bool_field() + << eprosima::fastcdr::MemberId(27) << data.array_enum_field() + << eprosima::fastcdr::MemberId(28) << data.array_enum2_field() + << eprosima::fastcdr::MemberId(29) << data.array_struct_field() + << eprosima::fastcdr::MemberId(30) << data.bounded_sequence_char_field() + << eprosima::fastcdr::MemberId(31) << data.bounded_sequence_uint8_field() + << eprosima::fastcdr::MemberId(32) << data.bounded_sequence_int16_field() + << eprosima::fastcdr::MemberId(33) << data.bounded_sequence_uint16_field() + << eprosima::fastcdr::MemberId(34) << data.bounded_sequence_int32_field() + << eprosima::fastcdr::MemberId(35) << data.bounded_sequence_uint32_field() + << eprosima::fastcdr::MemberId(36) << data.bounded_sequence_int64_field() + << eprosima::fastcdr::MemberId(37) << data.bounded_sequence_uint64_field() + << eprosima::fastcdr::MemberId(38) << data.bounded_sequence_float_field() + << eprosima::fastcdr::MemberId(39) << data.bounded_sequence_double_field() + << eprosima::fastcdr::MemberId(40) << data.bounded_sequence_bool_field() + << eprosima::fastcdr::MemberId(41) << data.bounded_sequence_enum_field() + << eprosima::fastcdr::MemberId(42) << data.bounded_sequence_enum2_field() + << eprosima::fastcdr::MemberId(43) << data.bounded_sequence_struct_field() + << eprosima::fastcdr::MemberId(44) << data.unbounded_sequence_char_field() + << eprosima::fastcdr::MemberId(45) << data.unbounded_sequence_uint8_field() + << eprosima::fastcdr::MemberId(46) << data.unbounded_sequence_int16_field() + << eprosima::fastcdr::MemberId(47) << data.unbounded_sequence_uint16_field() + << eprosima::fastcdr::MemberId(48) << data.unbounded_sequence_int32_field() + << eprosima::fastcdr::MemberId(49) << data.unbounded_sequence_uint32_field() + << eprosima::fastcdr::MemberId(50) << data.unbounded_sequence_int64_field() + << eprosima::fastcdr::MemberId(51) << data.unbounded_sequence_uint64_field() + << eprosima::fastcdr::MemberId(52) << data.unbounded_sequence_float_field() + << eprosima::fastcdr::MemberId(53) << data.unbounded_sequence_double_field() + << eprosima::fastcdr::MemberId(54) << data.unbounded_sequence_bool_field() + << eprosima::fastcdr::MemberId(55) << data.unbounded_sequence_enum_field() + << eprosima::fastcdr::MemberId(56) << data.unbounded_sequence_enum2_field() + << eprosima::fastcdr::MemberId(57) << data.unbounded_sequence_struct_field() +; + + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + eprosima::test::KeyedCompleteTestType& data) +{ + 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.id(); + break; + + case 1: + dcdr >> data.char_field(); + break; + + case 2: + dcdr >> data.uint8_field(); + break; + + case 3: + dcdr >> data.int16_field(); + break; + + case 4: + dcdr >> data.uint16_field(); + break; + + case 5: + dcdr >> data.int32_field(); + break; + + case 6: + dcdr >> data.uint32_field(); + break; + + case 7: + dcdr >> data.int64_field(); + break; + + case 8: + dcdr >> data.uint64_field(); + break; + + case 9: + dcdr >> data.float_field(); + break; + + case 10: + dcdr >> data.double_field(); + break; + + case 11: + dcdr >> data.bool_field(); + break; + + case 12: + dcdr >> data.string_field(); + break; + + case 13: + dcdr >> data.enum_field(); + break; + + case 14: + dcdr >> data.enum2_field(); + break; + + case 15: + dcdr >> data.struct_field(); + break; + + case 16: + dcdr >> data.array_char_field(); + break; + + case 17: + dcdr >> data.array_uint8_field(); + break; + + case 18: + dcdr >> data.array_int16_field(); + break; + + case 19: + dcdr >> data.array_uint16_field(); + break; + + case 20: + dcdr >> data.array_int32_field(); + break; + + case 21: + dcdr >> data.array_uint32_field(); + break; + + case 22: + dcdr >> data.array_int64_field(); + break; + + case 23: + dcdr >> data.array_uint64_field(); + break; + + case 24: + dcdr >> data.array_float_field(); + break; + + case 25: + dcdr >> data.array_double_field(); + break; + + case 26: + dcdr >> data.array_bool_field(); + break; + + case 27: + dcdr >> data.array_enum_field(); + break; + + case 28: + dcdr >> data.array_enum2_field(); + break; + + case 29: + dcdr >> data.array_struct_field(); + break; + + case 30: + dcdr >> data.bounded_sequence_char_field(); + break; + + case 31: + dcdr >> data.bounded_sequence_uint8_field(); + break; + + case 32: + dcdr >> data.bounded_sequence_int16_field(); + break; + + case 33: + dcdr >> data.bounded_sequence_uint16_field(); + break; + + case 34: + dcdr >> data.bounded_sequence_int32_field(); + break; + + case 35: + dcdr >> data.bounded_sequence_uint32_field(); + break; + + case 36: + dcdr >> data.bounded_sequence_int64_field(); + break; + + case 37: + dcdr >> data.bounded_sequence_uint64_field(); + break; + + case 38: + dcdr >> data.bounded_sequence_float_field(); + break; + + case 39: + dcdr >> data.bounded_sequence_double_field(); + break; + + case 40: + dcdr >> data.bounded_sequence_bool_field(); + break; + + case 41: + dcdr >> data.bounded_sequence_enum_field(); + break; + + case 42: + dcdr >> data.bounded_sequence_enum2_field(); + break; + + case 43: + dcdr >> data.bounded_sequence_struct_field(); + break; + + case 44: + dcdr >> data.unbounded_sequence_char_field(); + break; + + case 45: + dcdr >> data.unbounded_sequence_uint8_field(); + break; + + case 46: + dcdr >> data.unbounded_sequence_int16_field(); + break; + + case 47: + dcdr >> data.unbounded_sequence_uint16_field(); + break; + + case 48: + dcdr >> data.unbounded_sequence_int32_field(); + break; + + case 49: + dcdr >> data.unbounded_sequence_uint32_field(); + break; + + case 50: + dcdr >> data.unbounded_sequence_int64_field(); + break; + + case 51: + dcdr >> data.unbounded_sequence_uint64_field(); + break; + + case 52: + dcdr >> data.unbounded_sequence_float_field(); + break; + + case 53: + dcdr >> data.unbounded_sequence_double_field(); + break; + + case 54: + dcdr >> data.unbounded_sequence_bool_field(); + break; + + case 55: + dcdr >> data.unbounded_sequence_enum_field(); + break; + + case 56: + dcdr >> data.unbounded_sequence_enum2_field(); + break; + + case 57: + dcdr >> data.unbounded_sequence_struct_field(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const eprosima::test::KeyedCompleteTestType& data) +{ + static_cast(scdr); + static_cast(data); + scdr << data.id(); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} + + + + + +} // namespace fastcdr +} // namespace eprosima + +#endif // _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULESCDRAUX_IPP_ + diff --git a/fastdds_python/test/types/test_modulesPubSubTypes.cxx b/fastdds_python/test/types/test_modulesPubSubTypes.cxx new file mode 100644 index 00000000..180db69b --- /dev/null +++ b/fastdds_python/test/types/test_modulesPubSubTypes.cxx @@ -0,0 +1,499 @@ +// 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 test_modulesPubSubTypes.cpp + * This header file contains the implementation of the serialization functions. + * + * This file was generated by the tool fastddsgen. + */ + + +#include +#include +#include + +#include "test_modulesPubSubTypes.h" +#include "test_modulesCdrAux.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 test { + StructTypePubSubType::StructTypePubSubType() + { + setName("eprosima::test::StructType"); + uint32_t type_size = eprosima_test_StructType_max_cdr_typesize; + 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_test_StructType_max_key_cdr_typesize > 16 ? eprosima_test_StructType_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + StructTypePubSubType::~StructTypePubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool StructTypePubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + StructType* 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; + ser.set_encoding_flag( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR : + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2); + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + payload->length = static_cast(ser.get_serialized_data_length()); + return true; + } + + bool StructTypePubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + StructType* 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); + + // 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 StructTypePubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + 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*/; + }; + } + + void* StructTypePubSubType::createData() + { + return reinterpret_cast(new StructType()); + } + + void StructTypePubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool StructTypePubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + StructType* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_test_StructType_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS); + eprosima::fastcdr::serialize_key(ser, *p_type); + if (force_md5 || eprosima_test_StructType_max_key_cdr_typesize > 16) + { + m_md5.init(); + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + 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; + } + + + + CompleteTestTypePubSubType::CompleteTestTypePubSubType() + { + setName("eprosima::test::CompleteTestType"); + uint32_t type_size = eprosima_test_CompleteTestType_max_cdr_typesize; + 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_test_CompleteTestType_max_key_cdr_typesize > 16 ? eprosima_test_CompleteTestType_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + CompleteTestTypePubSubType::~CompleteTestTypePubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool CompleteTestTypePubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + CompleteTestType* 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; + ser.set_encoding_flag( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR : + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2); + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + payload->length = static_cast(ser.get_serialized_data_length()); + return true; + } + + bool CompleteTestTypePubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + CompleteTestType* 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); + + // 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 CompleteTestTypePubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + 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*/; + }; + } + + void* CompleteTestTypePubSubType::createData() + { + return reinterpret_cast(new CompleteTestType()); + } + + void CompleteTestTypePubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool CompleteTestTypePubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + CompleteTestType* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_test_CompleteTestType_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS); + eprosima::fastcdr::serialize_key(ser, *p_type); + if (force_md5 || eprosima_test_CompleteTestType_max_key_cdr_typesize > 16) + { + m_md5.init(); + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + 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; + } + + KeyedCompleteTestTypePubSubType::KeyedCompleteTestTypePubSubType() + { + setName("eprosima::test::KeyedCompleteTestType"); + uint32_t type_size = eprosima_test_KeyedCompleteTestType_max_cdr_typesize; + type_size += static_cast(eprosima::fastcdr::Cdr::alignment(type_size, 4)); /* possible submessage alignment */ + m_typeSize = type_size + 4; /*encapsulation*/ + m_isGetKeyDefined = true; + uint32_t keyLength = eprosima_test_KeyedCompleteTestType_max_key_cdr_typesize > 16 ? eprosima_test_KeyedCompleteTestType_max_key_cdr_typesize : 16; + m_keyBuffer = reinterpret_cast(malloc(keyLength)); + memset(m_keyBuffer, 0, keyLength); + } + + KeyedCompleteTestTypePubSubType::~KeyedCompleteTestTypePubSubType() + { + if (m_keyBuffer != nullptr) + { + free(m_keyBuffer); + } + } + + bool KeyedCompleteTestTypePubSubType::serialize( + void* data, + SerializedPayload_t* payload, + DataRepresentationId_t data_representation) + { + KeyedCompleteTestType* 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; + ser.set_encoding_flag( + data_representation == DataRepresentationId_t::XCDR_DATA_REPRESENTATION ? + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR : + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2); + + try + { + // Serialize encapsulation + ser.serialize_encapsulation(); + // Serialize the object. + ser << *p_type; + } + catch (eprosima::fastcdr::exception::Exception& /*exception*/) + { + return false; + } + + // Get the serialized length + payload->length = static_cast(ser.get_serialized_data_length()); + return true; + } + + bool KeyedCompleteTestTypePubSubType::deserialize( + SerializedPayload_t* payload, + void* data) + { + try + { + // Convert DATA to pointer of your type + KeyedCompleteTestType* 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); + + // 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 KeyedCompleteTestTypePubSubType::getSerializedSizeProvider( + void* data, + DataRepresentationId_t data_representation) + { + return [data, data_representation]() -> uint32_t + { + 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*/; + }; + } + + void* KeyedCompleteTestTypePubSubType::createData() + { + return reinterpret_cast(new KeyedCompleteTestType()); + } + + void KeyedCompleteTestTypePubSubType::deleteData( + void* data) + { + delete(reinterpret_cast(data)); + } + + bool KeyedCompleteTestTypePubSubType::getKey( + void* data, + InstanceHandle_t* handle, + bool force_md5) + { + if (!m_isGetKeyDefined) + { + return false; + } + + KeyedCompleteTestType* p_type = static_cast(data); + + // Object that manages the raw buffer. + eprosima::fastcdr::FastBuffer fastbuffer(reinterpret_cast(m_keyBuffer), + eprosima_test_KeyedCompleteTestType_max_key_cdr_typesize); + + // Object that serializes the data. + eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS); + eprosima::fastcdr::serialize_key(ser, *p_type); + if (force_md5 || eprosima_test_KeyedCompleteTestType_max_key_cdr_typesize > 16) + { + m_md5.init(); + m_md5.update(m_keyBuffer, static_cast(ser.get_serialized_data_length())); + 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 test + + +} //End of namespace eprosima + diff --git a/fastdds_python/test/types/test_modulesPubSubTypes.h b/fastdds_python/test/types/test_modulesPubSubTypes.h new file mode 100644 index 00000000..22e91227 --- /dev/null +++ b/fastdds_python/test/types/test_modulesPubSubTypes.h @@ -0,0 +1,314 @@ +// 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 test_modulesPubSubTypes.h + * This header file contains the declaration of the serialization functions. + * + * This file was generated by the tool fastddsgen. + */ + + +#ifndef _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULES_PUBSUBTYPES_H_ +#define _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULES_PUBSUBTYPES_H_ + +#include +#include +#include +#include +#include + +#include "test_modules.h" + + +#if !defined(GEN_API_VER) || (GEN_API_VER != 2) +#error \ + Generated test_modules is not compatible with current installed Fast DDS. Please, regenerate it with fastddsgen. +#endif // GEN_API_VER + +namespace eprosima +{ + namespace test + { + + /*! + * @brief This class represents the TopicDataType of the type StructType defined by the user in the IDL file. + * @ingroup test_modules + */ + class StructTypePubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef StructType type; + + eProsima_user_DllExport StructTypePubSubType(); + + eProsima_user_DllExport ~StructTypePubSubType() 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 CompleteTestType defined by the user in the IDL file. + * @ingroup test_modules + */ + class CompleteTestTypePubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef CompleteTestType type; + + eProsima_user_DllExport CompleteTestTypePubSubType(); + + eProsima_user_DllExport ~CompleteTestTypePubSubType() 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 KeyedCompleteTestType defined by the user in the IDL file. + * @ingroup test_modules + */ + class KeyedCompleteTestTypePubSubType : public eprosima::fastdds::dds::TopicDataType + { + public: + + typedef KeyedCompleteTestType type; + + eProsima_user_DllExport KeyedCompleteTestTypePubSubType(); + + eProsima_user_DllExport ~KeyedCompleteTestTypePubSubType() 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; + + }; + } +} + +#endif // _FAST_DDS_GENERATED_EPROSIMA_TEST_TEST_MODULES_PUBSUBTYPES_H_ + diff --git a/fastdds_python/test/types/test_modulesPubSubTypes.i b/fastdds_python/test/types/test_modulesPubSubTypes.i new file mode 100644 index 00000000..f3b1a453 --- /dev/null +++ b/fastdds_python/test/types/test_modulesPubSubTypes.i @@ -0,0 +1,30 @@ +// 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 test_modulesPubSubTypes.i + * This header file contains the SWIG interface of the serialization functions. + * + * This file was generated by the tool fastddsgen. + */ + +%import(module="fastdds") "fastdds/dds/topic/TopicDataType.hpp"; + +%{ +#include "test_modulesPubSubTypes.h" +%} + +#define GEN_API_VER 2 + +%include "test_modulesPubSubTypes.h"