rmw
master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
include
rmw
validate_namespace.h
Go to the documentation of this file.
1
// Copyright 2017 Open Source Robotics Foundation, Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#ifndef RMW__VALIDATE_NAMESPACE_H_
16
#define RMW__VALIDATE_NAMESPACE_H_
17
18
#if __cplusplus
19
extern
"C"
20
{
21
#endif
22
23
#include "
rmw/macros.h
"
24
#include "
rmw/types.h
"
25
#include "
rmw/validate_full_topic_name.h
"
26
27
#define RMW_NAMESPACE_VALID 0
28
#define RMW_NAMESPACE_INVALID_IS_EMPTY_STRING 1
29
#define RMW_NAMESPACE_INVALID_NOT_ABSOLUTE 2
30
#define RMW_NAMESPACE_INVALID_ENDS_WITH_FORWARD_SLASH 3
31
#define RMW_NAMESPACE_INVALID_CONTAINS_UNALLOWED_CHARACTERS 4
32
#define RMW_NAMESPACE_INVALID_CONTAINS_REPEATED_FORWARD_SLASH 5
33
#define RMW_NAMESPACE_INVALID_NAME_TOKEN_STARTS_WITH_NUMBER 6
34
#define RMW_NAMESPACE_INVALID_TOO_LONG 7
35
36
// An additional 2 characters are reserved for the shortest possible topic, e.g. '/X'.
37
#define RMW_NAMESPACE_MAX_LENGTH (RMW_TOPIC_MAX_NAME_LENGTH - 2U)
38
40
90
RMW_PUBLIC
91
RMW_WARN_UNUSED
92
rmw_ret_t
93
rmw_validate_namespace
(
94
const
char
* namespace_,
95
int
* validation_result,
96
size_t
* invalid_index);
97
99
RMW_PUBLIC
100
RMW_WARN_UNUSED
101
const
char
*
102
rmw_namespace_validation_result_string
(
int
validation_result);
103
104
#if __cplusplus
105
}
106
#endif
107
108
#endif // RMW__VALIDATE_NAMESPACE_H_
types.h
RMW_PUBLIC
#define RMW_PUBLIC
Definition:
visibility_control.h:48
RMW_WARN_UNUSED
#define RMW_WARN_UNUSED
Definition:
macros.h:22
rmw_namespace_validation_result_string
const char * rmw_namespace_validation_result_string(int validation_result)
Return a validation result description, or NULL if unknown or RMW_NAMESPACE_VALID.
macros.h
rmw_ret_t
int rmw_ret_t
Definition:
types.h:29
rmw_validate_namespace
rmw_ret_t rmw_validate_namespace(const char *namespace_, int *validation_result, size_t *invalid_index)
Determine if a given namespace is valid.
validate_full_topic_name.h
Generated by
1.8.14