YARP
Yet Another Robot Platform
ModifyingCarrier.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef YARP_OS_MODIFYINGCARRIER_H
7 #define YARP_OS_MODIFYINGCARRIER_H
8 
10 
11 namespace yarp {
12 namespace os {
13 
20 {
21 public:
22  Carrier* create() const override = 0;
23 
24  std::string getName() const override = 0;
25 
26  bool checkHeader(const yarp::os::Bytes& header) override;
27  void getHeader(yarp::os::Bytes& header) const override;
28  bool respondToHeader(yarp::os::ConnectionState& proto) override;
29  bool modifiesIncomingData() const override;
30  bool modifiesOutgoingData() const override;
31  bool modifiesReply() const override;
32  void setCarrierParams(const yarp::os::Property& params) override;
33  void getCarrierParams(yarp::os::Property& params) const override;
34  bool configureFromProperty(yarp::os::Property& prop) override;
35  // only remains to implement modifyIncomingData()
36 };
37 
38 } // namespace os
39 } // namespace yarp
40 
41 #endif // YARP_OS_MODIFYINGCARRIER_H
A starter class for implementing simple carriers.
A simple abstraction for a block of bytes.
Definition: Bytes.h:25
A base class for connection types (tcp, mcast, shmem, ...) which are called carriers in YARP.
Definition: Carrier.h:45
The basic state of a connection - route, streams in use, etc.
A starter class for implementing simple modifying carriers.
std::string getName() const override=0
Get the name of this connection type ("tcp", "mcast", "shmem", ...)
Carrier * create() const override=0
Factory method.
A class for storing options and configuration information.
Definition: Property.h:34
The main, catch-all namespace for YARP.
Definition: dirs.h:16
#define YARP_os_API
Definition: api.h:18