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 <map>
5 #include <list>
6 //#include <string>
8 #include "pirkeynames.h"
9 #include "pirmakenames.h"
10 #include "pirdevicetypenames.h"
11 #include "pirkeysetwidgetitem.h"
12 #include "protocols/pirprotocol.h"
14 typedef std::map<PIRKeyName, const char *> KeyCollection;
16 class DeviceInfo
17 {
18 public:
19   DeviceInfo(
20     PIRMakeName ma,
21     const char *mo,
22     PIRDeviceTypeName t)
23   : make(ma),
24     model(mo),
25     type(t)
26   {}
28   PIRMakeName make;
29   const char *model;
30   PIRDeviceTypeName type;
31 };
33 typedef std::list<DeviceInfo> DeviceCollection;
35 class PIRKeysetMetaData
36 {
37 public:
38   PIRKeysetMetaData(
39     const char *keysetName,
40     PIRMakeName make,
41     unsigned int index);
43   bool hasKey(
44     PIRKeyName name) const;
46   unsigned int getID() const;
48   PIRMakeName getMake() const;
50   const char *getKeysetName() const;
52   void moveProtocolToThread(
53     QThread &thread);
55   void populateDeviceTypes(
56     PIRKeysetWidgetItem *kwi) const;
58 protected:
59   void addControlledDevice(
60     PIRMakeName make,
61     const char *model,
62     PIRDeviceTypeName type);
64   void addDeviceType(
65     PIRDeviceTypeName n);
67   void addKey(
68     const char *name,
69     PIRKeyName key,
70     unsigned long data,
71     unsigned int size);
73   // Special helper methods for SIRC keys:
74   void addSIRC12Key(
75     const char *name,
76     PIRKeyName key,
77     unsigned int addressData,
78     unsigned int commandData);
80   void addSIRC15Key(
81     const char *name,
82     PIRKeyName key,
83     unsigned int addressData,
84     unsigned int commandData);
86   void addSIRC20Key(
87     const char *name,
88     PIRKeyName key,
89     unsigned int secondaryAddressData,
90     unsigned int primaryAddressData,
91     unsigned int commandData);
93   // Helper method for Sharp keys:
94   void addSharpKey(
95     const char *name,
96     PIRKeyName key,
97     unsigned int addressData,
98     unsigned int commandData);
100   void addNECKey(
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   void setPreData(
115     unsigned long data,
116     unsigned int bits);
118   void setPostData(
119     unsigned long data,
120     unsigned int bits);
122   KeyCollection keys;
124   DeviceCollection controlledDevices;
126   PIRProtocol *threadableProtocol;
128   void setKeysetName(
129     const char *name);
131 private:
132   const char *keysetName;
133   PIRMakeName make;
134   PIRDeviceTypeCollection deviceTypes;
136   unsigned int id;
137 };
140 #endif // PIRKEYSETMETADATA_H

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment