CARLA
 
载入中...
搜索中...
未找到
CameraInfoPubSubTypes.h
浏览该文件的文档.
1// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2//
3// 根据 Apache License, Version 2.0(“许可证”)授权;
4// 除非遵守该许可证,否则您不得使用此文件。
5// 您可以在以下网址获取许可证的副本:
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// 除非适用法律要求或书面同意,否则根据许可证分发的软件是以“原样”方式分发的,
10// 不附带任何明示或暗示的担保或条件。
11// 请参阅许可证以获取关于权限和限制的具体内容。
12
13/*!
14 * @file CameraInfoPubSubTypes.h
15 * 该头文件包含序列化函数的声明。
16 *
17 * 此文件是由工具 fastcdrgen 生成的。
18 */
19
20#ifndef _FAST_DDS_GENERATED_SENSOR_MSGS_MSG_CAMERAINFO_PUBSUBTYPES_H_
21#define _FAST_DDS_GENERATED_SENSOR_MSGS_MSG_CAMERAINFO_PUBSUBTYPES_H_
22
23#include <fastdds/dds/topic/TopicDataType.hpp> // 引入 Fast DDS 主题数据类型
24#include <fastrtps/utils/md5.h> // 引入 MD5 相关功能
25
26#include "CameraInfo.h" // 引入 CameraInfo 类型定义
27
28#include "RegionOfInterestPubSubTypes.h" // 引入 RegionOfInterest 的 PubSub 类型定义
29#include "HeaderPubSubTypes.h" // 引入 Header 的 PubSub 类型定义
30
31#if !defined(GEN_API_VER) || (GEN_API_VER != 1)
32#error \
33 生成的 CameraInfo 与当前安装的 Fast DDS 不兼容。请使用 fastddsgen 重新生成它。
34#endif // GEN_API_VER
35
36namespace sensor_msgs
37{
38 namespace msg
39 {
40 /*!
41 * @brief 此类表示用户在 IDL 文件中定义的 CameraInfo 类型的 TopicDataType。
42 * @ingroup CameraInfo
43 */
44 class CameraInfoPubSubType : public eprosima::fastdds::dds::TopicDataType
45 {
46 public:
47
48 typedef CameraInfo type; // 定义类型别名
49
51
52 eProsima_user_DllExport virtual ~CameraInfoPubSubType() override; // 析构函数
53
55 void* data,
56 eprosima::fastrtps::rtps::SerializedPayload_t* payload) override; // 序列化函数
57
59 eprosima::fastrtps::rtps::SerializedPayload_t* payload,
60 void* data) override; // 反序列化函数
61
62 eProsima_user_DllExport virtual std::function<uint32_t()> getSerializedSizeProvider(
63 void* data) override; // 获取序列化大小的函数提供者
64
65 eProsima_user_DllExport virtual bool getKey(
66 void* data,
67 eprosima::fastrtps::rtps::InstanceHandle_t* ihandle,
68 bool force_md5 = false) override; // 获取键的函数
69
70 eProsima_user_DllExport virtual void* createData() override; // 创建数据的函数
71
73 void* data) override; // 删除数据的函数
74
75 #ifdef TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED
76 eProsima_user_DllExport inline bool is_bounded() const override
77 {
78 return false; // 表示此类型不受限制
79 }
80
81 #endif // TOPIC_DATA_TYPE_API_HAS_IS_BOUNDED
82
83 #ifdef TOPIC_DATA_TYPE_API_HAS_IS_PLAIN
84 eProsima_user_DllExport inline bool is_plain() const override
85 {
86 return false; // 表示此类型不是简单类型
87 }
88
89 #endif // TOPIC_DATA_TYPE_API_HAS_IS_PLAIN
90
91 #ifdef TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE
92 eProsima_user_DllExport inline bool construct_sample(
93 void* memory) const override
94 {
95 (void)memory; // 不使用 memory 参数
96 return false; // 表示不支持构造样本
97 }
98
99 #endif // TOPIC_DATA_TYPE_API_HAS_CONSTRUCT_SAMPLE
100 MD5 m_md5; // MD5 哈希对象
101 unsigned char* m_keyBuffer; // 存储键的缓冲区
102 };
103 }
104}
105
106#endif // _FAST_DDS_GENERATED_SENSOR_MSGS_MSG_CAMERAINFO_PUBSUBTYPES_H_
#define eProsima_user_DllExport
Definition CameraInfo.h:44
此类表示用户在 IDL 文件中定义的 CameraInfo 类型的 TopicDataType。 <>
virtual eProsima_user_DllExport std::function< uint32_t()> getSerializedSizeProvider(void *data) override
virtual eProsima_user_DllExport bool getKey(void *data, eprosima::fastrtps::rtps::InstanceHandle_t *ihandle, bool force_md5=false) override
virtual eProsima_user_DllExport bool deserialize(eprosima::fastrtps::rtps::SerializedPayload_t *payload, void *data) override
virtual eProsima_user_DllExport ~CameraInfoPubSubType() override
virtual eProsima_user_DllExport bool serialize(void *data, eprosima::fastrtps::rtps::SerializedPayload_t *payload) override
virtual eProsima_user_DllExport void deleteData(void *data) override
virtual eProsima_user_DllExport void * createData() override
This class represents the structure CameraInfo defined by the user in the IDL file....
Definition CameraInfo.h:75