YARP
Yet Another Robot Platform
CalibratorThread.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
3  * All rights reserved.
4  *
5  * This software may be modified and distributed under the terms of the
6  * BSD-3-Clause license. See the accompanying LICENSE file for details.
7  */
8 
9 #ifndef YARP_ROBOTINTERFACE_CALIBRATORTHREAD_H
10 #define YARP_ROBOTINTERFACE_CALIBRATORTHREAD_H
11 
13 
14 #include <yarp/os/Thread.h>
15 
17 
18 
19 namespace yarp {
20 
21 namespace os {
22 class Semaphore;
23 } // namespace os
24 
25 namespace dev {
26 class ICalibrator;
27 class DeviceDriver;
28 } // namespace dev
29 
30 namespace robotinterface {
31 namespace impl {
32 
34 {
35 public:
36  enum Action
37  {
40  };
41 
43  const std::string& calibratorName,
45  const std::string& targetName,
47  ~CalibratorThread() override;
48 
49  void run() override;
50  void onStop() override;
51 
52 private:
53  class Private;
54  Private* const mPriv;
55 };
56 
57 } // namespace impl
58 } // namespace robotinterface
59 } // namespace yarp
60 
61 #endif // YARP_ROBOTINTERFACE_CALIBRATORTHREAD_H
Interface implemented by all device drivers.
Definition: DeviceDriver.h:38
An abstraction for a thread of execution.
Definition: Thread.h:25
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: environment.h:18