Program Listing for File message_type_support.h
↰ Return to documentation for file (include/rosidl_typesupport_fastrtps_cpp/message_type_support.h
)
// Copyright 2014-2015 Open Source Robotics Foundation, Inc.
//
// 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.
#ifndef ROSIDL_TYPESUPPORT_FASTRTPS_CPP__MESSAGE_TYPE_SUPPORT_H_
#define ROSIDL_TYPESUPPORT_FASTRTPS_CPP__MESSAGE_TYPE_SUPPORT_H_
#include <cstddef>
#include "fastcdr/Cdr.h"
#include "rosidl_runtime_c/message_type_support_struct.h"
#define ROSIDL_TYPESUPPORT_FASTRTPS_HAS_PLAIN_TYPES
#define ROSIDL_TYPESUPPORT_FASTRTPS_UNBOUNDED_TYPE 0x00
#define ROSIDL_TYPESUPPORT_FASTRTPS_BOUNDED_TYPE 0x01
#define ROSIDL_TYPESUPPORT_FASTRTPS_PLAIN_TYPE 0x03
// Holds generated methods related with keys
typedef struct message_type_support_key_callbacks_t
{
size_t (* max_serialized_size_key)(
bool & is_unbounded);
size_t (* get_serialized_size_key)(
const void * untyped_ros_message);
bool (* cdr_serialize_key)(
const void * untyped_ros_message,
eprosima::fastcdr::Cdr & cdr);
} message_type_support_key_callbacks_t;
typedef struct message_type_support_callbacks_t
{
const char * message_namespace_;
const char * message_name_;
bool (* cdr_serialize)(
const void * untyped_ros_message,
eprosima::fastcdr::Cdr & cdr);
bool (* cdr_deserialize)(
eprosima::fastcdr::Cdr & cdr,
void * untyped_ros_message);
uint32_t (* get_serialized_size)(const void *);
size_t (* max_serialized_size)(char & bounds_info);
message_type_support_key_callbacks_t * key_callbacks;
} message_type_support_callbacks_t;
#endif // ROSIDL_TYPESUPPORT_FASTRTPS_CPP__MESSAGE_TYPE_SUPPORT_H_