// 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 DDSSampleMachine.hpp
 * 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__SAMPLEMODULE_DDSSAMPLEMACHINE_HPP
#define FAST_DDS_GENERATED__SAMPLEMODULE_DDSSAMPLEMACHINE_HPP

#include <cstdint>
#include <utility>

#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(DDSSAMPLEMACHINE_SOURCE)
#define DDSSAMPLEMACHINE_DllAPI __declspec( dllexport )
#else
#define DDSSAMPLEMACHINE_DllAPI __declspec( dllimport )
#endif // DDSSAMPLEMACHINE_SOURCE
#else
#define DDSSAMPLEMACHINE_DllAPI
#endif  // EPROSIMA_USER_DLL_EXPORT
#else
#define DDSSAMPLEMACHINE_DllAPI
#endif // _WIN32

namespace SampleModule {

/*!
 * @brief This class represents the enumeration CommandState defined by the user in the IDL file.
 * @ingroup DDSSampleMachine
 */
enum class CommandState : int32_t
{
    STOP,
    START
};
/*!
 * @brief This class represents the structure SampleConfig defined by the user in the IDL file.
 * @ingroup DDSSampleMachine
 */
class SampleConfig
{
public:

    /*!
     * @brief Default constructor.
     */
    eProsima_user_DllExport SampleConfig()
    {
    }

    /*!
     * @brief Default destructor.
     */
    eProsima_user_DllExport ~SampleConfig()
    {
    }

    /*!
     * @brief Copy constructor.
     * @param x Reference to the object SampleConfig that will be copied.
     */
    eProsima_user_DllExport SampleConfig(
            const SampleConfig& x)
    {
                    m_unifiedDepth = x.m_unifiedDepth;

                    m_sampleOrder = x.m_sampleOrder;

    }

    /*!
     * @brief Move constructor.
     * @param x Reference to the object SampleConfig that will be copied.
     */
    eProsima_user_DllExport SampleConfig(
            SampleConfig&& x) noexcept
    {
        m_unifiedDepth = x.m_unifiedDepth;
        m_sampleOrder = x.m_sampleOrder;
    }

    /*!
     * @brief Copy assignment.
     * @param x Reference to the object SampleConfig that will be copied.
     */
    eProsima_user_DllExport SampleConfig& operator =(
            const SampleConfig& x)
    {

                    m_unifiedDepth = x.m_unifiedDepth;

                    m_sampleOrder = x.m_sampleOrder;

        return *this;
    }

    /*!
     * @brief Move assignment.
     * @param x Reference to the object SampleConfig that will be copied.
     */
    eProsima_user_DllExport SampleConfig& operator =(
            SampleConfig&& x) noexcept
    {

        m_unifiedDepth = x.m_unifiedDepth;
        m_sampleOrder = x.m_sampleOrder;
        return *this;
    }

    /*!
     * @brief Comparison operator.
     * @param x SampleConfig object to compare.
     */
    eProsima_user_DllExport bool operator ==(
            const SampleConfig& x) const
    {
        return (m_unifiedDepth == x.m_unifiedDepth &&
           m_sampleOrder == x.m_sampleOrder);
    }

    /*!
     * @brief Comparison operator.
     * @param x SampleConfig object to compare.
     */
    eProsima_user_DllExport bool operator !=(
            const SampleConfig& x) const
    {
        return !(*this == x);
    }

    /*!
     * @brief This function sets a value in member unifiedDepth
     * @param _unifiedDepth New value for member unifiedDepth
     */
    eProsima_user_DllExport void unifiedDepth(
            uint16_t _unifiedDepth)
    {
        m_unifiedDepth = _unifiedDepth;
    }

    /*!
     * @brief This function returns the value of member unifiedDepth
     * @return Value of member unifiedDepth
     */
    eProsima_user_DllExport uint16_t unifiedDepth() const
    {
        return m_unifiedDepth;
    }

    /*!
     * @brief This function returns a reference to member unifiedDepth
     * @return Reference to member unifiedDepth
     */
    eProsima_user_DllExport uint16_t& unifiedDepth()
    {
        return m_unifiedDepth;
    }


    /*!
     * @brief This function sets a value in member sampleOrder
     * @param _sampleOrder New value for member sampleOrder
     */
    eProsima_user_DllExport void sampleOrder(
            uint8_t _sampleOrder)
    {
        m_sampleOrder = _sampleOrder;
    }

    /*!
     * @brief This function returns the value of member sampleOrder
     * @return Value of member sampleOrder
     */
    eProsima_user_DllExport uint8_t sampleOrder() const
    {
        return m_sampleOrder;
    }

    /*!
     * @brief This function returns a reference to member sampleOrder
     * @return Reference to member sampleOrder
     */
    eProsima_user_DllExport uint8_t& sampleOrder()
    {
        return m_sampleOrder;
    }



private:

    uint16_t m_unifiedDepth{0};
    uint8_t m_sampleOrder{0};

};
/*!
 * @brief This class represents the structure SampleCommand defined by the user in the IDL file.
 * @ingroup DDSSampleMachine
 */
class SampleCommand
{
public:

    /*!
     * @brief Default constructor.
     */
    eProsima_user_DllExport SampleCommand()
    {
    }

    /*!
     * @brief Default destructor.
     */
    eProsima_user_DllExport ~SampleCommand()
    {
    }

    /*!
     * @brief Copy constructor.
     * @param x Reference to the object SampleCommand that will be copied.
     */
    eProsima_user_DllExport SampleCommand(
            const SampleCommand& x)
    {
                    m_maskBits = x.m_maskBits;

                    m_controlType = x.m_controlType;

                    m_startSample = x.m_startSample;

                    m_stopSample = x.m_stopSample;

                    m_reset = x.m_reset;

                    m_positionCheck = x.m_positionCheck;

                    m_emergencyUp = x.m_emergencyUp;

                    m_emergencyStop = x.m_emergencyStop;

                    m_controlBelt1 = x.m_controlBelt1;

                    m_controlBelt2 = x.m_controlBelt2;

                    m_controlCrush1 = x.m_controlCrush1;

                    m_controlCrush2 = x.m_controlCrush2;

                    m_controlDivider = x.m_controlDivider;

                    m_controlCoalDistributor = x.m_controlCoalDistributor;

                    m_reductionRatio = x.m_reductionRatio;

                    m_version = x.m_version;

    }

    /*!
     * @brief Move constructor.
     * @param x Reference to the object SampleCommand that will be copied.
     */
    eProsima_user_DllExport SampleCommand(
            SampleCommand&& x) noexcept
    {
        m_maskBits = x.m_maskBits;
        m_controlType = x.m_controlType;
        m_startSample = x.m_startSample;
        m_stopSample = x.m_stopSample;
        m_reset = x.m_reset;
        m_positionCheck = x.m_positionCheck;
        m_emergencyUp = x.m_emergencyUp;
        m_emergencyStop = x.m_emergencyStop;
        m_controlBelt1 = x.m_controlBelt1;
        m_controlBelt2 = x.m_controlBelt2;
        m_controlCrush1 = x.m_controlCrush1;
        m_controlCrush2 = x.m_controlCrush2;
        m_controlDivider = x.m_controlDivider;
        m_controlCoalDistributor = x.m_controlCoalDistributor;
        m_reductionRatio = x.m_reductionRatio;
        m_version = x.m_version;
    }

    /*!
     * @brief Copy assignment.
     * @param x Reference to the object SampleCommand that will be copied.
     */
    eProsima_user_DllExport SampleCommand& operator =(
            const SampleCommand& x)
    {

                    m_maskBits = x.m_maskBits;

                    m_controlType = x.m_controlType;

                    m_startSample = x.m_startSample;

                    m_stopSample = x.m_stopSample;

                    m_reset = x.m_reset;

                    m_positionCheck = x.m_positionCheck;

                    m_emergencyUp = x.m_emergencyUp;

                    m_emergencyStop = x.m_emergencyStop;

                    m_controlBelt1 = x.m_controlBelt1;

                    m_controlBelt2 = x.m_controlBelt2;

                    m_controlCrush1 = x.m_controlCrush1;

                    m_controlCrush2 = x.m_controlCrush2;

                    m_controlDivider = x.m_controlDivider;

                    m_controlCoalDistributor = x.m_controlCoalDistributor;

                    m_reductionRatio = x.m_reductionRatio;

                    m_version = x.m_version;

        return *this;
    }

    /*!
     * @brief Move assignment.
     * @param x Reference to the object SampleCommand that will be copied.
     */
    eProsima_user_DllExport SampleCommand& operator =(
            SampleCommand&& x) noexcept
    {

        m_maskBits = x.m_maskBits;
        m_controlType = x.m_controlType;
        m_startSample = x.m_startSample;
        m_stopSample = x.m_stopSample;
        m_reset = x.m_reset;
        m_positionCheck = x.m_positionCheck;
        m_emergencyUp = x.m_emergencyUp;
        m_emergencyStop = x.m_emergencyStop;
        m_controlBelt1 = x.m_controlBelt1;
        m_controlBelt2 = x.m_controlBelt2;
        m_controlCrush1 = x.m_controlCrush1;
        m_controlCrush2 = x.m_controlCrush2;
        m_controlDivider = x.m_controlDivider;
        m_controlCoalDistributor = x.m_controlCoalDistributor;
        m_reductionRatio = x.m_reductionRatio;
        m_version = x.m_version;
        return *this;
    }

    /*!
     * @brief Comparison operator.
     * @param x SampleCommand object to compare.
     */
    eProsima_user_DllExport bool operator ==(
            const SampleCommand& x) const
    {
        return (m_maskBits == x.m_maskBits &&
           m_controlType == x.m_controlType &&
           m_startSample == x.m_startSample &&
           m_stopSample == x.m_stopSample &&
           m_reset == x.m_reset &&
           m_positionCheck == x.m_positionCheck &&
           m_emergencyUp == x.m_emergencyUp &&
           m_emergencyStop == x.m_emergencyStop &&
           m_controlBelt1 == x.m_controlBelt1 &&
           m_controlBelt2 == x.m_controlBelt2 &&
           m_controlCrush1 == x.m_controlCrush1 &&
           m_controlCrush2 == x.m_controlCrush2 &&
           m_controlDivider == x.m_controlDivider &&
           m_controlCoalDistributor == x.m_controlCoalDistributor &&
           m_reductionRatio == x.m_reductionRatio &&
           m_version == x.m_version);
    }

    /*!
     * @brief Comparison operator.
     * @param x SampleCommand object to compare.
     */
    eProsima_user_DllExport bool operator !=(
            const SampleCommand& x) const
    {
        return !(*this == x);
    }

    /*!
     * @brief This function sets a value in member maskBits
     * @param _maskBits New value for member maskBits
     */
    eProsima_user_DllExport void maskBits(
            uint32_t _maskBits)
    {
        m_maskBits = _maskBits;
    }

    /*!
     * @brief This function returns the value of member maskBits
     * @return Value of member maskBits
     */
    eProsima_user_DllExport uint32_t maskBits() const
    {
        return m_maskBits;
    }

    /*!
     * @brief This function returns a reference to member maskBits
     * @return Reference to member maskBits
     */
    eProsima_user_DllExport uint32_t& maskBits()
    {
        return m_maskBits;
    }


    /*!
     * @brief This function sets a value in member controlType
     * @param _controlType New value for member controlType
     */
    eProsima_user_DllExport void controlType(
            uint8_t _controlType)
    {
        m_controlType = _controlType;
    }

    /*!
     * @brief This function returns the value of member controlType
     * @return Value of member controlType
     */
    eProsima_user_DllExport uint8_t controlType() const
    {
        return m_controlType;
    }

    /*!
     * @brief This function returns a reference to member controlType
     * @return Reference to member controlType
     */
    eProsima_user_DllExport uint8_t& controlType()
    {
        return m_controlType;
    }


    /*!
     * @brief This function sets a value in member startSample
     * @param _startSample New value for member startSample
     */
    eProsima_user_DllExport void startSample(
            CommandState _startSample)
    {
        m_startSample = _startSample;
    }

    /*!
     * @brief This function returns the value of member startSample
     * @return Value of member startSample
     */
    eProsima_user_DllExport CommandState startSample() const
    {
        return m_startSample;
    }

    /*!
     * @brief This function returns a reference to member startSample
     * @return Reference to member startSample
     */
    eProsima_user_DllExport CommandState& startSample()
    {
        return m_startSample;
    }


    /*!
     * @brief This function sets a value in member stopSample
     * @param _stopSample New value for member stopSample
     */
    eProsima_user_DllExport void stopSample(
            CommandState _stopSample)
    {
        m_stopSample = _stopSample;
    }

    /*!
     * @brief This function returns the value of member stopSample
     * @return Value of member stopSample
     */
    eProsima_user_DllExport CommandState stopSample() const
    {
        return m_stopSample;
    }

    /*!
     * @brief This function returns a reference to member stopSample
     * @return Reference to member stopSample
     */
    eProsima_user_DllExport CommandState& stopSample()
    {
        return m_stopSample;
    }


    /*!
     * @brief This function sets a value in member reset
     * @param _reset New value for member reset
     */
    eProsima_user_DllExport void reset(
            CommandState _reset)
    {
        m_reset = _reset;
    }

    /*!
     * @brief This function returns the value of member reset
     * @return Value of member reset
     */
    eProsima_user_DllExport CommandState reset() const
    {
        return m_reset;
    }

    /*!
     * @brief This function returns a reference to member reset
     * @return Reference to member reset
     */
    eProsima_user_DllExport CommandState& reset()
    {
        return m_reset;
    }


    /*!
     * @brief This function sets a value in member positionCheck
     * @param _positionCheck New value for member positionCheck
     */
    eProsima_user_DllExport void positionCheck(
            CommandState _positionCheck)
    {
        m_positionCheck = _positionCheck;
    }

    /*!
     * @brief This function returns the value of member positionCheck
     * @return Value of member positionCheck
     */
    eProsima_user_DllExport CommandState positionCheck() const
    {
        return m_positionCheck;
    }

    /*!
     * @brief This function returns a reference to member positionCheck
     * @return Reference to member positionCheck
     */
    eProsima_user_DllExport CommandState& positionCheck()
    {
        return m_positionCheck;
    }


    /*!
     * @brief This function sets a value in member emergencyUp
     * @param _emergencyUp New value for member emergencyUp
     */
    eProsima_user_DllExport void emergencyUp(
            CommandState _emergencyUp)
    {
        m_emergencyUp = _emergencyUp;
    }

    /*!
     * @brief This function returns the value of member emergencyUp
     * @return Value of member emergencyUp
     */
    eProsima_user_DllExport CommandState emergencyUp() const
    {
        return m_emergencyUp;
    }

    /*!
     * @brief This function returns a reference to member emergencyUp
     * @return Reference to member emergencyUp
     */
    eProsima_user_DllExport CommandState& emergencyUp()
    {
        return m_emergencyUp;
    }


    /*!
     * @brief This function sets a value in member emergencyStop
     * @param _emergencyStop New value for member emergencyStop
     */
    eProsima_user_DllExport void emergencyStop(
            CommandState _emergencyStop)
    {
        m_emergencyStop = _emergencyStop;
    }

    /*!
     * @brief This function returns the value of member emergencyStop
     * @return Value of member emergencyStop
     */
    eProsima_user_DllExport CommandState emergencyStop() const
    {
        return m_emergencyStop;
    }

    /*!
     * @brief This function returns a reference to member emergencyStop
     * @return Reference to member emergencyStop
     */
    eProsima_user_DllExport CommandState& emergencyStop()
    {
        return m_emergencyStop;
    }


    /*!
     * @brief This function sets a value in member controlBelt1
     * @param _controlBelt1 New value for member controlBelt1
     */
    eProsima_user_DllExport void controlBelt1(
            CommandState _controlBelt1)
    {
        m_controlBelt1 = _controlBelt1;
    }

    /*!
     * @brief This function returns the value of member controlBelt1
     * @return Value of member controlBelt1
     */
    eProsima_user_DllExport CommandState controlBelt1() const
    {
        return m_controlBelt1;
    }

    /*!
     * @brief This function returns a reference to member controlBelt1
     * @return Reference to member controlBelt1
     */
    eProsima_user_DllExport CommandState& controlBelt1()
    {
        return m_controlBelt1;
    }


    /*!
     * @brief This function sets a value in member controlBelt2
     * @param _controlBelt2 New value for member controlBelt2
     */
    eProsima_user_DllExport void controlBelt2(
            CommandState _controlBelt2)
    {
        m_controlBelt2 = _controlBelt2;
    }

    /*!
     * @brief This function returns the value of member controlBelt2
     * @return Value of member controlBelt2
     */
    eProsima_user_DllExport CommandState controlBelt2() const
    {
        return m_controlBelt2;
    }

    /*!
     * @brief This function returns a reference to member controlBelt2
     * @return Reference to member controlBelt2
     */
    eProsima_user_DllExport CommandState& controlBelt2()
    {
        return m_controlBelt2;
    }


    /*!
     * @brief This function sets a value in member controlCrush1
     * @param _controlCrush1 New value for member controlCrush1
     */
    eProsima_user_DllExport void controlCrush1(
            CommandState _controlCrush1)
    {
        m_controlCrush1 = _controlCrush1;
    }

    /*!
     * @brief This function returns the value of member controlCrush1
     * @return Value of member controlCrush1
     */
    eProsima_user_DllExport CommandState controlCrush1() const
    {
        return m_controlCrush1;
    }

    /*!
     * @brief This function returns a reference to member controlCrush1
     * @return Reference to member controlCrush1
     */
    eProsima_user_DllExport CommandState& controlCrush1()
    {
        return m_controlCrush1;
    }


    /*!
     * @brief This function sets a value in member controlCrush2
     * @param _controlCrush2 New value for member controlCrush2
     */
    eProsima_user_DllExport void controlCrush2(
            CommandState _controlCrush2)
    {
        m_controlCrush2 = _controlCrush2;
    }

    /*!
     * @brief This function returns the value of member controlCrush2
     * @return Value of member controlCrush2
     */
    eProsima_user_DllExport CommandState controlCrush2() const
    {
        return m_controlCrush2;
    }

    /*!
     * @brief This function returns a reference to member controlCrush2
     * @return Reference to member controlCrush2
     */
    eProsima_user_DllExport CommandState& controlCrush2()
    {
        return m_controlCrush2;
    }


    /*!
     * @brief This function sets a value in member controlDivider
     * @param _controlDivider New value for member controlDivider
     */
    eProsima_user_DllExport void controlDivider(
            CommandState _controlDivider)
    {
        m_controlDivider = _controlDivider;
    }

    /*!
     * @brief This function returns the value of member controlDivider
     * @return Value of member controlDivider
     */
    eProsima_user_DllExport CommandState controlDivider() const
    {
        return m_controlDivider;
    }

    /*!
     * @brief This function returns a reference to member controlDivider
     * @return Reference to member controlDivider
     */
    eProsima_user_DllExport CommandState& controlDivider()
    {
        return m_controlDivider;
    }


    /*!
     * @brief This function sets a value in member controlCoalDistributor
     * @param _controlCoalDistributor New value for member controlCoalDistributor
     */
    eProsima_user_DllExport void controlCoalDistributor(
            CommandState _controlCoalDistributor)
    {
        m_controlCoalDistributor = _controlCoalDistributor;
    }

    /*!
     * @brief This function returns the value of member controlCoalDistributor
     * @return Value of member controlCoalDistributor
     */
    eProsima_user_DllExport CommandState controlCoalDistributor() const
    {
        return m_controlCoalDistributor;
    }

    /*!
     * @brief This function returns a reference to member controlCoalDistributor
     * @return Reference to member controlCoalDistributor
     */
    eProsima_user_DllExport CommandState& controlCoalDistributor()
    {
        return m_controlCoalDistributor;
    }


    /*!
     * @brief This function sets a value in member reductionRatio
     * @param _reductionRatio New value for member reductionRatio
     */
    eProsima_user_DllExport void reductionRatio(
            uint16_t _reductionRatio)
    {
        m_reductionRatio = _reductionRatio;
    }

    /*!
     * @brief This function returns the value of member reductionRatio
     * @return Value of member reductionRatio
     */
    eProsima_user_DllExport uint16_t reductionRatio() const
    {
        return m_reductionRatio;
    }

    /*!
     * @brief This function returns a reference to member reductionRatio
     * @return Reference to member reductionRatio
     */
    eProsima_user_DllExport uint16_t& reductionRatio()
    {
        return m_reductionRatio;
    }


    /*!
     * @brief This function sets a value in member version
     * @param _version New value for member version
     */
    eProsima_user_DllExport void version(
            uint8_t _version)
    {
        m_version = _version;
    }

    /*!
     * @brief This function returns the value of member version
     * @return Value of member version
     */
    eProsima_user_DllExport uint8_t version() const
    {
        return m_version;
    }

    /*!
     * @brief This function returns a reference to member version
     * @return Reference to member version
     */
    eProsima_user_DllExport uint8_t& version()
    {
        return m_version;
    }



private:

    uint32_t m_maskBits{0};
    uint8_t m_controlType{0};
    CommandState m_startSample{CommandState::STOP};
    CommandState m_stopSample{CommandState::STOP};
    CommandState m_reset{CommandState::STOP};
    CommandState m_positionCheck{CommandState::STOP};
    CommandState m_emergencyUp{CommandState::STOP};
    CommandState m_emergencyStop{CommandState::STOP};
    CommandState m_controlBelt1{CommandState::STOP};
    CommandState m_controlBelt2{CommandState::STOP};
    CommandState m_controlCrush1{CommandState::STOP};
    CommandState m_controlCrush2{CommandState::STOP};
    CommandState m_controlDivider{CommandState::STOP};
    CommandState m_controlCoalDistributor{CommandState::STOP};
    uint16_t m_reductionRatio{0};
    uint8_t m_version{0};

};
/*!
 * @brief This class represents the enumeration DeviceState defined by the user in the IDL file.
 * @ingroup DDSSampleMachine
 */
enum class DeviceState : int32_t
{
    OFF,
    ON,
    ERROR
};
/*!
 * @brief This class represents the structure SampleMachineInfo defined by the user in the IDL file.
 * @ingroup DDSSampleMachine
 */
class SampleMachineInfo
{
public:

    /*!
     * @brief Default constructor.
     */
    eProsima_user_DllExport SampleMachineInfo()
    {
    }

    /*!
     * @brief Default destructor.
     */
    eProsima_user_DllExport ~SampleMachineInfo()
    {
    }

    /*!
     * @brief Copy constructor.
     * @param x Reference to the object SampleMachineInfo that will be copied.
     */
    eProsima_user_DllExport SampleMachineInfo(
            const SampleMachineInfo& x)
    {
                    m_maskBits = x.m_maskBits;

                    m_bigPoint = x.m_bigPoint;

                    m_smallPoint = x.m_smallPoint;

                    m_depthPoint = x.m_depthPoint;

                    m_hasToXY = x.m_hasToXY;

                    m_hasSamplePoints = x.m_hasSamplePoints;

                    m_gameOver = x.m_gameOver;

                    m_backState = x.m_backState;

                    m_sampleState = x.m_sampleState;

                    m_belt1State = x.m_belt1State;

                    m_belt2State = x.m_belt2State;

                    m_crush1State = x.m_crush1State;

                    m_crush2State = x.m_crush2State;

                    m_dividerState = x.m_dividerState;

                    m_bigLimit = x.m_bigLimit;

                    m_bigZeroLimit = x.m_bigZeroLimit;

                    m_smallLimit = x.m_smallLimit;

                    m_smallZeroLimit = x.m_smallZeroLimit;

                    m_upLimit = x.m_upLimit;

                    m_downLimit = x.m_downLimit;

                    m_version = x.m_version;

    }

    /*!
     * @brief Move constructor.
     * @param x Reference to the object SampleMachineInfo that will be copied.
     */
    eProsima_user_DllExport SampleMachineInfo(
            SampleMachineInfo&& x) noexcept
    {
        m_maskBits = x.m_maskBits;
        m_bigPoint = x.m_bigPoint;
        m_smallPoint = x.m_smallPoint;
        m_depthPoint = x.m_depthPoint;
        m_hasToXY = x.m_hasToXY;
        m_hasSamplePoints = x.m_hasSamplePoints;
        m_gameOver = x.m_gameOver;
        m_backState = x.m_backState;
        m_sampleState = x.m_sampleState;
        m_belt1State = x.m_belt1State;
        m_belt2State = x.m_belt2State;
        m_crush1State = x.m_crush1State;
        m_crush2State = x.m_crush2State;
        m_dividerState = x.m_dividerState;
        m_bigLimit = x.m_bigLimit;
        m_bigZeroLimit = x.m_bigZeroLimit;
        m_smallLimit = x.m_smallLimit;
        m_smallZeroLimit = x.m_smallZeroLimit;
        m_upLimit = x.m_upLimit;
        m_downLimit = x.m_downLimit;
        m_version = x.m_version;
    }

