YARP
Yet Another Robot Platform
FrameTransformGet_nwc_yarp.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_DEV_FRAMETRANSFORMGET_NWC_YARP_H
7 #define YARP_DEV_FRAMETRANSFORMGET_NWC_YARP_H
8 
10 
11 #include <yarp/dev/DeviceDriver.h>
13 
14 
16 
102 {
103  class DataReader : public yarp::os::BufferedPort<return_getAllTransforms>
104  {
105  std::mutex m_mutex;
106  return_getAllTransforms m_Transforms;
107 
108  public:
109  DataReader() = default;
110 
112  void onRead(return_getAllTransforms& v) override;
113  bool getData(return_getAllTransforms& data);
114  };
115 
116 public:
122  ~FrameTransformGet_nwc_yarp() override = default;
123 
124  // yarp::dev::DeviceDriver
125  bool open(yarp::os::Searchable &params) override;
126  bool close() override;
127 
128  // yarp::dev::IFrameTransformStorageGet
129  bool getTransforms(std::vector<yarp::math::FrameTransform>& transforms) const override;
130 
131 private:
132  int m_verbose{4};
133  std::string m_deviceName{"frameTransformGet_nwc_yarp"};
134  std::string m_defaultConfigPrefix{"/frameTransformClient"};
135  std::string m_defaultServerPrefix{"/frameTransformServer/frameTransformGet_nws_yarp"};
136 
137  //streaming port
138  bool m_streaming_port_enabled = false;
139  std::string m_streaming_input_port_name;
140  std::string m_streaming_output_port_name;
141  DataReader* m_dataReader =nullptr;
142 
143  // for the RPC with the NWS
144  yarp::os::Port m_thrift_rpcPort;
145  std::string m_thrift_rpcPort_Name;
146  std::string m_thrift_server_rpcPort_Name;
147  mutable FrameTransformStorageGetRPC m_frameTransformStorageGetRPC;
148 
149 };
150 
151 
152 #endif // YARP_DEV_FRAMETRANSFORMGET_NWC_YARP_H
frameTransformGet_nwc_yarp: A network wrapper client which converts the input retrieved from a FrameT...
bool getTransforms(std::vector< yarp::math::FrameTransform > &transforms) const override
Obtains all frame transforms saved in a storage.
~FrameTransformGet_nwc_yarp() override=default
bool open(yarp::os::Searchable &params) override
Open the DeviceDriver.
FrameTransformGet_nwc_yarp & operator=(FrameTransformGet_nwc_yarp &&)=delete
FrameTransformGet_nwc_yarp(FrameTransformGet_nwc_yarp &&)=delete
FrameTransformGet_nwc_yarp & operator=(const FrameTransformGet_nwc_yarp &)=delete
FrameTransformGet_nwc_yarp(const FrameTransformGet_nwc_yarp &)=delete
FrameTransformGet_nwc_yarp()=default
bool close() override
Close the DeviceDriver.
Interface implemented by all device drivers.
Definition: DeviceDriver.h:35
A mini-server for performing network communication in the background.
Definition: BufferedPort.h:61
A mini-server for network communication.
Definition: Port.h:47
A base class for nested structures that can be searched.
Definition: Searchable.h:66