Log In
New Account
  
Home My Page Project Cloud Code Snippets Project Openings Pierogi
Summary Forums Tracker Lists Tasks Docs News SCM Files
1 #ifndef PIRKEYSETMETADATA_H
2 #define PIRKEYSETMETADATA_H
4 #include "pirkeynames.h"
5 #include "pirmakenames.h"
6 //#include "pirdevicetypenames.h"
8 #include "pirdeviceinfo.h"
10 #include <map>
11 //#include <list>
13 class QThread;
14 class QObject;
16 class PIRSelectDeviceForm;
17 class PIRProtocol;
19 typedef std::map<PIRKeyName, const char *> KeyCollection;
22 class PIRKeysetMetaData
23 {
24 public:
25   PIRKeysetMetaData(
26     const char *keysetName,
27     PIRMakeName make,
28     unsigned int index);
30   ~PIRKeysetMetaData();
32   bool hasKey(
33     PIRKeyName name) const;
35   unsigned int getID() const;
37   PIRMakeName getMake() const;
39   const char *getKeysetName() const;
41   unsigned int getCarrierFrequency() const;
43   void setCarrierFrequency(
44     unsigned int carrierFrequency);
46   unsigned int getDutyCycle() const;
48   void setDutyCycle(
49     unsigned int dutyCycle);
51   virtual void populateProtocol(
52     QObject *guiObject) = 0;
54   bool clearProtocol();
56   void moveToThread(
57     QThread *thread);
59   static void populateDevices(
60     PIRSelectDeviceForm *sdf);
62 protected:
63   void addControlledDevice(
64     PIRMakeName make,
65     const char *model,
66     PIRDeviceTypeName type);
68   void addDeviceType(
69     PIRDeviceTypeName n);
71   void addKey(
72     const char *name,
73     PIRKeyName key,
74     unsigned long data,
75     unsigned int size);
77   // Special helper methods for SIRC keys:
78   void addSIRC12Key(
79     const char *name,
80     PIRKeyName key,
81     unsigned int addressData,
82     unsigned int commandData);
84   void addSIRC15Key(
85     const char *name,
86     PIRKeyName key,
87     unsigned int addressData,
88     unsigned int commandData);
90   void addSIRC20Key(
91     const char *name,
92     PIRKeyName key,
93     unsigned int secondaryAddressData,
94     unsigned int primaryAddressData,
95     unsigned int commandData);
97   // Helper method for Sharp keys:
98   void addSharpKey(
99     const char *name,
100     PIRKeyName key,
101     unsigned int addressData,
102     unsigned int commandData);
104   void addNECKey(
105     const char *name,
106     PIRKeyName key,
107     unsigned int addressData,
108     unsigned int commandData);
110   void addPanOldKey(
111     const char *name,
112     PIRKeyName key,
113     unsigned int addressData,
114     unsigned int commandData);
116   void addPioneerKey(
117     const char *name,
118     PIRKeyName key,
119     unsigned int addressOne,
120     unsigned int commandOne,
121     unsigned int addressTwo,
122     unsigned int commandTwo);
124 /*
125   void addRCAKey(
126     const char *name,
127     PIRKeyName key,
128     unsigned int addressData,
129     unsigned int commandData);
130 */
132   void addKaseikyoKey(
133     const char *name,
134     PIRKeyName key,
135     unsigned int addressData,
136     unsigned int commandData);
138   void addDishKey(
139     const char *name,
140     PIRKeyName key,
141     unsigned int firstCommand,
142     unsigned int secondCommand);
144   void addXMPKey(
145     const char *name,
146     PIRKeyName key,
147     unsigned int firstCommand,
148     unsigned int secondCommand);
150   void setPreData(
151     unsigned long data,
152     unsigned int bits);
154   void setPostData(
155     unsigned long data,
156     unsigned int bits);
158   void setKeysetName(
159     const char *name);
161   KeyCollection keys;
163   PIRProtocol *threadableProtocol;
164   unsigned int index;
166 private:
167   const char *keysetName;
168   PIRMakeName make;
169   static PIRDeviceCollection controlledDevices;
170 //  PIRDeviceTypeCollection deviceTypes;
171 };
174 #endif // PIRKEYSETMETADATA_H

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment