MythTV master
avcinfo.h
Go to the documentation of this file.
1#ifndef AVC_INFO_H
2#define AVC_INFO_H
3
4// C++ headers
5#include <array>
6#include <cstdint>
7#include <vector>
8
9// Qt headers
10#include <QString>
11
12static inline QString guid_to_string(uint64_t guid)
13{
14 return QString("%1").arg(guid, 16, 16, QLatin1Char('0')).toUpper();
15}
16
17static inline uint64_t string_to_guid(const QString &guid)
18{
19 return guid.toULongLong(nullptr, 16);
20}
21
23{
24 public:
25 AVCInfo();
26 AVCInfo(const AVCInfo &o) = default;
27 AVCInfo &operator=(const AVCInfo &o);
28 virtual ~AVCInfo() = default;
29
30 virtual bool SendAVCCommand(
31 const std::vector<uint8_t> &/*cmd*/,
32 std::vector<uint8_t> &/*result*/,
33 int /*retry_cnt*/)
34 {
35 return false;
36 }
37
38 bool GetSubunitInfo(void);
39
40 bool IsSubunitType(int subunit_type) const;
41 QString GetSubunitInfoString(void) const;
42 QString GetGUIDString(void) const { return guid_to_string(m_guid); }
43
44 public:
45 int m_port {-1};
46 int m_node {-1};
47 uint64_t m_guid {0};
53 std::array<uint8_t,32> m_unit_table {};
54};
55
56#endif // AVC_INFO_H
static uint64_t string_to_guid(const QString &guid)
Definition: avcinfo.h:17
static QString guid_to_string(uint64_t guid)
Definition: avcinfo.h:12
QString GetGUIDString(void) const
Definition: avcinfo.h:42
uint m_modelid
Definition: avcinfo.h:50
uint m_firmware_revision
Definition: avcinfo.h:51
uint64_t m_guid
Definition: avcinfo.h:47
AVCInfo(const AVCInfo &o)=default
int m_port
Definition: avcinfo.h:45
bool IsSubunitType(int subunit_type) const
Definition: avcinfo.cpp:66
uint m_vendorid
Definition: avcinfo.h:49
uint m_specid
Definition: avcinfo.h:48
AVCInfo & operator=(const AVCInfo &o)
Definition: avcinfo.cpp:14
virtual bool SendAVCCommand(const std::vector< uint8_t > &, std::vector< uint8_t > &, int)
Definition: avcinfo.h:30
bool GetSubunitInfo(void)
Definition: avcinfo.cpp:32
virtual ~AVCInfo()=default
int m_node
Definition: avcinfo.h:46
AVCInfo()
Definition: avcinfo.cpp:9
QString m_product_name
Definition: avcinfo.h:52
std::array< uint8_t, 32 > m_unit_table
Definition: avcinfo.h:53
QString GetSubunitInfoString(void) const
Definition: avcinfo.cpp:74
unsigned int uint
Definition: freesurround.h:24