QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
GPSCancellation.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <functional>
4
#include <memory>
5
6
#include <QtCore/QtGlobal>
7
10
class
GPSCancelToken
11
{
12
public
:
14
GPSCancelToken
() =
default
;
15
17
[[nodiscard]]
bool
isCancelled
()
const
;
18
19
private
:
20
friend
class
GPSCancelSource
;
21
friend
class
GPSCancelCallback
;
22
23
struct
State
;
24
25
explicit
GPSCancelToken
(std::shared_ptr<State> state);
26
27
std::shared_ptr<State> _state;
28
};
29
31
class
GPSCancelSource
32
{
33
public
:
34
GPSCancelSource
();
35
36
[[nodiscard]]
GPSCancelToken
token
()
const
;
37
40
bool
cancel
();
41
42
[[nodiscard]]
bool
isCancelled
()
const
;
43
44
private
:
45
std::shared_ptr<GPSCancelToken::State> _state;
46
};
47
51
class
GPSCancelCallback
52
{
53
public
:
54
GPSCancelCallback
(
const
GPSCancelToken
& token, std::function<
void
()> callback);
55
~GPSCancelCallback
();
56
57
Q_DISABLE_COPY(
GPSCancelCallback
)
58
59
private
:
60
std::shared_ptr<GPSCancelToken::State> _state;
61
std::function<void()> _callback;
62
};
GPSCancelCallback
Definition
GPSCancellation.h:52
GPSCancelCallback::~GPSCancelCallback
~GPSCancelCallback()
Definition
GPSCancellation.cc:73
GPSCancelSource
Issues tokens and cancels them all at once. Copies share the cancellation.
Definition
GPSCancellation.h:32
GPSCancelSource::cancel
bool cancel()
Definition
GPSCancellation.cc:34
GPSCancelSource::isCancelled
bool isCancelled() const
Definition
GPSCancellation.cc:51
GPSCancelSource::GPSCancelSource
GPSCancelSource()
Definition
GPSCancellation.cc:25
GPSCancelSource::token
GPSCancelToken token() const
Definition
GPSCancellation.cc:29
GPSCancelToken
Definition
GPSCancellation.h:11
GPSCancelToken::isCancelled
bool isCancelled() const
Safe to call from any thread.
Definition
GPSCancellation.cc:20
GPSCancelToken::GPSCancelToken
GPSCancelToken()=default
A token that is never cancelled.
GPSCancelToken::State
Definition
GPSCancellation.cc:9
src
GPS
Core
Transport
GPSCancellation.h
Generated by
1.9.8