// 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 Topics.h * This header file contains the declaration of the described types in the IDL file. * * This file was generated by the tool gen. */ #ifndef _TOPICSAMPLE_TOPICS_H_ #define _TOPICSAMPLE_TOPICS_H_ // TODO Poner en el contexto. #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 #else #define eProsima_user_DllExport #endif #if defined(_WIN32) #if defined(EPROSIMA_USER_DLL_EXPORT) #if defined(Topics_SOURCE) #define Topics_DllAPI __declspec( dllexport ) #else #define Topics_DllAPI __declspec( dllimport ) #endif // Topics_SOURCE #else #define Topics_DllAPI #endif #else #define Topics_DllAPI #endif // _WIN32 namespace eprosima { namespace fastcdr { class Cdr; } } namespace TopicSample { typedef std::vector SomeBytes; /*! * @brief This class represents the structure Message defined by the user in the IDL file. * @ingroup TOPICS */ class Message { public: /*! * @brief Default constructor. */ eProsima_user_DllExport Message(); /*! * @brief Default destructor. */ eProsima_user_DllExport ~Message(); /*! * @brief Copy constructor. * @param x Reference to the object TopicSample::Message that will be copied. */ eProsima_user_DllExport Message(const Message &x); /*! * @brief Move constructor. * @param x Reference to the object TopicSample::Message that will be copied. */ eProsima_user_DllExport Message(Message &&x); /*! * @brief Copy assignment. * @param x Reference to the object TopicSample::Message that will be copied. */ eProsima_user_DllExport Message& operator=(const Message &x); /*! * @brief Move assignment. * @param x Reference to the object TopicSample::Message that will be copied. */ eProsima_user_DllExport Message& operator=(Message &&x); /*! * @brief This function copies the value in member msgname * @param _msgname New value to be copied in member msgname */ eProsima_user_DllExport void msgname(const std::string &_msgname); /*! * @brief This function moves the value in member msgname * @param _msgname New value to be moved in member msgname */ eProsima_user_DllExport void msgname(std::string &&_msgname); /*! * @brief This function returns a constant reference to member msgname * @return Constant reference to member msgname */ eProsima_user_DllExport const std::string& msgname() const; /*! * @brief This function returns a reference to member msgname * @return Reference to member msgname */ eProsima_user_DllExport std::string& msgname(); /*! * @brief This function sets a value in member counter * @param _counter New value for member counter */ eProsima_user_DllExport void counter(int32_t _counter); /*! * @brief This function returns the value of member counter * @return Value of member counter */ eProsima_user_DllExport int32_t counter() const; /*! * @brief This function returns a reference to member counter * @return Reference to member counter */ eProsima_user_DllExport int32_t& counter(); /*! * @brief This function sets a value in member sendtime * @param _sendtime New value for member sendtime */ eProsima_user_DllExport void sendtime(int64_t _sendtime); /*! * @brief This function returns the value of member sendtime * @return Value of member sendtime */ eProsima_user_DllExport int64_t sendtime() const; /*! * @brief This function returns a reference to member sendtime * @return Reference to member sendtime */ eProsima_user_DllExport int64_t& sendtime(); /*! * @brief This function copies the value in member xdata * @param _xdata New value to be copied in member xdata */ eProsima_user_DllExport void xdata(const TopicSample::SomeBytes &_xdata); /*! * @brief This function moves the value in member xdata * @param _xdata New value to be moved in member xdata */ eProsima_user_DllExport void xdata(TopicSample::SomeBytes &&_xdata); /*! * @brief This function returns a constant reference to member xdata * @return Constant reference to member xdata */ eProsima_user_DllExport const TopicSample::SomeBytes& xdata() const; /*! * @brief This function returns a reference to member xdata * @return Reference to member xdata */ eProsima_user_DllExport TopicSample::SomeBytes& xdata(); /*! * @brief This function returns the maximum serialized size of an object * depending on the buffer alignment. * @param current_alignment Buffer alignment. * @return Maximum serialized size. */ eProsima_user_DllExport static size_t getMaxCdrSerializedSize(size_t current_alignment = 0); /*! * @brief This function returns the serialized size of a data depending on the buffer alignment. * @param data Data which is calculated its serialized size. * @param current_alignment Buffer alignment. * @return Serialized size. */ eProsima_user_DllExport static size_t getCdrSerializedSize(const TopicSample::Message& data, size_t current_alignment = 0); /*! * @brief This function serializes an object using CDR serialization. * @param cdr CDR serialization object. */ eProsima_user_DllExport void serialize(eprosima::fastcdr::Cdr &cdr) const; /*! * @brief This function deserializes an object using CDR serialization. * @param cdr CDR serialization object. */ eProsima_user_DllExport void deserialize(eprosima::fastcdr::Cdr &cdr); /*! * @brief This function returns the maximum serialized size of the Key of an object * depending on the buffer alignment. * @param current_alignment Buffer alignment. * @return Maximum serialized size. */ eProsima_user_DllExport static size_t getKeyMaxCdrSerializedSize(size_t current_alignment = 0); /*! * @brief This function tells you if the Key has been defined for this type */ eProsima_user_DllExport static bool isKeyDefined(); /*! * @brief This function serializes the key members of an object using CDR serialization. * @param cdr CDR serialization object. */ eProsima_user_DllExport void serializeKey(eprosima::fastcdr::Cdr &cdr) const; private: std::string m_msgname; int32_t m_counter; int64_t m_sendtime; TopicSample::SomeBytes m_xdata; }; } #endif // _TOPICSAMPLE_TOPICS_H_