YARP
Yet Another Robot Platform
FrameTransformGet_nws_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_NWS_YARP_H
7 #define YARP_DEV_FRAMETRANSFORMGET_NWS_YARP_H
8 
10 #include <yarp/dev/WrapperSingle.h>
12 
13 #include <yarp/os/PeriodicThread.h>
15 
16 // TODO FIXME STE need to check subdevice option
80 {
81 
82 public:
89 
90  // yarp::os::PeriodicThread
91  bool threadInit() override;
92  void threadRelease() override;
93  void run() override;
94 
95  // yarp::dev::DeviceDriver
96  bool open(yarp::os::Searchable &params) override;
97  bool close() override;
98 
99  // yarp::dev::IWrapper
100  bool attach(yarp::dev::PolyDriver* deviceToAttach) override;
101  bool detach() override;
102 
103  // FrameTransformStorageGetRPC
105 
106 private:
107  // mutable std::vector<std::mutex> m_PolyDriver_mutex;
108  // double m_period{const_default_thread_period};
109  bool m_streaming_port_enabled = true;
110  int m_verbose{4};
111  yarp::os::Port m_streaming_port;
112  std::string m_streaming_port_name;
113  std::string m_defaultConfigPrefix{"/frameTransformServer"};
114  std::string m_deviceName{"frameTransformGet_nws_yarp"};
115 
116  // for requesting the transforms to FrameTransformStorageGetMultiplexer
117  yarp::dev::IFrameTransformStorageGet* m_iFrameTransformStorageGet = nullptr;
118 
119  // for the RPC with the NWC
120  yarp::os::Port m_thrift_rpcPort;
121  std::string m_thrift_rpcPort_Name;
122 };
123 
124 #endif // YARP_DEV_FRAMETRANSFORMGET_NWS_YARP_H
frameTransformGet_nws_yarp: A network wrapper client which converts the input retrieved from an IFram...
bool threadInit() override
Initialization method.
void run() override
Loop function.
bool detach() override
Detach the object (you must have first called attach).
return_getAllTransforms getTransformsRPC() override
FrameTransformGet_nws_yarp & operator=(FrameTransformGet_nws_yarp &&)=delete
FrameTransformGet_nws_yarp(const FrameTransformGet_nws_yarp &)=delete
void threadRelease() override
Release method.
~FrameTransformGet_nws_yarp()=default
bool attach(yarp::dev::PolyDriver *deviceToAttach) override
Attach to another object.
bool close() override
Close the DeviceDriver.
FrameTransformGet_nws_yarp(FrameTransformGet_nws_yarp &&)=delete
FrameTransformGet_nws_yarp & operator=(const FrameTransformGet_nws_yarp &)=delete
bool open(yarp::os::Searchable &params) override
Device driver interface.
Interface implemented by all device drivers.
Definition: DeviceDriver.h:35
A container for a device driver.
Definition: PolyDriver.h:24
Helper interface for an object that can wrap/or "attach" to a single other device.
Definition: WrapperSingle.h:32
An abstraction for a periodic thread.
A mini-server for network communication.
Definition: Port.h:47
A base class for nested structures that can be searched.
Definition: Searchable.h:66