    /*!
     * @brief Copy assignment.
     * @param x Reference to the object SampleMachineInfo that will be copied.
     */
    eProsima_user_DllExport SampleMachineInfo& operator =(
            const SampleMachineInfo& x)
    {

                    m_maskBits = x.m_maskBits;

                    m_bigPoint = x.m_bigPoint;

                    m_smallPoint = x.m_smallPoint;

                    m_depthPoint = x.m_depthPoint;

                    m_hasToXY = x.m_hasToXY;

                    m_hasSamplePoints = x.m_hasSamplePoints;

                    m_gameOver = x.m_gameOver;

                    m_backState = x.m_backState;

                    m_sampleState = x.m_sampleState;

                    m_belt1State = x.m_belt1State;

                    m_belt2State = x.m_belt2State;

                    m_crush1State = x.m_crush1State;

                    m_crush2State = x.m_crush2State;

                    m_dividerState = x.m_dividerState;

                    m_bigLimit = x.m_bigLimit;

                    m_bigZeroLimit = x.m_bigZeroLimit;

                    m_smallLimit = x.m_smallLimit;

                    m_smallZeroLimit = x.m_smallZeroLimit;

                    m_upLimit = x.m_upLimit;

                    m_downLimit = x.m_downLimit;

                    m_version = x.m_version;

        return *this;
    }

    /*!
     * @brief Move assignment.
     * @param x Reference to the object SampleMachineInfo that will be copied.
     */
    eProsima_user_DllExport SampleMachineInfo& operator =(
            SampleMachineInfo&& x) noexcept
    {

        m_maskBits = x.m_maskBits;
        m_bigPoint = x.m_bigPoint;
        m_smallPoint = x.m_smallPoint;
        m_depthPoint = x.m_depthPoint;
        m_hasToXY = x.m_hasToXY;
        m_hasSamplePoints = x.m_hasSamplePoints;
        m_gameOver = x.m_gameOver;
        m_backState = x.m_backState;
        m_sampleState = x.m_sampleState;
        m_belt1State = x.m_belt1State;
        m_belt2State = x.m_belt2State;
        m_crush1State = x.m_crush1State;
        m_crush2State = x.m_crush2State;
        m_dividerState = x.m_dividerState;
        m_bigLimit = x.m_bigLimit;
        m_bigZeroLimit = x.m_bigZeroLimit;
        m_smallLimit = x.m_smallLimit;
        m_smallZeroLimit = x.m_smallZeroLimit;
        m_upLimit = x.m_upLimit;
        m_downLimit = x.m_downLimit;
        m_version = x.m_version;
        return *this;
    }

    /*!
     * @brief Comparison operator.
     * @param x SampleMachineInfo object to compare.
     */
    eProsima_user_DllExport bool operator ==(
            const SampleMachineInfo& x) const
    {
        return (m_maskBits == x.m_maskBits &&
           m_bigPoint == x.m_bigPoint &&
           m_smallPoint == x.m_smallPoint &&
           m_depthPoint == x.m_depthPoint &&
           m_hasToXY == x.m_hasToXY &&
           m_hasSamplePoints == x.m_hasSamplePoints &&
           m_gameOver == x.m_gameOver &&
           m_backState == x.m_backState &&
           m_sampleState == x.m_sampleState &&
           m_belt1State == x.m_belt1State &&
           m_belt2State == x.m_belt2State &&
           m_crush1State == x.m_crush1State &&
           m_crush2State == x.m_crush2State &&
           m_dividerState == x.m_dividerState &&
           m_bigLimit == x.m_bigLimit &&
           m_bigZeroLimit == x.m_bigZeroLimit &&
           m_smallLimit == x.m_smallLimit &&
           m_smallZeroLimit == x.m_smallZeroLimit &&
           m_upLimit == x.m_upLimit &&
           m_downLimit == x.m_downLimit &&
           m_version == x.m_version);
    }

    /*!
     * @brief Comparison operator.
     * @param x SampleMachineInfo object to compare.
     */
    eProsima_user_DllExport bool operator !=(
            const SampleMachineInfo& x) const
    {
        return !(*this == x);
    }

    /*!
     * @brief This function sets a value in member maskBits
     * @param _maskBits New value for member maskBits
     */
    eProsima_user_DllExport void maskBits(
            uint32_t _maskBits)
    {
        m_maskBits = _maskBits;
    }

    /*!
     * @brief This function returns the value of member maskBits
     * @return Value of member maskBits
     */
    eProsima_user_DllExport uint32_t maskBits() const
    {
        return m_maskBits;
    }

    /*!
     * @brief This function returns a reference to member maskBits
     * @return Reference to member maskBits
     */
    eProsima_user_DllExport uint32_t& maskBits()
    {
        return m_maskBits;
    }


    /*!
     * @brief This function sets a value in member bigPoint
     * @param _bigPoint New value for member bigPoint
     */
    eProsima_user_DllExport void bigPoint(
            uint16_t _bigPoint)
    {
        m_bigPoint = _bigPoint;
    }

    /*!
     * @brief This function returns the value of member bigPoint
     * @return Value of member bigPoint
     */
    eProsima_user_DllExport uint16_t bigPoint() const
    {
        return m_bigPoint;
    }

    /*!
     * @brief This function returns a reference to member bigPoint
     * @return Reference to member bigPoint
     */
    eProsima_user_DllExport uint16_t& bigPoint()
    {
        return m_bigPoint;
    }


    /*!
     * @brief This function sets a value in member smallPoint
     * @param _smallPoint New value for member smallPoint
     */
    eProsima_user_DllExport void smallPoint(
            uint16_t _smallPoint)
    {
        m_smallPoint = _smallPoint;
    }

    /*!
     * @brief This function returns the value of member smallPoint
     * @return Value of member smallPoint
     */
    eProsima_user_DllExport uint16_t smallPoint() const
    {
        return m_smallPoint;
    }

    /*!
     * @brief This function returns a reference to member smallPoint
     * @return Reference to member smallPoint
     */
    eProsima_user_DllExport uint16_t& smallPoint()
    {
        return m_smallPoint;
    }


    /*!
     * @brief This function sets a value in member depthPoint
     * @param _depthPoint New value for member depthPoint
     */
    eProsima_user_DllExport void depthPoint(
            uint16_t _depthPoint)
    {
        m_depthPoint = _depthPoint;
    }

    /*!
     * @brief This function returns the value of member depthPoint
     * @return Value of member depthPoint
     */
    eProsima_user_DllExport uint16_t depthPoint() const
    {
        return m_depthPoint;
    }

    /*!
     * @brief This function returns a reference to member depthPoint
     * @return Reference to member depthPoint
     */
    eProsima_user_DllExport uint16_t& depthPoint()
    {
        return m_depthPoint;
    }


    /*!
     * @brief This function sets a value in member hasToXY
     * @param _hasToXY New value for member hasToXY
     */
    eProsima_user_DllExport void hasToXY(
            uint8_t _hasToXY)
    {
        m_hasToXY = _hasToXY;
    }

    /*!
     * @brief This function returns the value of member hasToXY
     * @return Value of member hasToXY
     */
    eProsima_user_DllExport uint8_t hasToXY() const
    {
        return m_hasToXY;
    }

    /*!
     * @brief This function returns a reference to member hasToXY
     * @return Reference to member hasToXY
     */
    eProsima_user_DllExport uint8_t& hasToXY()
    {
        return m_hasToXY;
    }


    /*!
     * @brief This function sets a value in member hasSamplePoints
     * @param _hasSamplePoints New value for member hasSamplePoints
     */
    eProsima_user_DllExport void hasSamplePoints(
            uint8_t _hasSamplePoints)
    {
        m_hasSamplePoints = _hasSamplePoints;
    }

    /*!
     * @brief This function returns the value of member hasSamplePoints
     * @return Value of member hasSamplePoints
     */
    eProsima_user_DllExport uint8_t hasSamplePoints() const
    {
        return m_hasSamplePoints;
    }

