More Keysets
[pierogi] / pirkeysetmetadata.h
index 0673eb6..c961b00 100644 (file)
@@ -1,15 +1,18 @@
 #ifndef PIRKEYSETMETADATA_H
 #define PIRKEYSETMETADATA_H
 
-#include <map>
-#include <list>
-//#include <string>
-
 #include "pirkeynames.h"
 #include "pirmakenames.h"
 #include "pirdevicetypenames.h"
-#include "pirkeysetwidgetitem.h"
-#include "protocols/pirprotocol.h"
+
+#include <map>
+#include <list>
+
+class QThread;
+class QObject;
+
+class PIRKeysetWidgetItem;
+class PIRProtocol;
 
 typedef std::map<PIRKeyName, const char *> KeyCollection;
 
@@ -49,8 +52,11 @@ public:
 
   const char *getKeysetName() const;
 
-  void moveProtocolToThread(
-    QThread &thread);
+  virtual void populateProtocol(
+    QObject *guiObject) = 0;
+
+  void moveToThread(
+    QThread *thread);
 
   void populateDeviceTypes(
     PIRKeysetWidgetItem *kwi) const;
@@ -111,6 +117,26 @@ protected:
     unsigned int addressTwo,
     unsigned int commandTwo);
 
+/*
+  void addRCAKey(
+    const char *name,
+    PIRKeyName key,
+    unsigned int addressData,
+    unsigned int commandData);
+*/
+
+  void addKaseikyoKey(
+    const char *name,
+    PIRKeyName key,
+    unsigned int addressData,
+    unsigned int commandData);
+
+  void addDishKey(
+    const char *name,
+    PIRKeyName key,
+    unsigned int firstCommand,
+    unsigned int secondCommand);
+
   void setPreData(
     unsigned long data,
     unsigned int bits);
@@ -119,21 +145,20 @@ protected:
     unsigned long data,
     unsigned int bits);
 
+  void setKeysetName(
+    const char *name);
+
   KeyCollection keys;
 
   DeviceCollection controlledDevices;
 
   PIRProtocol *threadableProtocol;
-
-  void setKeysetName(
-    const char *name);
+  unsigned int index;
 
 private:
   const char *keysetName;
   PIRMakeName make;
   PIRDeviceTypeCollection deviceTypes;
-
-  unsigned int id;
 };