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
16namespace yarp {
17
18namespace os {
19class Semaphore;
20} // namespace os
21
22namespace dev {
23class ICalibrator;
24class DeviceDriver;
25} // namespace dev
26
27namespace robotinterface::impl {
28
30{
31public:
32 enum Action
33 {
36 };
37
39 const std::string& calibratorName,
41 const std::string& targetName,
43 ~CalibratorThread() override;
44
45 void run() override;
46 void onStop() override;
47
48private:
49 class Private;
50 Private* const mPriv;
51};
52
53} // namespace robotinterface::impl
54} // namespace yarp
55
56#endif // YARP_ROBOTINTERFACE_CALIBRATORTHREAD_H
Interface implemented by all device drivers.
Definition: DeviceDriver.h:30
An abstraction for a thread of execution.
Definition: Thread.h:21
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