    /*!
     * @brief This function returns a reference to member hasSamplePoints
     * @return Reference to member hasSamplePoints
     */
    eProsima_user_DllExport uint8_t& hasSamplePoints()
    {
        return m_hasSamplePoints;
    }


    /*!
     * @brief This function sets a value in member gameOver
     * @param _gameOver New value for member gameOver
     */
    eProsima_user_DllExport void gameOver(
            uint8_t _gameOver)
    {
        m_gameOver = _gameOver;
    }

    /*!
     * @brief This function returns the value of member gameOver
     * @return Value of member gameOver
     */
    eProsima_user_DllExport uint8_t gameOver() const
    {
        return m_gameOver;
    }

    /*!
     * @brief This function returns a reference to member gameOver
     * @return Reference to member gameOver
     */
    eProsima_user_DllExport uint8_t& gameOver()
    {
        return m_gameOver;
    }


    /*!
     * @brief This function sets a value in member backState
     * @param _backState New value for member backState
     */
    eProsima_user_DllExport void backState(
            uint16_t _backState)
    {
        m_backState = _backState;
    }

    /*!
     * @brief This function returns the value of member backState
     * @return Value of member backState
     */
    eProsima_user_DllExport uint16_t backState() const
    {
        return m_backState;
    }

    /*!
     * @brief This function returns a reference to member backState
     * @return Reference to member backState
     */
    eProsima_user_DllExport uint16_t& backState()
    {
        return m_backState;
    }


    /*!
     * @brief This function sets a value in member sampleState
     * @param _sampleState New value for member sampleState
     */
    eProsima_user_DllExport void sampleState(
            DeviceState _sampleState)
    {
        m_sampleState = _sampleState;
    }

    /*!
     * @brief This function returns the value of member sampleState
     * @return Value of member sampleState
     */
    eProsima_user_DllExport DeviceState sampleState() const
    {
        return m_sampleState;
    }

    /*!
     * @brief This function returns a reference to member sampleState
     * @return Reference to member sampleState
     */
    eProsima_user_DllExport DeviceState& sampleState()
    {
        return m_sampleState;
    }


    /*!
     * @brief This function sets a value in member belt1State
     * @param _belt1State New value for member belt1State
     */
    eProsima_user_DllExport void belt1State(
            DeviceState _belt1State)
    {
        m_belt1State = _belt1State;
    }

    /*!
     * @brief This function returns the value of member belt1State
     * @return Value of member belt1State
     */
    eProsima_user_DllExport DeviceState belt1State() const
    {
        return m_belt1State;
    }

    /*!
     * @brief This function returns a reference to member belt1State
     * @return Reference to member belt1State
     */
    eProsima_user_DllExport DeviceState& belt1State()
    {
        return m_belt1State;
    }


    /*!
     * @brief This function sets a value in member belt2State
     * @param _belt2State New value for member belt2State
     */
    eProsima_user_DllExport void belt2State(
            DeviceState _belt2State)
    {
        m_belt2State = _belt2State;
    }

    /*!
     * @brief This function returns the value of member belt2State
     * @return Value of member belt2State
     */
    eProsima_user_DllExport DeviceState belt2State() const
    {
        return m_belt2State;
    }

    /*!
     * @brief This function returns a reference to member belt2State
     * @return Reference to member belt2State
     */
    eProsima_user_DllExport DeviceState& belt2State()
    {
        return m_belt2State;
    }


    /*!
     * @brief This function sets a value in member crush1State
     * @param _crush1State New value for member crush1State
     */
    eProsima_user_DllExport void crush1State(
            DeviceState _crush1State)
    {
        m_crush1State = _crush1State;
    }

    /*!
     * @brief This function returns the value of member crush1State
     * @return Value of member crush1State
     */
    eProsima_user_DllExport DeviceState crush1State() const
    {
        return m_crush1State;
    }

    /*!
     * @brief This function returns a reference to member crush1State
     * @return Reference to member crush1State
     */
    eProsima_user_DllExport DeviceState& crush1State()
    {
        return m_crush1State;
    }


    /*!
     * @brief This function sets a value in member crush2State
     * @param _crush2State New value for member crush2State
     */
    eProsima_user_DllExport void crush2State(
            DeviceState _crush2State)
    {
        m_crush2State = _crush2State;
    }

    /*!
     * @brief This function returns the value of member crush2State
     * @return Value of member crush2State
     */
    eProsima_user_DllExport DeviceState crush2State() const
    {
        return m_crush2State;
    }

    /*!
     * @brief This function returns a reference to member crush2State
     * @return Reference to member crush2State
     */
    eProsima_user_DllExport DeviceState& crush2State()
    {
        return m_crush2State;
    }


    /*!
     * @brief This function sets a value in member dividerState
     * @param _dividerState New value for member dividerState
     */
    eProsima_user_DllExport void dividerState(
            DeviceState _dividerState)
    {
        m_dividerState = _dividerState;
    }

    /*!
     * @brief This function returns the value of member dividerState
     * @return Value of member dividerState
     */
    eProsima_user_DllExport DeviceState dividerState() const
    {
        return m_dividerState;
    }

    /*!
     * @brief This function returns a reference to member dividerState
     * @return Reference to member dividerState
     */
    eProsima_user_DllExport DeviceState& dividerState()
    {
        return m_dividerState;
    }


    /*!
     * @brief This function sets a value in member bigLimit
     * @param _bigLimit New value for member bigLimit
     */
    eProsima_user_DllExport void bigLimit(
            uint8_t _bigLimit)
    {
        m_bigLimit = _bigLimit;
    }

    /*!
     * @brief This function returns the value of member bigLimit
     * @return Value of member bigLimit
     */
    eProsima_user_DllExport uint8_t bigLimit() const
    {
        return m_bigLimit;
    }

    /*!
     * @brief This function returns a reference to member bigLimit
     * @return Reference to member bigLimit
     */
    eProsima_user_DllExport uint8_t& bigLimit()
    {
        return m_bigLimit;
    }


    /*!
     * @brief This function sets a value in member bigZeroLimit
     * @param _bigZeroLimit New value for member bigZeroLimit
     */
    eProsima_user_DllExport void bigZeroLimit(
            uint8_t _bigZeroLimit)
    {
        m_bigZeroLimit = _bigZeroLimit;
    }

    /*!
     * @brief This function returns the value of member bigZeroLimit
     * @return Value of member bigZeroLimit
     */
    eProsima_user_DllExport uint8_t bigZeroLimit() const
    {
        return m_bigZeroLimit;
    }

    /*!
     * @brief This function returns a reference to member bigZeroLimit
     * @return Reference to member bigZeroLimit
     */
    eProsima_user_DllExport uint8_t& bigZeroLimit()
    {
        return m_bigZeroLimit;
    }


    /*!
     * @brief This function sets a value in member smallLimit
     * @param _smallLimit New value for member smallLimit
     */
    eProsima_user_DllExport void smallLimit(
            uint8_t _smallLimit)
    {
        m_smallLimit = _smallLimit;
    }

    /*!
     * @brief This function returns the value of member smallLimit
     * @return Value of member smallLimit
     */
    eProsima_user_DllExport uint8_t smallLimit() const
    {
        return m_smallLimit;
    }

    /*!
     * @brief This function returns a reference to member smallLimit
     * @return Reference to member smallLimit
     */
    eProsima_user_DllExport uint8_t& smallLimit()
    {
        return m_smallLimit;
    }


    /*!
     * @brief This function sets a value in member smallZeroLimit
     * @param _smallZeroLimit New value for member smallZeroLimit
     */
    eProsima_user_DllExport void smallZeroLimit(
            uint8_t _smallZeroLimit)
    {
        m_smallZeroLimit = _smallZeroLimit;
    }

    /*!
     * @brief This function returns the value of member smallZeroLimit
     * @return Value of member smallZeroLimit
     */
    eProsima_user_DllExport uint8_t smallZeroLimit() const
    {
        return m_smallZeroLimit;
    }

    /*!
     * @brief This function returns a reference to member smallZeroLimit
     * @return Reference to member smallZeroLimit
     */
    eProsima_user_DllExport uint8_t& smallZeroLimit()
    {
        return m_smallZeroLimit;
    }


    /*!
     * @brief This function sets a value in member upLimit
     * @param _upLimit New value for member upLimit
     */
    eProsima_user_DllExport void upLimit(
            uint8_t _upLimit)
    {
        m_upLimit = _upLimit;
    }

