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   bool hasKey(
31     PIRKeyName name) const;
33   unsigned int getID() const;
35   PIRMakeName getMake() const;
37   const char *getKeysetName() const;
39   virtual void populateProtocol(
40     QObject *guiObject) = 0;
42   void moveToThread(
43     QThread *thread);
45   static void populateDevices(
46     PIRSelectDeviceForm *sdf);
48 protected:
49   void addControlledDevice(
50     PIRMakeName make,
51     const char *model,
52     PIRDeviceTypeName type);
54   void addDeviceType(
55     PIRDeviceTypeName n);
57   void addKey(
58     const char *name,
59     PIRKeyName key,
60     unsigned long data,
61     unsigned int size);
63   // Special helper methods for SIRC keys:
64   void addSIRC12Key(
65     const char *name,
66     PIRKeyName key,
67     unsigned int addressData,
68     unsigned int commandData);
70   void addSIRC15Key(
71     const char *name,
72     PIRKeyName key,
73     unsigned int addressData,
74     unsigned int commandData);
76   void addSIRC20Key(
77     const char *name,
78     PIRKeyName key,
79     unsigned int secondaryAddressData,
80     unsigned int primaryAddressData,
81     unsigned int commandData);
83   // Helper method for Sharp keys:
84   void addSharpKey(
85     const char *name,
86     PIRKeyName key,
87     unsigned int addressData,
88     unsigned int commandData);
90   void addNECKey(
91     const char *name,
92     PIRKeyName key,
93     unsigned int addressData,
94     unsigned int commandData);
96   void addPioneerKey(
97     const char *name,
98     PIRKeyName key,
99     unsigned int addressOne,
100     unsigned int commandOne,
101     unsigned int addressTwo,
102     unsigned int commandTwo);
104 /*
105   void addRCAKey(
106     const char *name,
107     PIRKeyName key,
108     unsigned int addressData,
109     unsigned int commandData);
110 */
112   void addKaseikyoKey(
113     const char *name,
114     PIRKeyName key,
115     unsigned int addressData,
116     unsigned int commandData);
118   void addDishKey(
119     const char *name,
120     PIRKeyName key,
121     unsigned int firstCommand,
122     unsigned int secondCommand);
124   void addXMPKey(
125     const char *name,
126     PIRKeyName key,
127     unsigned int firstCommand,
128     unsigned int secondCommand);
130   void setPreData(
131     unsigned long data,
132     unsigned int bits);
134   void setPostData(
135     unsigned long data,
136     unsigned int bits);
138   void setKeysetName(
139     const char *name);
141   KeyCollection keys;
143   PIRProtocol *threadableProtocol;
144   unsigned int index;
146 private:
147   const char *keysetName;
148   PIRMakeName make;
149   static PIRDeviceCollection controlledDevices;
150 //  PIRDeviceTypeCollection deviceTypes;
151 };
154 #endif // PIRKEYSETMETADATA_H

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment