YARP
Yet Another Robot Platform
Carriers.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-FileCopyrightText: 2006-2010 RobotCub Consortium
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef YARP_OS_CARRIERS_H
8#define YARP_OS_CARRIERS_H
9
10#include <yarp/os/Bottle.h>
11#include <yarp/os/Bytes.h>
12#include <yarp/os/Carrier.h>
13#include <yarp/os/Contact.h>
14#include <yarp/os/Face.h>
16
17#include <string>
18
19
20namespace yarp::os {
21
29{
30 Carriers();
31
32public:
33
37 virtual ~Carriers();
38
45 static Carrier* chooseCarrier(const std::string& name);
46
50 static Carrier* getCarrierTemplate(const std::string& name);
51
58 static Carrier* chooseCarrier(const Bytes& bytes);
59
74 static Face* listen(const Contact& address);
75
83 static OutputProtocol* connect(const Contact& address);
84
88 void clear();
89
98 static bool addCarrierPrototype(Carrier* carrier);
99
100 static Carriers& getInstance();
101
102 static Bottle listCarriers();
103
104private:
105#ifndef DOXYGEN_SHOULD_SKIP_THIS
106 class Private;
107 Private* const mPriv;
108#endif // DOXYGEN_SHOULD_SKIP_THIS
109};
110
111} // namespace yarp::os
112
113
114#endif // YARP_OS_CARRIERS_H
A simple collection of objects that can be described and transmitted in a portable way.
Definition: Bottle.h:64
A simple abstraction for a block of bytes.
Definition: Bytes.h:24
A base class for connection types (tcp, mcast, shmem, ...) which are called carriers in YARP.
Definition: Carrier.h:44
Collection of carriers, a singleton.
Definition: Carriers.h:29
Represents how to reach a part of a YARP network.
Definition: Contact.h:33
The initial point-of-contact with a port.
Definition: Face.h:20
The output side of an active connection between two ports.
An interface to the operating system, including Port based communication.
#define YARP_os_API
Definition: api.h:18