Skip to content

Commit

Permalink
micro-ROS rolling Library auto-update 11-02-2022 08:31 (#403)
Browse files Browse the repository at this point in the history
Co-authored-by: pablogs9 <[email protected]>
  • Loading branch information
github-actions[bot] and pablogs9 authored Feb 11, 2022
1 parent d732474 commit c2fcee7
Show file tree
Hide file tree
Showing 8 changed files with 332 additions and 4 deletions.
8 changes: 4 additions & 4 deletions built_packages
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

https://github.com/micro-ROS/micro_ros_utilities d9d01643b3fa3c2272299821da2c922f552194aa
https://github.com/micro-ROS/micro_ros_utilities ba1c537f4b5c25a9335dfa5c1439d63111e24122
https://github.com/micro-ROS/rmw-microxrcedds.git 2eee1a22a1c7a14c2ced4714f9bf1484f10ed7c6
https://github.com/micro-ROS/rcl e83aa1aac7974bec3bb92f6eb984c3a60b7fed36
https://github.com/micro-ROS/rcl 7816f59d27c64b147e52c5bf046ec84b2ddfafb9
https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing.git/ 0c9092cffcfaf78ce02e10cf465ae7737bd7c7f6
https://github.com/micro-ROS/rosidl_typesupport.git acaa92b845e418d67dd364fc612a7647c1b4a9ec
https://github.com/ros2/rclc ce4296879a08794ff701978fac45eb885ab9e40c
Expand All @@ -13,9 +13,9 @@ https://github.com/eProsima/Micro-XRCE-DDS-Client.git 243b16b659f1b46e6678db21c3
https://github.com/eProsima/Micro-CDR.git cb4403a8780095df94a7b1936b1e00153c90070d
https://github.com/ros2/rmw.git 5c822d1f0d15132a983080527e2e3cebbfceb2cc
https://github.com/ros2/test_interface_files.git 96d65b61e9acdb9480075ffdc00dadddd67ff832
https://github.com/ros2/rcl.git 0be33d25522a904eeade91984cb979fde34ff37e
https://github.com/ros2/rcl.git 83ac5b0c38c65b05a80f74f4a8a11665f3506735
https://github.com/ros2/example_interfaces.git 2977bbe4e5e30c74d3594d31a8212193f5c27761
https://github.com/ros2/rosidl.git fa8da35735a2b77e3b96f3daedc1d9490ca148b8
https://github.com/ros2/rosidl.git 0c48c48f7d98e30b1817dae589cdd9b58e44d5f2
https://github.com/ros2/rcpputils.git b8fe7a3e91c7e1a940120bfb7466d3e1df1d25a8
https://github.com/ros2/rosidl_dds.git 664a9daadce12d02d35091d1bfde7acabe829354
https://github.com/ros2/common_interfaces.git fa1d0093db5df80c886093f27810d09c46f5111e
Expand Down
16 changes: 16 additions & 0 deletions libmicroros/include/rcl/node.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ extern "C"
#include "rcl/types.h"
#include "rcl/visibility_control.h"

extern const char * const RCL_DISABLE_LOANED_MESSAGES_ENV_VAR;

typedef struct rcl_node_impl_s rcl_node_impl_t;

/// Structure which encapsulates a ROS Node.
Expand Down Expand Up @@ -535,6 +537,20 @@ rcl_node_resolve_name(
bool only_expand,
char ** output_name);

/// Check if loaned message is disabled, according to the environment variable.
/**
* If the `ROS_DISABLE_LOANED_MESSAGES` environment variable is set to "1",
* `disable_loaned_message` will be set to true.
*
* \param[out] disable_loaned_message Must not be NULL.
* \return #RCL_RET_INVALID_ARGUMENT if an argument is not valid, or
* \return #RCL_RET_ERROR if an unexpected error happened, or
* \return #RCL_RET_OK.
*/
RCL_PUBLIC
rcl_ret_t
rcl_get_disable_loaned_message(bool * disable_loaned_message);

#ifdef __cplusplus
}
#endif
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// 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_INTROSPECTION_C__FIELD_TYPES_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__FIELD_TYPES_H_

#include <stdint.h>

#ifdef __cplusplus
extern "C"
{
#endif

/// Possible types for message fields on a ROS message
/// The equivalent OMG IDL and C types of the different fields can be found
/// at http://design.ros2.org/articles/idl_interface_definition.html#type-mapping
enum rosidl_typesupport_introspection_c_field_types
{
/// Equivalent to float in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_FLOAT = 1,
/// Equivalent to double in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_DOUBLE = 2,
/// Equivalent to long double in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_LONG_DOUBLE = 3,
/// Equivalent to unsigned char in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_CHAR = 4,
/// Equivalent to char16_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_WCHAR = 5,
/// Equivalent to _Bool in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_BOOLEAN = 6,
/// Equivalent to unsigned char in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_OCTET = 7,
/// Equivalent to uint8_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_UINT8 = 8,
/// Equivalent to int8_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_INT8 = 9,
/// Equivalent to uint16_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_UINT16 = 10,
/// Equivalent to int16_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_INT16 = 11,
/// Equivalent to uint32_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_UINT32 = 12,
/// Equivalent to int32_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_INT32 = 13,
/// Equivalent to uint64_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_UINT64 = 14,
/// Equivalent to int64_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_INT64 = 15,
/// Equivalent to char * in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_STRING = 16,
/// Equivalent to char16_t * in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_WSTRING = 17,

/// An embedded message type.
rosidl_typesupport_introspection_c__ROS_TYPE_MESSAGE = 18,

/// For backward compatibility only.
rosidl_typesupport_introspection_c__ROS_TYPE_FLOAT32 = 1,
/// For backward compatibility only.
rosidl_typesupport_introspection_c__ROS_TYPE_FLOAT64 = 2,
/// For backward compatibility only.
rosidl_typesupport_introspection_c__ROS_TYPE_BOOL = 6,
/// For backward compatibility only.
rosidl_typesupport_introspection_c__ROS_TYPE_BYTE = 7
};

#ifdef __cplusplus
}
#endif

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__FIELD_TYPES_H_
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// 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_INTROSPECTION_C__IDENTIFIER_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__IDENTIFIER_H_

#include "rosidl_typesupport_introspection_c/visibility_control.h"

#ifdef __cplusplus
extern "C"
{
#endif

/// String identifying the typesupport introspection implementation in use.
ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC
extern const char * rosidl_typesupport_introspection_c__identifier;

#ifdef __cplusplus
}
#endif

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__IDENTIFIER_H_
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
// 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_INTROSPECTION_C__MESSAGE_INTROSPECTION_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__MESSAGE_INTROSPECTION_H_

#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>

#include "rosidl_runtime_c/message_initialization.h"
#include "rosidl_runtime_c/message_type_support_struct.h"

#include "rosidl_typesupport_introspection_c/visibility_control.h"

/// Structure used to describe a single field of an interface type.
typedef struct rosidl_typesupport_introspection_c__MessageMember_s
{
/// The name of the field.
const char * name_;
/// The type of the field as a value of the field types enum
/// rosidl_typesupport_introspection_c_field_types.
/// e.g. rosidl_typesupport_introspection_c__ROS_TYPE_FLOAT
uint8_t type_id_;
/// If the field is a string, the upper bound on the length of the string.
size_t string_upper_bound_;
/// If the type_id_ value is rosidl_typesupport_introspection_c__ROS_TYPE_MESSAGE,
/// this points to an array describing the fields of the sub-interface.
const rosidl_message_type_support_t * members_;
/// True if this field is an array type, false if it is any other type. An
/// array has the same value for / type_id_.
bool is_array_;
/// If is_array_ is true, this contains the number of members in the array.
size_t array_size_;
/// If is_array_ is true, this specifies if the array has a maximum size. If it is true, the
/// value in array_size_ is the maximum size.
bool is_upper_bound_;
/// The bytes into the interface's in-memory representation that this field can be found at.
uint32_t offset_;
/// If the interface has a default value, this points to it.
const void * default_value_;
/// If is_array_ is true, a pointer to a function that gives the size of one member of the array.
size_t (* size_function)(const void *);
/// If is_array_ is true, a pointer to a function that gives a const pointer to the member of the
/// array indicated by index.
const void * (*get_const_function)(const void *, size_t index);
/// If is_array_ is true, a pointer to a function that gives a pointer to the member of the
/// array indicated by index.
void * (*get_function)(void *, size_t index);
/// Pointer to a function that fetches (i.e. copies) an item from
/// an array or sequence member. It takes a pointer to the member,
/// an index (which is assumed to be valid), and a pointer to a
/// pre-allocated value (which is assumed to be of the correct type).
///
/// Available for array and sequence members.
void (* fetch_function)(const void *, size_t index, void *);
/// Pointer to a function that assigns (i.e. copies) a value to an
/// item in an array or sequence member. It takes a pointer to the
/// member, an index (which is assumed to be valid), and a pointer
/// to an initialized value (which is assumed to be of the correct
/// type).
///
/// Available for array and sequence members.
void (* assign_function)(void *, size_t index, const void *);
/// If is_array_ is true, a pointer to a function that resizes the array.
bool (* resize_function)(void *, size_t size);
} rosidl_typesupport_introspection_c__MessageMember;

