CARLA
 
载入中...
搜索中...
未找到
CarlaEgoVehicleControlPubSubTypes.h
浏览该文件的文档.
1// 版权所有 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2//
3// 根据 Apache 许可证,第 2.0 版(“许可证”)进行许可;
4// 除非遵守许可证,否则您不得使用此文件。
5// 您可以在以下网址获得许可证的副本:
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// 除非适用法律要求或书面同意,否则根据许可证分发的软件是以“原样”基础提供的,
10// 不提供任何形式的保证或条件,无论是明示还是暗示。
11// 有关许可证下的特定权限和限制,请参见许可证。
12
13/*!
14 * @file CarlaEgoCarlaEgoVehicleControlPubSubTypes.h
15 * 此头文件包含序列化函数的声明。
16 *
17 * 此文件由工具 fastcdrgen 生成。
18 */
19
20#ifndef _FAST_DDS_GENERATED_CARLA_MSGS_MSG_CARLAEGOCarlaEgoVehicleControl_PUBSUBTYPES_H_
21#define _FAST_DDS_GENERATED_CARLA_MSGS_MSG_CARLAEGOCarlaEgoVehicleControl_PUBSUBTYPES_H_
22
23#include <fastdds/dds/topic/TopicDataType.hpp>
24#include <fastrtps/utils/md5.h>
25
27
28#include "HeaderPubSubTypes.h"
29
30// 检查生成的 API 版本是否与当前安装的 Fast DDS 兼容
31#if !defined(GEN_API_VER) || (GEN_API_VER != 1)
32#error \
33 Generated CarlaEgoCarlaEgoVehicleControl is not compatible with current installed Fast DDS. Please, regenerate it with fastddsgen.
34#endif // GEN_API_VER
35
36namespace carla_msgs
37{
38 namespace msg
39 {
40 /*!
41 * @brief 此类表示用户在 IDL 文件中定义的类型 CarlaEgoVehicleControl 的 TopicDataType。
42 * @ingroup CarlaEgoVehicleControl
43 */
44 class CarlaEgoVehicleControlPubSubType : public eprosima::fastdds::dds::TopicDataType
45 {
46 public:
47
48 // 定义类型别名
50
51 // 构造函数
53
54 // 析构函数
56
57 // 序列化数据
59 void* data,
60 eprosima::fastrtps::rtps::SerializedPayload_t* payload) override;
61
62 // 反序列化数据
64 eprosima::fastrtps::rtps::SerializedPayload_t* payload,
65 void* data) override;
66
67 // 获取序列化大小提供者
68 eProsima_user_DllExport virtual std::function<uint32_t()> getSerializedSizeProvider(
69 void* data) override;
70
71 // 获取数据的键
73 void* data,
74 eprosima::fastrtps::rtps::InstanceHandle_t* ihandle,
75 bool force_md5 = false) override;
76
77 // 创建数据
78 eProsima_user_DllExport virtual void* createData() override;
79
80 // 删除数据
82 void* data) override;
83
84 #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED
85 // 检查是否有界
86 eProsima_user_DllExport inline bool is_bounded() const override
87 {
88 // 返回 false,表示没有界限
89 return false;
90 }
91
92 #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED
93
94 #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN
95 // 检查是否为简单类型
96 eProsima_user_DllExport inline bool is_plain() const override
97 {
98 // 返回 false,表示不是简单类型
99 return false;
100 }
101
102 #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN
103
104 #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE
105 // 构造样本
106 eProsima_user_DllExport inline bool construct_sample(
107 void* memory) const override
108 {
109 // 不使用 memory 参数
110 (void)memory;
111 // 返回 false,表示不支持样本构造
112 return false;
113 }
114
115 #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE
116 // MD5 哈希
117 MD5 m_md5;
118 // 键缓冲区
119 unsigned char* m_keyBuffer;
120 };
121 }
122}
123
124#endif // _FAST_DDS_GENERATED_CARLA_MSGS_MSG_CARLAEGOCarlaEgoVehicleControl_PUBSUBTYPES_H_
#define eProsima_user_DllExport
Definition CameraInfo.h:44
此类表示用户在 IDL 文件中定义的类型 CarlaEgoVehicleControl 的 TopicDataType。 <>
virtual eProsima_user_DllExport void * createData() override
virtual eProsima_user_DllExport std::function< uint32_t()> getSerializedSizeProvider(void *data) override
virtual eProsima_user_DllExport bool serialize(void *data, eprosima::fastrtps::rtps::SerializedPayload_t *payload) override
virtual eProsima_user_DllExport bool getKey(void *data, eprosima::fastrtps::rtps::InstanceHandle_t *ihandle, bool force_md5=false) override
virtual eProsima_user_DllExport void deleteData(void *data) override
virtual eProsima_user_DllExport bool deserialize(eprosima::fastrtps::rtps::SerializedPayload_t *payload, void *data) override
virtual eProsima_user_DllExport ~CarlaEgoVehicleControlPubSubType() override
该类表示用户在 IDL 文件中定义的结构 CarlaEgoVehicleControl。 <>