    /*!
     * @brief This function returns the value of member upLimit
     * @return Value of member upLimit
     */
    eProsima_user_DllExport uint8_t upLimit() const
    {
        return m_upLimit;
    }

    /*!
     * @brief This function returns a reference to member upLimit
     * @return Reference to member upLimit
     */
    eProsima_user_DllExport uint8_t& upLimit()
    {
        return m_upLimit;
    }


    /*!
     * @brief This function sets a value in member downLimit
     * @param _downLimit New value for member downLimit
     */
    eProsima_user_DllExport void downLimit(
            uint8_t _downLimit)
    {
        m_downLimit = _downLimit;
    }

    /*!
     * @brief This function returns the value of member downLimit
     * @return Value of member downLimit
     */
    eProsima_user_DllExport uint8_t downLimit() const
    {
        return m_downLimit;
    }

    /*!
     * @brief This function returns a reference to member downLimit
     * @return Reference to member downLimit
     */
    eProsima_user_DllExport uint8_t& downLimit()
    {
        return m_downLimit;
    }


    /*!
     * @brief This function sets a value in member version
     * @param _version New value for member version
     */
    eProsima_user_DllExport void version(
            uint8_t _version)
    {
        m_version = _version;
    }

    /*!
     * @brief This function returns the value of member version
     * @return Value of member version
     */
    eProsima_user_DllExport uint8_t version() const
    {
        return m_version;
    }

    /*!
     * @brief This function returns a reference to member version
     * @return Reference to member version
     */
    eProsima_user_DllExport uint8_t& version()
    {
        return m_version;
    }



private:

    uint32_t m_maskBits{0};
    uint16_t m_bigPoint{0};
    uint16_t m_smallPoint{0};
    uint16_t m_depthPoint{0};
    uint8_t m_hasToXY{0};
    uint8_t m_hasSamplePoints{0};
    uint8_t m_gameOver{0};
    uint16_t m_backState{0};
    DeviceState m_sampleState{DeviceState::OFF};
    DeviceState m_belt1State{DeviceState::OFF};
    DeviceState m_belt2State{DeviceState::OFF};
    DeviceState m_crush1State{DeviceState::OFF};
    DeviceState m_crush2State{DeviceState::OFF};
    DeviceState m_dividerState{DeviceState::OFF};
    uint8_t m_bigLimit{0};
    uint8_t m_bigZeroLimit{0};
    uint8_t m_smallLimit{0};
    uint8_t m_smallZeroLimit{0};
    uint8_t m_upLimit{0};
    uint8_t m_downLimit{0};
    uint8_t m_version{0};

};
/*!
 * @brief This class represents the enumeration DropChoice defined by the user in the IDL file.
 * @ingroup DDSSampleMachine
 */
enum class DropChoice : int32_t
{
    BYPASS,
    CRUSHER
};
/*!
 * @brief This class represents the structure SamplePoints defined by the user in the IDL file.
 * @ingroup DDSSampleMachine
 */
class SamplePoints
{
public:

    /*!
     * @brief Default constructor.
     */
    eProsima_user_DllExport SamplePoints()
    {
    }

    /*!
     * @brief Default destructor.
     */
    eProsima_user_DllExport ~SamplePoints()
    {
    }

    /*!
     * @brief Copy constructor.
     * @param x Reference to the object SamplePoints that will be copied.
     */
    eProsima_user_DllExport SamplePoints(
            const SamplePoints& x)
    {
                    m_totalPoints = x.m_totalPoints;

                    m_x1 = x.m_x1;

                    m_y1 = x.m_y1;

                    m_z1 = x.m_z1;

                    m_o1 = x.m_o1;

                    m_x2 = x.m_x2;

                    m_y2 = x.m_y2;

                    m_z2 = x.m_z2;

                    m_o2 = x.m_o2;

                    m_x3 = x.m_x3;

                    m_y3 = x.m_y3;

                    m_z3 = x.m_z3;

                    m_o3 = x.m_o3;

                    m_x4 = x.m_x4;

                    m_y4 = x.m_y4;

                    m_z4 = x.m_z4;

                    m_o4 = x.m_o4;

                    m_x5 = x.m_x5;

                    m_y5 = x.m_y5;

                    m_z5 = x.m_z5;

                    m_o5 = x.m_o5;

                    m_x6 = x.m_x6;

                    m_y6 = x.m_y6;

                    m_z6 = x.m_z6;

                    m_o6 = x.m_o6;

    }

    /*!
     * @brief Move constructor.
     * @param x Reference to the object SamplePoints that will be copied.
     */
    eProsima_user_DllExport SamplePoints(
            SamplePoints&& x) noexcept
    {
        m_totalPoints = x.m_totalPoints;
        m_x1 = x.m_x1;
        m_y1 = x.m_y1;
        m_z1 = x.m_z1;
        m_o1 = x.m_o1;
        m_x2 = x.m_x2;
        m_y2 = x.m_y2;
        m_z2 = x.m_z2;
        m_o2 = x.m_o2;
        m_x3 = x.m_x3;
        m_y3 = x.m_y3;
        m_z3 = x.m_z3;
        m_o3 = x.m_o3;
        m_x4 = x.m_x4;
        m_y4 = x.m_y4;
        m_z4 = x.m_z4;
        m_o4 = x.m_o4;
        m_x5 = x.m_x5;
        m_y5 = x.m_y5;
        m_z5 = x.m_z5;
        m_o5 = x.m_o5;
        m_x6 = x.m_x6;
        m_y6 = x.m_y6;
        m_z6 = x.m_z6;
        m_o6 = x.m_o6;
    }

    /*!
     * @brief Copy assignment.
     * @param x Reference to the object SamplePoints that will be copied.
     */
    eProsima_user_DllExport SamplePoints& operator =(
            const SamplePoints& x)
    {

                    m_totalPoints = x.m_totalPoints;

                    m_x1 = x.m_x1;

                    m_y1 = x.m_y1;

                    m_z1 = x.m_z1;

                    m_o1 = x.m_o1;

                    m_x2 = x.m_x2;

                    m_y2 = x.m_y2;

                    m_z2 = x.m_z2;

                    m_o2 = x.m_o2;

                    m_x3 = x.m_x3;

                    m_y3 = x.m_y3;

                    m_z3 = x.m_z3;

                    m_o3 = x.m_o3;

                    m_x4 = x.m_x4;

                    m_y4 = x.m_y4;

                    m_z4 = x.m_z4;

                    m_o4 = x.m_o4;

                    m_x5 = x.m_x5;

                    m_y5 = x.m_y5;

                    m_z5 = x.m_z5;

                    m_o5 = x.m_o5;

                    m_x6 = x.m_x6;

                    m_y6 = x.m_y6;

                    m_z6 = x.m_z6;

                    m_o6 = x.m_o6;

        return *this;
    }

    /*!
     * @brief Move assignment.
     * @param x Reference to the object SamplePoints that will be copied.
     */
    eProsima_user_DllExport SamplePoints& operator =(
            SamplePoints&& x) noexcept
    {

        m_totalPoints = x.m_totalPoints;
        m_x1 = x.m_x1;
        m_y1 = x.m_y1;
        m_z1 = x.m_z1;
        m_o1 = x.m_o1;
        m_x2 = x.m_x2;
        m_y2 = x.m_y2;
        m_z2 = x.m_z2;
        m_o2 = x.m_o2;
        m_x3 = x.m_x3;
        m_y3 = x.m_y3;
        m_z3 = x.m_z3;
        m_o3 = x.m_o3;
        m_x4 = x.m_x4;
        m_y4 = x.m_y4;
        m_z4 = x.m_z4;
        m_o4 = x.m_o4;
        m_x5 = x.m_x5;
        m_y5 = x.m_y5;
        m_z5 = x.m_z5;
        m_o5 = x.m_o5;
        m_x6 = x.m_x6;
        m_y6 = x.m_y6;
        m_z6 = x.m_z6;
        m_o6 = x.m_o6;
        return *this;
    }

    /*!
     * @brief Comparison operator.
     * @param x SamplePoints object to compare.
     */
    eProsima_user_DllExport bool operator ==(
            const SamplePoints& x) const
    {
        return (m_totalPoints == x.m_totalPoints &&
           m_x1 == x.m_x1 &&
           m_y1 == x.m_y1 &&
           m_z1 == x.m_z1 &&
           m_o1 == x.m_o1 &&
           m_x2 == x.m_x2 &&
           m_y2 == x.m_y2 &&
           m_z2 == x.m_z2 &&
           m_o2 == x.m_o2 &&
           m_x3 == x.m_x3 &&
           m_y3 == x.m_y3 &&
           m_z3 == x.m_z3 &&
           m_o3 == x.m_o3 &&
           m_x4 == x.m_x4 &&
           m_y4 == x.m_y4 &&
           m_z4 == x.m_z4 &&
           m_o4 == x.m_o4 &&
           m_x5 == x.m_x5 &&
           m_y5 == x.m_y5 &&
           m_z5 == x.m_z5 &&
           m_o5 == x.m_o5 &&
           m_x6 == x.m_x6 &&
           m_y6 == x.m_y6 &&
           m_z6 == x.m_z6 &&
           m_o6 == x.m_o6);
    }

    /*!
     * @brief Comparison operator.
     * @param x SamplePoints object to compare.
     */
    eProsima_user_DllExport bool operator !=(
            const SamplePoints& x) const
    {
        return !(*this == x);
    }

    /*!
     * @brief This function sets a value in member totalPoints
     * @param _totalPoints New value for member totalPoints
     */
    eProsima_user_DllExport void totalPoints(
            uint8_t _totalPoints)
    {
        m_totalPoints = _totalPoints;
    }

    /*!
     * @brief This function returns the value of member totalPoints
     * @return Value of member totalPoints
     */
    eProsima_user_DllExport uint8_t totalPoints() const
    {
        return m_totalPoints;
    }

    /*!
     * @brief This function returns a reference to member totalPoints
     * @return Reference to member totalPoints
     */
    eProsima_user_DllExport uint8_t& totalPoints()
    {
        return m_totalPoints;
    }


    /*!
     * @brief This function sets a value in member x1
     * @param _x1 New value for member x1
     */
    eProsima_user_DllExport void x1(
            uint16_t _x1)
    {
        m_x1 = _x1;
    }

    /*!
     * @brief This function returns the value of member x1
     * @return Value of member x1
     */
    eProsima_user_DllExport uint16_t x1() const
    {
        return m_x1;
    }

    /*!
     * @brief This function returns a reference to member x1
     * @return Reference to member x1
     */
    eProsima_user_DllExport uint16_t& x1()
    {
        return m_x1;
    }


    /*!
     * @brief This function sets a value in member y1
     * @param _y1 New value for member y1
     */
    eProsima_user_DllExport void y1(
            uint16_t _y1)
    {
        m_y1 = _y1;
    }

    /*!
     * @brief This function returns the value of member y1
     * @return Value of member y1
     */
    eProsima_user_DllExport uint16_t y1() const
    {
        return m_y1;
    }

    /*!
     * @brief This function returns a reference to member y1
     * @return Reference to member y1
     */
    eProsima_user_DllExport uint16_t& y1()
    {
        return m_y1;
    }


    /*!
     * @brief This function sets a value in member z1
     * @param _z1 New value for member z1
     */
    eProsima_user_DllExport void z1(
            uint16_t _z1)
    {
        m_z1 = _z1;
    }

    /*!
     * @brief This function returns the value of member z1
     * @return Value of member z1
     */
    eProsima_user_DllExport uint16_t z1() const
    {
        return m_z1;
    }

    /*!
     * @brief This function returns a reference to member z1
     * @return Reference to member z1
     */
    eProsima_user_DllExport uint16_t& z1()
    {
        return m_z1;
    }


    /*!
     * @brief This function sets a value in member o1
     * @param _o1 New value for member o1
     */
    eProsima_user_DllExport void o1(
            DropChoice _o1)
    {
        m_o1 = _o1;
    }

    /*!
     * @brief This function returns the value of member o1
     * @return Value of member o1
     */
    eProsima_user_DllExport DropChoice o1() const
    {
        return m_o1;
    }

    /*!
     * @brief This function returns a reference to member o1
     * @return Reference to member o1
     */
    eProsima_user_DllExport DropChoice& o1()
    {
        return m_o1;
    }


    /*!
     * @brief This function sets a value in member x2
     * @param _x2 New value for member x2
     */
    eProsima_user_DllExport void x2(
            uint16_t _x2)
    {
        m_x2 = _x2;
    }

    /*!
     * @brief This function returns the value of member x2
     * @return Value of member x2
     */
    eProsima_user_DllExport uint16_t x2() const
    {
        return m_x2;
    }

    /*!
     * @brief This function returns a reference to member x2
     * @return Reference to member x2
     */
    eProsima_user_DllExport uint16_t& x2()
    {
        return m_x2;
    }


    /*!
     * @brief This function sets a value in member y2
     * @param _y2 New value for member y2
     */
    eProsima_user_DllExport void y2(
            uint16_t _y2)
    {
        m_y2 = _y2;
    }

    /*!
     * @brief This function returns the value of member y2
     * @return Value of member y2
     */
    eProsima_user_DllExport uint16_t y2() const
    {
        return m_y2;
    }

    /*!
     * @brief This function returns a reference to member y2
     * @return Reference to member y2
     */
    eProsima_user_DllExport uint16_t& y2()
    {
        return m_y2;
    }


    /*!
     * @brief This function sets a value in member z2
     * @param _z2 New value for member z2
     */
    eProsima_user_DllExport void z2(
            uint16_t _z2)
    {
        m_z2 = _z2;
    }

    /*!
     * @brief This function returns the value of member z2
     * @return Value of member z2
     */
    eProsima_user_DllExport uint16_t z2() const
    {
        return m_z2;
    }

    /*!
     * @brief This function returns a reference to member z2
     * @return Reference to member z2
     */
    eProsima_user_DllExport uint16_t& z2()
    {
        return m_z2;
    }


    /*!
     * @brief This function sets a value in member o2
     * @param _o2 New value for member o2
     */
    eProsima_user_DllExport void o2(
            DropChoice _o2)
    {
        m_o2 = _o2;
    }

    /*!
     * @brief This function returns the value of member o2
     * @return Value of member o2
     */
    eProsima_user_DllExport DropChoice o2() const
    {
        return m_o2;
    }

    /*!
     * @brief This function returns a reference to member o2
     * @return Reference to member o2
     */
    eProsima_user_DllExport DropChoice& o2()
    {
        return m_o2;
    }


    /*!
     * @brief This function sets a value in member x3
     * @param _x3 New value for member x3
     */
    eProsima_user_DllExport void x3(
            uint16_t _x3)
    {
        m_x3 = _x3;
    }

    /*!
     * @brief This function returns the value of member x3
     * @return Value of member x3
     */
    eProsima_user_DllExport uint16_t x3() const
    {
        return m_x3;
    }

    /*!
     * @brief This function returns a reference to member x3
     * @return Reference to member x3
     */
    eProsima_user_DllExport uint16_t& x3()
    {
        return m_x3;
    }


    /*!
     * @brief This function sets a value in member y3
     * @param _y3 New value for member y3
     */
    eProsima_user_DllExport void y3(
            uint16_t _y3)
    {
        m_y3 = _y3;
    }

    /*!
     * @brief This function returns the value of member y3
     * @return Value of member y3
     */
    eProsima_user_DllExport uint16_t y3() const
    {
        return m_y3;
    }

    /*!
     * @brief This function returns a reference to member y3
     * @return Reference to member y3
     */
    eProsima_user_DllExport uint16_t& y3()
    {
        return m_y3;
    }


    /*!
     * @brief This function sets a value in member z3
     * @param _z3 New value for member z3
     */
    eProsima_user_DllExport void z3(
            uint16_t _z3)
    {
        m_z3 = _z3;
    }

    /*!
     * @brief This function returns the value of member z3
     * @return Value of member z3
     */
    eProsima_user_DllExport uint16_t z3() const
    {
        return m_z3;
    }

    /*!
     * @brief This function returns a reference to member z3
     * @return Reference to member z3
     */
    eProsima_user_DllExport uint16_t& z3()
    {
        return m_z3;
    }


    /*!
     * @brief This function sets a value in member o3
     * @param _o3 New value for member o3
     */
    eProsima_user_DllExport void o3(
            DropChoice _o3)
    {
        m_o3 = _o3;
    }

