forked from mavlink/MAVSDK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
info.h
48 lines (37 loc) · 990 Bytes
/
info.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#pragma once
#include <cstdint>
namespace dronecore {
class InfoImpl;
class Info
{
public:
explicit Info(InfoImpl *impl);
~Info();
// 16 chars + terminating 0
static const unsigned GIT_HASH_STR_LEN = 17;
struct Version {
int flight_sw_major;
int flight_sw_minor;
int flight_sw_patch;
int flight_sw_vendor_major;
int flight_sw_vendor_minor;
int flight_sw_vendor_patch;
char flight_sw_git_hash[GIT_HASH_STR_LEN];
int os_sw_major;
int os_sw_minor;
int os_sw_patch;
char os_sw_git_hash[GIT_HASH_STR_LEN];
uint16_t vendor_id;
uint16_t product_id;
};
uint64_t uuid() const;
bool is_complete() const;
Version get_version() const;
// Non-copyable
Info(const Info &) = delete;
const Info &operator=(const Info &) = delete;
private:
// Underlying implementation, set at instantiation
InfoImpl *_impl;
};
} // namespace dronecore