MythTV  master
dsmccreceiver.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) David C.J. Matthews 2005, 2006
3  * Derived from libdsmcc by Richard Palmer
4  */
5 #ifndef DSMCC_RECEIVER_H
6 #define DSMCC_RECEIVER_H
7 
8 #include "dsmccbiop.h"
9 
10 class DsmccDii
11 {
12  public:
13  DsmccDii() = default;
15  {
16  delete[] m_modules;
17  }
18 
19  unsigned long m_downloadId {0};
20  unsigned short m_blockSize {0};
21  unsigned long m_tcDownloadScenario {0};
22  unsigned short m_numberModules {0};
23  unsigned short m_privateDataLen {0};
25  unsigned char *m_privateData {nullptr};
26 };
27 
29 {
30  public:
31  char m_tableId; /* always 0x3B */
32 
33  std::array<uint8_t,2> m_flags;
34 
35  unsigned short m_tableIdExtension;
36 
37  /*
38  * unsigned int section_syntax_indicator : 1; UKProfile - always 1
39  * unsigned int private_indicator : 1; UKProfile - hence always 0
40  * unsigned int reserved : 2; always 11b
41  * unsigned int dsmcc_section_length : 12;
42  */
43 
44  unsigned char m_flags2;
45 
46  /*
47  * unsigned int reserved : 2; always 11b
48  * unsigned int version_number : 5; 00000b
49  * unsigned int current_next_indicator : 1 1b
50  */
51 
52  unsigned long m_crc; /* UKProfile */
53 };
54 
55 class DsmccDb
56 {
57  public:
58  DsmccDb() = default;
59  ~DsmccDb() = default;
60 
61  unsigned short m_moduleId {0};
62  unsigned char m_moduleVersion {0};
63  unsigned short m_blockNumber {0};
64  unsigned int m_len {0};
65 };
66 
67 #endif
68 
DsmccSectionHeader
Definition: dsmccreceiver.h:28
DsmccDb
Definition: dsmccreceiver.h:55
DsmccDii::DsmccDii
DsmccDii()=default
DsmccDb::m_blockNumber
unsigned short m_blockNumber
Definition: dsmccreceiver.h:63
DsmccDii::m_downloadId
unsigned long m_downloadId
Definition: dsmccreceiver.h:19
DsmccDii::~DsmccDii
~DsmccDii()
Definition: dsmccreceiver.h:14
DsmccDii::m_privateDataLen
unsigned short m_privateDataLen
Definition: dsmccreceiver.h:23
DsmccDii::m_blockSize
unsigned short m_blockSize
Definition: dsmccreceiver.h:20
DsmccDii::m_tcDownloadScenario
unsigned long m_tcDownloadScenario
Definition: dsmccreceiver.h:21
DsmccSectionHeader::m_tableId
char m_tableId
Definition: dsmccreceiver.h:31
DsmccDb::~DsmccDb
~DsmccDb()=default
DsmccDii
Definition: dsmccreceiver.h:10
DsmccDii::m_privateData
unsigned char * m_privateData
Definition: dsmccreceiver.h:25
dsmccbiop.h
DsmccDb::m_moduleVersion
unsigned char m_moduleVersion
Definition: dsmccreceiver.h:62
DsmccSectionHeader::m_tableIdExtension
unsigned short m_tableIdExtension
Definition: dsmccreceiver.h:35
DsmccModuleInfo
Definition: dsmccbiop.h:227
DsmccSectionHeader::m_flags
std::array< uint8_t, 2 > m_flags
Definition: dsmccreceiver.h:33
DsmccDb::m_len
unsigned int m_len
Definition: dsmccreceiver.h:64
DsmccSectionHeader::m_flags2
unsigned char m_flags2
Definition: dsmccreceiver.h:44
DsmccDb::DsmccDb
DsmccDb()=default
DsmccSectionHeader::m_crc
unsigned long m_crc
Definition: dsmccreceiver.h:52
DsmccDii::m_numberModules
unsigned short m_numberModules
Definition: dsmccreceiver.h:22
DsmccDii::m_modules
DsmccModuleInfo * m_modules
Definition: dsmccreceiver.h:24
DsmccDb::m_moduleId
unsigned short m_moduleId
Definition: dsmccreceiver.h:61