Lots of Keysets
[pierogi] / protocols / directvprotocol.h
diff --git a/protocols/directvprotocol.h b/protocols/directvprotocol.h
new file mode 100644 (file)
index 0000000..e0de258
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef DIRECTVPROTOCOL_H
+#define DIRECTVPROTOCOL_H
+
+#include "pirprotocol.h"
+
+class PIRRX51Hardware;
+
+enum DirectvFreq
+{
+  LowFreq,
+  MediumFreq,
+  HighFreq
+};
+
+class DirectvProtocol: public PIRProtocol
+{
+public:
+  DirectvProtocol(
+    QObject *guiObject,
+    unsigned int index,
+    DirectvFreq freq,
+    bool longGapFlag);
+
+private:
+  void startSendingCommand(
+    unsigned int threadableID,
+    PIRKeyName command);
+
+  int generateStandardCommand(
+    const PIRKeyBits &pkb,
+    PIRRX51Hardware &rx51device);
+
+  int pushDTVBits(
+    const CommandSequence &bits,
+    PIRRX51Hardware &device);
+
+  void generateChecksum(
+    const CommandSequence &bits,
+    CommandSequence &checksumBits);
+};
+
+#endif // DIRECTVPROTOCOL_H