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   virtual void populateProtocol(
42     QObject *guiObject) = 0;
44   bool clearProtocol();
46   void moveToThread(
47     QThread *thread);
49   static void populateDevices(
50     PIRSelectDeviceForm *sdf);
52 protected:
53   void addControlledDevice(
54     PIRMakeName make,
55     const char *model,
56     PIRDeviceTypeName type);
58   void addDeviceType(
59     PIRDeviceTypeName n);
61   void addKey(
62     const char *name,
63     PIRKeyName key,
64     unsigned long data,
65     unsigned int size);
67   // Special helper methods for SIRC keys:
68   void addSIRC12Key(
69     const char *name,
70     PIRKeyName key,
71     unsigned int addressData,
72     unsigned int commandData);
74   void addSIRC15Key(
75     const char *name,
76     PIRKeyName key,
77     unsigned int addressData,
78     unsigned int commandData);
80   void addSIRC20Key(
81     const char *name,
82     PIRKeyName key,
83     unsigned int secondaryAddressData,
84     unsigned int primaryAddressData,
85     unsigned int commandData);
87   // Helper method for Sharp keys:
88   void addSharpKey(
89     const char *name,
90     PIRKeyName key,
91     unsigned int addressData,
92     unsigned int commandData);
94   void addNECKey(
95     const char *name,
96     PIRKeyName key,
97     unsigned int addressData,
98     unsigned int commandData);
100   void addPanOldKey(
101     const char *name,
102     PIRKeyName key,
103     unsigned int addressData,
104     unsigned int commandData);
106   void addPioneerKey(
107     const char *name,
108     PIRKeyName key,
109     unsigned int addressOne,
110     unsigned int commandOne,
111     unsigned int addressTwo,
112     unsigned int commandTwo);
114 /*
115   void addRCAKey(
116     const char *name,
117     PIRKeyName key,
118     unsigned int addressData,
119     unsigned int commandData);
120 */
122   void addKaseikyoKey(
123     const char *name,
124     PIRKeyName key,
125     unsigned int addressData,
126     unsigned int commandData);
128   void addDishKey(
129     const char *name,
130     PIRKeyName key,
131     unsigned int firstCommand,
132     unsigned int secondCommand);
134   void addXMPKey(
135     const char *name,
136     PIRKeyName key,
137     unsigned int firstCommand,
138     unsigned int secondCommand);
140   void setPreData(
141     unsigned long data,
142     unsigned int bits);
144   void setPostData(
145     unsigned long data,
146     unsigned int bits);
148   void setKeysetName(
149     const char *name);
151   KeyCollection keys;
153   PIRProtocol *threadableProtocol;
154   unsigned int index;
156 private:
157   const char *keysetName;
158   PIRMakeName make;
159   static PIRDeviceCollection controlledDevices;
160 //  PIRDeviceTypeCollection deviceTypes;
161 };
164 #endif // PIRKEYSETMETADATA_H

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment