Gazebo Transport
API Reference
14.0.0
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
47
{
48
namespace
transport
49
{
50
// Inline bracket to help doxygen filtering.
51
inline
namespace
GZ_TRANSPORT_VERSION_NAMESPACE {
52
//
54
static
const
uint64_t
kUnthrottled
=
std::numeric_limits<uint64_t>::max
();
55
60
bool
GZ_TRANSPORT_VISIBLE
env
(
const
std::string
&_name,
61
std::string
&_value);
62
67
std::vector<std::string>
GZ_TRANSPORT_VISIBLE
split
(
68
const
std::string
&_orig,
69
char
_delim);
70
73
unsigned
int
GZ_TRANSPORT_VISIBLE
getProcessId
();
74
75
// Use safer functions on Windows
76
#ifdef _MSC_VER
77
#define gz_strcat strcat_s
78
#define gz_strcpy strcpy_s
79
#define gz_sprintf sprintf_s
80
#define gz_strdup _strdup
81
#else
82
#define gz_strcat std::strcat
83
#define gz_strcpy std::strcpy
84
#define gz_sprintf std::sprintf
85
#define gz_strdup strdup
86
#endif
87
}
88
}
89
}
90
91
// GZ_TRANSPORT_HELPERS_HH_
92
#endif