Gazebo Transport
API Reference
13.4.1
insert_drive_file
Tutorials
library_books
Classes
toc
Namespaces
insert_drive_file
Files
launch
Gazebo Website
Index
List
Hierarchy
Members: All
Members: Functions
Members: Variables
Members: Typedefs
Members: Enumerations
Members: Enumerator
List
Members
Functions
Typedefs
Variables
Enumerations
Enumerator
src
gz-transport
include
gz
transport
Helpers.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2014 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
18
#ifndef GZ_TRANSPORT_HELPERS_HH_
19
#define GZ_TRANSPORT_HELPERS_HH_
20
21
#include <zmq.hpp>
22
23
#include <cstdint>
24
#include <cstdio>
25
#include <cstring>
26
#include <limits>
27
#include <string>
28
#include <vector>
29
30
#include "gz/transport/config.hh"
31
#include "gz/transport/Export.hh"
32
33
// Avoid using deprecated message send/receive function when possible.
34
#if ZMQ_VERSION > ZMQ_MAKE_VERSION(4, 3, 1)
35
#define GZ_ZMQ_POST_4_3_1
36
#endif
37
38
// Avoid using deprecated set function when possible
39
#if CPPZMQ_VERSION >= ZMQ_MAKE_VERSION(4, 7, 0)
40
// Ubuntu Focal (20.04) packages a different "4.7.0"
41
#ifndef UBUNTU_FOCAL
42
#define GZ_CPPZMQ_POST_4_7_0
43
#endif
44
#endif
45
46
namespace
gz::transport
47
{
48
// Inline bracket to help doxygen filtering.
49
inline
namespace
GZ_TRANSPORT_VERSION_NAMESPACE {
50
//
52
static
const
uint64_t
kUnthrottled
=
std::numeric_limits<uint64_t>::max
();
53
58
bool
GZ_TRANSPORT_VISIBLE
env
(
const
std::string
&_name,
59
std::string
&_value);
60
65
std::vector<std::string>
GZ_TRANSPORT_VISIBLE
split
(
66
const
std::string
&_orig,
67
char
_delim);
68
71
unsigned
int
GZ_TRANSPORT_VISIBLE
getProcessId
();
72
73
// Use safer functions on Windows
74
#ifdef _MSC_VER
75
#define gz_strcat strcat_s
76
#define gz_strcpy strcpy_s
77
#define gz_sprintf sprintf_s
78
#define gz_strdup _strdup
79
#else
80
#define gz_strcat std::strcat
81
#define gz_strcpy std::strcpy
82
#define gz_sprintf std::sprintf
83
#define gz_strdup strdup
84
#endif
85
}
86
}
87
88
// GZ_TRANSPORT_HELPERS_HH_
89
#endif