Lots of Keysets
[pierogi] / protocols / directvprotocol.h
1 #ifndef DIRECTVPROTOCOL_H
2 #define DIRECTVPROTOCOL_H
3
4 #include "pirprotocol.h"
5
6 class PIRRX51Hardware;
7
8 enum DirectvFreq
9 {
10   LowFreq,
11   MediumFreq,
12   HighFreq
13 };
14
15 class DirectvProtocol: public PIRProtocol
16 {
17 public:
18   DirectvProtocol(
19     QObject *guiObject,
20     unsigned int index,
21     DirectvFreq freq,
22     bool longGapFlag);
23
24 private:
25   void startSendingCommand(
26     unsigned int threadableID,
27     PIRKeyName command);
28
29   int generateStandardCommand(
30     const PIRKeyBits &pkb,
31     PIRRX51Hardware &rx51device);
32
33   int pushDTVBits(
34     const CommandSequence &bits,
35     PIRRX51Hardware &device);
36
37   void generateChecksum(
38     const CommandSequence &bits,
39     CommandSequence &checksumBits);
40 };
41
42 #endif // DIRECTVPROTOCOL_H