    /*!
     * @brief This function returns the value of member o3
     * @return Value of member o3
     */
    eProsima_user_DllExport DropChoice o3() const
    {
        return m_o3;
    }

    /*!
     * @brief This function returns a reference to member o3
     * @return Reference to member o3
     */
    eProsima_user_DllExport DropChoice& o3()
    {
        return m_o3;
    }


    /*!
     * @brief This function sets a value in member x4
     * @param _x4 New value for member x4
     */
    eProsima_user_DllExport void x4(
            uint16_t _x4)
    {
        m_x4 = _x4;
    }

    /*!
     * @brief This function returns the value of member x4
     * @return Value of member x4
     */
    eProsima_user_DllExport uint16_t x4() const
    {
        return m_x4;
    }

    /*!
     * @brief This function returns a reference to member x4
     * @return Reference to member x4
     */
    eProsima_user_DllExport uint16_t& x4()
    {
        return m_x4;
    }


    /*!
     * @brief This function sets a value in member y4
     * @param _y4 New value for member y4
     */
    eProsima_user_DllExport void y4(
            uint16_t _y4)
    {
        m_y4 = _y4;
    }

    /*!
     * @brief This function returns the value of member y4
     * @return Value of member y4
     */
    eProsima_user_DllExport uint16_t y4() const
    {
        return m_y4;
    }

    /*!
     * @brief This function returns a reference to member y4
     * @return Reference to member y4
     */
    eProsima_user_DllExport uint16_t& y4()
    {
        return m_y4;
    }


    /*!
     * @brief This function sets a value in member z4
     * @param _z4 New value for member z4
     */
    eProsima_user_DllExport void z4(
            uint16_t _z4)
    {
        m_z4 = _z4;
    }

    /*!
     * @brief This function returns the value of member z4
     * @return Value of member z4
     */
    eProsima_user_DllExport uint16_t z4() const
    {
        return m_z4;
    }

    /*!
     * @brief This function returns a reference to member z4
     * @return Reference to member z4
     */
    eProsima_user_DllExport uint16_t& z4()
    {
        return m_z4;
    }


    /*!
     * @brief This function sets a value in member o4
     * @param _o4 New value for member o4
     */
    eProsima_user_DllExport void o4(
            DropChoice _o4)
    {
        m_o4 = _o4;
    }

    /*!
     * @brief This function returns the value of member o4
     * @return Value of member o4
     */
    eProsima_user_DllExport DropChoice o4() const
    {
        return m_o4;
    }

    /*!
     * @brief This function returns a reference to member o4
     * @return Reference to member o4
     */
    eProsima_user_DllExport DropChoice& o4()
    {
        return m_o4;
    }


    /*!
     * @brief This function sets a value in member x5
     * @param _x5 New value for member x5
     */
    eProsima_user_DllExport void x5(
            uint16_t _x5)
    {
        m_x5 = _x5;
    }

    /*!
     * @brief This function returns the value of member x5
     * @return Value of member x5
     */
    eProsima_user_DllExport uint16_t x5() const
    {
        return m_x5;
    }

    /*!
     * @brief This function returns a reference to member x5
     * @return Reference to member x5
     */
    eProsima_user_DllExport uint16_t& x5()
    {
        return m_x5;
    }


    /*!
     * @brief This function sets a value in member y5
     * @param _y5 New value for member y5
     */
    eProsima_user_DllExport void y5(
            uint16_t _y5)
    {
        m_y5 = _y5;
    }

    /*!
     * @brief This function returns the value of member y5
     * @return Value of member y5
     */
    eProsima_user_DllExport uint16_t y5() const
    {
        return m_y5;
    }

    /*!
     * @brief This function returns a reference to member y5
     * @return Reference to member y5
     */
    eProsima_user_DllExport uint16_t& y5()
    {
        return m_y5;
    }


    /*!
     * @brief This function sets a value in member z5
     * @param _z5 New value for member z5
     */
    eProsima_user_DllExport void z5(
            uint16_t _z5)
    {
        m_z5 = _z5;
    }

    /*!
     * @brief This function returns the value of member z5
     * @return Value of member z5
     */
    eProsima_user_DllExport uint16_t z5() const
    {
        return m_z5;
    }

    /*!
     * @brief This function returns a reference to member z5
     * @return Reference to member z5
     */
    eProsima_user_DllExport uint16_t& z5()
    {
        return m_z5;
    }


    /*!
     * @brief This function sets a value in member o5
     * @param _o5 New value for member o5
     */
    eProsima_user_DllExport void o5(
            DropChoice _o5)
    {
        m_o5 = _o5;
    }

    /*!
     * @brief This function returns the value of member o5
     * @return Value of member o5
     */
    eProsima_user_DllExport DropChoice o5() const
    {
        return m_o5;
    }

    /*!
     * @brief This function returns a reference to member o5
     * @return Reference to member o5
     */
    eProsima_user_DllExport DropChoice& o5()
    {
        return m_o5;
    }


    /*!
     * @brief This function sets a value in member x6
     * @param _x6 New value for member x6
     */
    eProsima_user_DllExport void x6(
            uint16_t _x6)
    {
        m_x6 = _x6;
    }

    /*!
     * @brief This function returns the value of member x6
     * @return Value of member x6
     */
    eProsima_user_DllExport uint16_t x6() const
    {
        return m_x6;
    }

    /*!
     * @brief This function returns a reference to member x6
     * @return Reference to member x6
     */
    eProsima_user_DllExport uint16_t& x6()
    {
        return m_x6;
    }


    /*!
     * @brief This function sets a value in member y6
     * @param _y6 New value for member y6
     */
    eProsima_user_DllExport void y6(
            uint16_t _y6)
    {
        m_y6 = _y6;
    }

    /*!
     * @brief This function returns the value of member y6
     * @return Value of member y6
     */
    eProsima_user_DllExport uint16_t y6() const
    {
        return m_y6;
    }

    /*!
     * @brief This function returns a reference to member y6
     * @return Reference to member y6
     */
    eProsima_user_DllExport uint16_t& y6()
    {
        return m_y6;
    }


    /*!
     * @brief This function sets a value in member z6
     * @param _z6 New value for member z6
     */
    eProsima_user_DllExport void z6(
            uint16_t _z6)
    {
        m_z6 = _z6;
    }

    /*!
     * @brief This function returns the value of member z6
     * @return Value of member z6
     */
    eProsima_user_DllExport uint16_t z6() const
    {
        return m_z6;
    }

    /*!
     * @brief This function returns a reference to member z6
     * @return Reference to member z6
     */
    eProsima_user_DllExport uint16_t& z6()
    {
        return m_z6;
    }


    /*!
     * @brief This function sets a value in member o6
     * @param _o6 New value for member o6
     */
    eProsima_user_DllExport void o6(
            DropChoice _o6)
    {
        m_o6 = _o6;
    }

    /*!
     * @brief This function returns the value of member o6
     * @return Value of member o6
     */
    eProsima_user_DllExport DropChoice o6() const
    {
        return m_o6;
    }

    /*!
     * @brief This function returns a reference to member o6
     * @return Reference to member o6
     */
    eProsima_user_DllExport DropChoice& o6()
    {
        return m_o6;
    }



private:

    uint8_t m_totalPoints{0};
    uint16_t m_x1{0};
    uint16_t m_y1{0};
    uint16_t m_z1{0};
    DropChoice m_o1{DropChoice::BYPASS};
    uint16_t m_x2{0};
    uint16_t m_y2{0};
    uint16_t m_z2{0};
    DropChoice m_o2{DropChoice::BYPASS};
    uint16_t m_x3{0};
    uint16_t m_y3{0};
    uint16_t m_z3{0};
    DropChoice m_o3{DropChoice::BYPASS};
    uint16_t m_x4{0};
    uint16_t m_y4{0};
    uint16_t m_z4{0};
    DropChoice m_o4{DropChoice::BYPASS};
    uint16_t m_x5{0};
    uint16_t m_y5{0};
    uint16_t m_z5{0};
    DropChoice m_o5{DropChoice::BYPASS};
    uint16_t m_x6{0};
    uint16_t m_y6{0};
    uint16_t m_z6{0};
    DropChoice m_o6{DropChoice::BYPASS};

};

} // namespace SampleModule

#endif // _FAST_DDS_GENERATED_SAMPLEMODULE_DDSSAMPLEMACHINE_HPP_