/// Structure used to describe all fields of a single interface type.
typedef struct rosidl_typesupport_introspection_c__MessageMembers_s
{
/// The namespace in which the interface resides, e.g. "example_messages__msg" for
/// example_messages/msg
const char * message_namespace_;
/// The name of the interface, e.g. "Int16"
const char * message_name_;
/// The number of fields in the interface
uint32_t member_count_;
/// The size of the interface structure in memory
size_t size_of_;
/// A pointer to the array that describes each field of the interface
const rosidl_typesupport_introspection_c__MessageMember * members_;
/// The function used to initialise the interface's in-memory representation
void (* init_function)(void *, enum rosidl_runtime_c__message_initialization);
/// The function used to clean up the interface's in-memory representation
void (* fini_function)(void *);
} rosidl_typesupport_introspection_c__MessageMembers;

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__MESSAGE_INTROSPECTION_H_
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// Copyright 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_INTROSPECTION_C__SERVICE_INTROSPECTION_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__SERVICE_INTROSPECTION_H_

#include <stddef.h>
#include <stdint.h>

#include "rosidl_runtime_c/service_type_support_struct.h"
#include "rosidl_runtime_c/visibility_control.h"

#include "rosidl_typesupport_introspection_c/message_introspection.h"

/// This struct provides introspection information for one service definition.
/// A service is comprised of two interfaces: the request and the response.
typedef struct rosidl_typesupport_introspection_c__ServiceMembers_s
{
/// The namespace in which the service resides, e.g. "example_messages__srv" for
/// example_messages/srv
const char * service_namespace_;
/// The name of the service, e.g. "AddTwoInts"
const char * service_name_;
/// A pointer to the introspection information structure for the request interface.
const rosidl_typesupport_introspection_c__MessageMembers * request_members_;
/// A pointer to the introspection information structure for the response interface.
const rosidl_typesupport_introspection_c__MessageMembers * response_members_;
} rosidl_typesupport_introspection_c__ServiceMembers;

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__SERVICE_INTROSPECTION_H_
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// Copyright 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_INTROSPECTION_C__VISIBILITY_CONTROL_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__VISIBILITY_CONTROL_H_

#ifdef __cplusplus
extern "C"
{
#endif

// This logic was borrowed (then namespaced) from the examples on the gcc wiki:
// https://gcc.gnu.org/wiki/Visibility

#if defined _WIN32 || defined __CYGWIN__
#ifdef __GNUC__
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT __attribute__ ((dllexport))
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT __attribute__ ((dllimport))
#else
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT __declspec(dllexport)
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT __declspec(dllimport)
#endif
#ifdef ROSIDL_TYPESUPPORT_INTROSPECTION_C_BUILDING_DLL
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT
#else
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT
#endif
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_LOCAL
#else
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT __attribute__ ((visibility("default")))
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT
#if __GNUC__ >= 4
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC __attribute__ ((visibility("default")))
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_LOCAL __attribute__ ((visibility("hidden")))
#else
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_LOCAL
#endif
#endif

#ifdef __cplusplus
}
#endif

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__VISIBILITY_CONTROL_H_
Binary file modified libmicroros/libmicroros.a
Binary file not shown.

0 comments on commit c2fcee7

Please sign in to comment.