Ignition Transport

API Reference

8.1.0
CIface.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 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 INCLUDE_IGNITION_TRANSPORT_CIFACE_H_
19 #define INCLUDE_IGNITION_TRANSPORT_CIFACE_H_
20 
21 #include "ignition/transport/Export.hh"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26  typedef struct SubscribeOpts
27  {
28  // cppcheck-suppress unusedStructMember
29  unsigned int msgsPerSec;
30  } SubscribeOpts;
31 
34 
41  IgnTransportNode IGNITION_TRANSPORT_VISIBLE *ignTransportNodeCreate(
42  const char *_partition);
43 
46  void IGNITION_TRANSPORT_VISIBLE
48 
54  int IGNITION_TRANSPORT_VISIBLE
56  const char *_topic,
57  const char *_msgType);
58 
59 
66  int IGNITION_TRANSPORT_VISIBLE
68  const char *_topic,
69  const void *_data,
70  const char *_msgType);
71 
78  int IGNITION_TRANSPORT_VISIBLE
80  const char *_topic,
81  void (*_callback)(const char *, size_t, const char *, void *),
82  void *_userData);
83 
90  int IGNITION_TRANSPORT_VISIBLE
92  const char *_topic, SubscribeOpts _opts,
93  void (*_callback)(const char *, size_t, const char *, void *),
94  void *_userData);
95 
102  int IGNITION_TRANSPORT_VISIBLE
103  ignTransportSubscribeNonConst(IgnTransportNode *_node, char *_topic,
104  void (*_callback)(char *, size_t, char *, void *),
105  void *_userData);
106 
111  int IGNITION_TRANSPORT_VISIBLE
112  ignTransportUnsubscribe(IgnTransportNode *_node, const char *_topic);
113 
117  void IGNITION_TRANSPORT_VISIBLE ignTransportWaitForShutdown();
118 
119 #ifdef __cplusplus
120 }
121 #endif
122 
123 // INCLUDE_IGNITION_TRANSPORT_CIFACE_H_
124 #endif
unsigned int msgsPerSec
Definition: CIface.h:29
void IGNITION_TRANSPORT_VISIBLE ignTransportNodeDestroy(IgnTransportNode **_node)
Destroy a transport node.
int IGNITION_TRANSPORT_VISIBLE ignTransportSubscribeNonConst(IgnTransportNode *_node, char *_topic, void(*_callback)(char *, size_t, char *, void *), void *_userData)
Subscribe to a topic, and register a callback.
int IGNITION_TRANSPORT_VISIBLE ignTransportUnsubscribe(IgnTransportNode *_node, const char *_topic)
Unsubscribe from a topic.
int IGNITION_TRANSPORT_VISIBLE ignTransportAdvertise(IgnTransportNode *_node, const char *_topic, const char *_msgType)
Advertise a topic.
void IGNITION_TRANSPORT_VISIBLE ignTransportWaitForShutdown()
Block the current thread until a SIGINT or SIGTERM is received. Note that this function registers a s...
struct SubscribeOpts SubscribeOpts
int IGNITION_TRANSPORT_VISIBLE ignTransportSubscribeOptions(IgnTransportNode *_node, const char *_topic, SubscribeOpts _opts, void(*_callback)(const char *, size_t, const char *, void *), void *_userData)
Subscribe to a topic, and register a callback.
struct IgnTransportNode IgnTransportNode
A transport node.
Definition: CIface.h:33
int IGNITION_TRANSPORT_VISIBLE ignTransportPublish(IgnTransportNode *_node, const char *_topic, const void *_data, const char *_msgType)
Publishes a message on a topic.
IgnTransportNode IGNITION_TRANSPORT_VISIBLE * ignTransportNodeCreate(const char *_partition)
Create a transport node.
Definition: CIface.h:26
int IGNITION_TRANSPORT_VISIBLE ignTransportSubscribe(IgnTransportNode *_node, const char *_topic, void(*_callback)(const char *, size_t, const char *, void *), void *_userData)
Subscribe to a topic, and register a callback.