Log In
New Account
  
Home My Page Project Cloud Code Snippets Project Openings Pierogi
Summary Forums Tracker Lists Tasks Docs News SCM Files
index f5611e3..09569f5 100644 (file)
@@ -1,45 +1,23 @@
 #ifndef PIRKEYSETMETADATA_H
 #define PIRKEYSETMETADATA_H
 
-//#include <set>
-#include <map>
-#include <list>
-//#include <string>
-
 #include "pirkeynames.h"
 #include "pirmakenames.h"
+//#include "pirdevicetypenames.h"
 
-#include "pirprotocol.h"
+#include "pirdeviceinfo.h"
 
-typedef std::map<PIRKeyName, const char *> KeyCollection;
+#include <map>
+//#include <list>
 
-enum DeviceType
-{
-  TV_Device,
-  VCR_Device,
-  DVD_Device,
-  Audio_Device,
-  Computer_Device
-};
+class QThread;
+class QObject;
 
-class DeviceInfo
-{
-public:
-  DeviceInfo(
-    PIRMakeName ma,
-    const char *mo,
-    DeviceType t)
-  : make(ma),
-    model(mo),
-    type(t)
-  {}
+class PIRSelectDeviceForm;
+class PIRProtocol;
 
-  PIRMakeName make;
-  const char *model;
-  DeviceType type;
-};
+typedef std::map<PIRKeyName, const char *> KeyCollection;
 
-typedef std::list<DeviceInfo> DeviceCollection;
 
 class PIRKeysetMetaData
 {
@@ -49,43 +27,147 @@ public:
     PIRMakeName make,
     unsigned int index);
 
+  ~PIRKeysetMetaData();
+
   bool hasKey(
-    PIRKeyName name);
+    PIRKeyName name) const;
+
+  unsigned int getID() const;
+
+  PIRMakeName getMake() const;
+
+  const char *getKeysetName() const;
+
+  unsigned int getCarrierFrequency() const;
+
+  void setCarrierFrequency(
+    unsigned int carrierFrequency);
 
-  unsigned int getID();
+  unsigned int getDutyCycle() const;
 
-  PIRMakeName getMake();
-  const char *getKeysetName();
+  void setDutyCycle(
+    unsigned int dutyCycle);
 
-  void moveProtocolToThread(
-    QThread &thread);
+  virtual void populateProtocol(
+    QObject *guiObject) = 0;
+
+  bool clearProtocol();
+
+  void moveToThread(
+    QThread *thread);
+
+  static void populateDevices(
+    PIRSelectDeviceForm *sdf);
 
 protected:
   void addControlledDevice(
     PIRMakeName make,
     const char *model,
-    DeviceType type);
+    PIRDeviceTypeName type);
+
+  void addDeviceType(
+    PIRDeviceTypeName n);
 
   void addKey(
     const char *name,
     PIRKeyName key,
     unsigned long data,
-    unsigned int bits);
+    unsigned int size);
 
-  KeyCollection keys;
+  // Special helper methods for SIRC keys:
+  void addSIRC12Key(
+    const char *name,
+    PIRKeyName key,
+    unsigned int addressData,
+    unsigned int commandData);
 
-  DeviceCollection controlledDevices;
+  void addSIRC15Key(
+    const char *name,
+    PIRKeyName key,
+    unsigned int addressData,
+    unsigned int commandData);
 
-  PIRProtocol *threadableProtocol;
+  void addSIRC20Key(
+    const char *name,
+    PIRKeyName key,
+    unsigned int secondaryAddressData,
+    unsigned int primaryAddressData,
+    unsigned int commandData);
+
+  // Helper method for Sharp keys:
+  void addSharpKey(
+    const char *name,
+    PIRKeyName key,
+    unsigned int addressData,
+    unsigned int commandData);
+
+  void addNECKey(
+    const char *name,
+    PIRKeyName key,
+    unsigned int addressData,
+    unsigned int commandData);
+
+  void addPanOldKey(
+    const char *name,
+    PIRKeyName key,
+    unsigned int addressData,
+    unsigned int commandData);
+
+  void addPioneerKey(
+    const char *name,
+    PIRKeyName key,
+    unsigned int addressOne,
+    unsigned int commandOne,
+    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 addXMPKey(
+    const char *name,
+    PIRKeyName key,
+    unsigned int firstCommand,
+    unsigned int secondCommand);
+
+  void setPreData(
+    unsigned long data,
+    unsigned int bits);
+
+  void setPostData(
+    unsigned long data,
+    unsigned int bits);
 
   void setKeysetName(
     const char *name);
 
+  KeyCollection keys;
+
+  PIRProtocol *threadableProtocol;
+  unsigned int index;
+
 private:
   const char *keysetName;
   PIRMakeName make;
-
-  unsigned int id;
+  static PIRDeviceCollection controlledDevices;
+//  PIRDeviceTypeCollection deviceTypes;
 };
 
 

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment