YARP
Yet Another Robot Platform
CalibratorThread.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_ROBOTINTERFACE_CALIBRATORTHREAD_H
7 #define YARP_ROBOTINTERFACE_CALIBRATORTHREAD_H
8 
10 
11 #include <yarp/os/Thread.h>
12 
14 
15 
16 namespace yarp {
17 
18 namespace os {
19 class Semaphore;
20 } // namespace os
21 
22 namespace dev {
23 class ICalibrator;
24 class DeviceDriver;
25 } // namespace dev
26 
27 namespace robotinterface {
28 namespace impl {
29 
31 {
32 public:
33  enum Action
34  {
37  };
38 
40  const std::string& calibratorName,
42  const std::string& targetName,
44  ~CalibratorThread() override;
45 
46  void run() override;
47  void onStop() override;
48 
49 private:
50  class Private;
51  Private* const mPriv;
52 };
53 
54 } // namespace impl
55 } // namespace robotinterface
56 } // namespace yarp
57 
58 #endif // YARP_ROBOTINTERFACE_CALIBRATORTHREAD_H
Interface implemented by all device drivers.
Definition: DeviceDriver.h:35
An abstraction for a thread of execution.
Definition: Thread.h:22
void run() override
Main body of the new thread.
void onStop() override
Call-back, called while halting the thread (before join).
CalibratorThread(yarp::dev::ICalibrator *calibrator, const std::string &calibratorName, yarp::dev::DeviceDriver *target, const std::string &targetName, yarp::robotinterface::impl::CalibratorThread::Action action)
The main, catch-all namespace for YARP.
Definition: dirs.h:16