// 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 Shape.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_SHAPE_H_ #define _FAST_DDS_GENERATED_SHAPE_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(SHAPE_SOURCE) #define SHAPE_DllAPI __declspec( dllexport ) #else #define SHAPE_DllAPI __declspec( dllimport ) #endif // SHAPE_SOURCE #else #define SHAPE_DllAPI #endif // EPROSIMA_USER_DLL_EXPORT #else #define SHAPE_DllAPI #endif // _WIN32 namespace eprosima { namespace fastcdr { class Cdr; class CdrSizeCalculator; } // namespace fastcdr } // namespace eprosima /*! * @brief This class represents the structure ShapeType defined by the user in the IDL file. * @ingroup Shape */ class ShapeType { public: /*! * @brief Default constructor. */ eProsima_user_DllExport ShapeType(); /*! * @brief Default destructor. */ eProsima_user_DllExport ~ShapeType(); /*! * @brief Copy constructor. * @param x Reference to the object ShapeType that will be copied. */ eProsima_user_DllExport ShapeType( const ShapeType& x); /*! * @brief Move constructor. * @param x Reference to the object ShapeType that will be copied. */ eProsima_user_DllExport ShapeType( ShapeType&& x) noexcept; /*! * @brief Copy assignment. * @param x Reference to the object ShapeType that will be copied. */ eProsima_user_DllExport ShapeType& operator =( const ShapeType& x); /*! * @brief Move assignment. * @param x Reference to the object ShapeType that will be copied. */ eProsima_user_DllExport ShapeType& operator =( ShapeType&& x) noexcept; /*! * @brief Comparison operator. * @param x ShapeType object to compare. */ eProsima_user_DllExport bool operator ==( const ShapeType& x) const; /*! * @brief Comparison operator. * @param x ShapeType object to compare. */ eProsima_user_DllExport bool operator !=( const ShapeType& x) const; /*! * @brief This function copies the value in member color * @param _color New value to be copied in member color */ eProsima_user_DllExport void color( const std::string& _color); /*! * @brief This function moves the value in member color * @param _color New value to be moved in member color */ eProsima_user_DllExport void color( std::string&& _color); /*! * @brief This function returns a constant reference to member color * @return Constant reference to member color */ eProsima_user_DllExport const std::string& color() const; /*! * @brief This function returns a reference to member color * @return Reference to member color */ eProsima_user_DllExport std::string& color(); /*! * @brief This function sets a value in member x * @param _x New value for member x */ eProsima_user_DllExport void x( int32_t _x); /*! * @brief This function returns the value of member x * @return Value of member x */ eProsima_user_DllExport int32_t x() const; /*! * @brief This function returns a reference to member x * @return Reference to member x */ eProsima_user_DllExport int32_t& x(); /*! * @brief This function sets a value in member y * @param _y New value for member y */ eProsima_user_DllExport void y( int32_t _y); /*! * @brief This function returns the value of member y * @return Value of member y */ eProsima_user_DllExport int32_t y() const; /*! * @brief This function returns a reference to member y * @return Reference to member y */ eProsima_user_DllExport int32_t& y(); /*! * @brief This function sets a value in member shape_size * @param _shape_size New value for member shape_size */ eProsima_user_DllExport void shape_size( int32_t _shape_size); /*! * @brief This function returns the value of member shape_size * @return Value of member shape_size */ eProsima_user_DllExport int32_t shape_size() const; /*! * @brief This function returns a reference to member shape_size * @return Reference to member shape_size */ eProsima_user_DllExport int32_t& shape_size(); private: std::string m_color; int32_t m_x{0}; int32_t m_y{0}; int32_t m_shape_size{0}; }; #endif // _FAST_DDS_GENERATED_SHAPE_H_