QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
BulkRefreshJob.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <QtCore/QObject>
4
#include <QtCore/QSet>
5
#include <QtCore/QString>
6
#include <QtCore/QStringList>
7
#include <QtCore/QTimer>
8
9
#include <functional>
10
11
class
ParameterManager
;
12
15
class
BulkRefreshJob
:
public
QObject
16
{
17
public
:
18
BulkRefreshJob
(
ParameterManager
*mgr,
int
componentId,
const
QStringList &resolvedNames,
19
bool
notifyFailure, std::function<
void
(
const
QString &)> requestFn,
20
QObject *parent);
21
22
static
constexpr
int
kMaxRetryRounds
= 3;
23
static
constexpr
int
kRetryBaseDelayMs
= 1000;
24
25
private
:
26
void
_sendPendingRequests();
27
void
_onParamSuccess(
int
componentId,
const
QString ¶mName,
int
paramIndex);
28
void
_onParamFailure(
int
componentId,
const
QString ¶mName,
int
paramIndex);
29
void
_checkRoundComplete();
30
31
ParameterManager
*_mgr;
32
int
_componentId;
33
bool
_notifyFailure;
34
std::function<void(
const
QString&)> _requestFn;
35
QSet<QString> _pending;
36
QSet<QString> _failed;
37
int
_round = 0;
38
const
int
_retryBaseDelayMs;
39
QTimer _retryTimer;
40
};
BulkRefreshJob
Definition
BulkRefreshJob.h:16
BulkRefreshJob::kMaxRetryRounds
static constexpr int kMaxRetryRounds
Number of batch-level retry rounds before giving up.
Definition
BulkRefreshJob.h:22
BulkRefreshJob::kRetryBaseDelayMs
static constexpr int kRetryBaseDelayMs
Base retry interval; doubled each round.
Definition
BulkRefreshJob.h:23
ParameterManager
Definition
ParameterManager.h:19
src
FactSystem
BulkRefreshJob.h
Generated by
1.9.8