Possible Uninstall Fix, plus cleanup, more keysets
[pierogi] / pirkeysetmetadata.cpp
1 #include "pirkeysetmetadata.h"
2 #include "pirkeysetwidgetitem.h"
3 #include "protocols/pirprotocol.h"
4
5 #include <iostream>
6
7
8 PIRKeysetMetaData::PIRKeysetMetaData(
9   const char *r,
10   PIRMakeName m,
11   unsigned int i)
12   : keysetName(r),
13     make(m),
14     id(i)
15 {
16 }
17
18 bool PIRKeysetMetaData::hasKey(
19   PIRKeyName name) const
20 {
21   return (keys.find(name) != keys.end());
22 }
23
24
25 void PIRKeysetMetaData::moveProtocolToThread(
26   QThread *thread)
27 {
28   threadableProtocol->moveToThread(thread);
29 }
30
31
32 void PIRKeysetMetaData::populateDeviceTypes(
33   PIRKeysetWidgetItem *kwi) const
34 {
35   PIRDeviceTypeCollection::const_iterator i = deviceTypes.begin();
36   while (i != deviceTypes.end())
37   {
38     kwi->addDeviceType(*i);
39     ++i;
40   }
41 }
42
43
44 unsigned int PIRKeysetMetaData::getID() const
45 {
46   return id;
47 }
48
49
50 PIRMakeName PIRKeysetMetaData::getMake() const
51 {
52   return make;
53 }
54
55 const char *PIRKeysetMetaData::getKeysetName() const
56 {
57   return keysetName;
58 }
59
60
61 void PIRKeysetMetaData::addControlledDevice(
62   PIRMakeName make,
63   const char *model,
64   PIRDeviceTypeName type)
65 {
66   controlledDevices.push_back(DeviceInfo(make, model, type));
67
68   deviceTypes.insert(type);
69 }
70
71
72 void PIRKeysetMetaData::addKey(
73   const char *name,
74   PIRKeyName key,
75   unsigned long data,
76   unsigned int size)
77 {
78   // Don't have a system for the unmapped keys yet!
79   if (key != Unmapped_Key)
80   {
81     keys[key] = name;
82
83     threadableProtocol->addKey(key, data, size);
84   }
85 }
86
87
88 void PIRKeysetMetaData::addSIRC12Key(
89   const char *name,
90   PIRKeyName key,
91   unsigned int addressData,
92   unsigned int commandData)
93 {
94   if (key != Unmapped_Key)
95   {
96     keys[key] = name;
97
98     threadableProtocol->addSIRCKey(key, addressData, 5, commandData);
99   }
100 }
101
102
103 void PIRKeysetMetaData::addSIRC15Key(
104   const char *name,
105   PIRKeyName key,
106   unsigned int addressData,
107   unsigned int commandData)
108 {
109   if (key != Unmapped_Key)
110   {
111     keys[key] = name;
112     threadableProtocol->addSIRCKey(key, addressData, 8, commandData);
113   }
114 }
115
116
117 void PIRKeysetMetaData::addSIRC20Key(
118   const char *name,
119   PIRKeyName key,
120   unsigned int secondaryAddressData,
121   unsigned int primaryAddressData,
122   unsigned int commandData)
123 {
124   if (key != Unmapped_Key)
125   {
126     keys[key] = name;
127     threadableProtocol->addSIRC20Key(
128       key, secondaryAddressData, primaryAddressData, commandData);
129   }
130 }
131
132
133 void PIRKeysetMetaData::addSharpKey(
134   const char *name,
135   PIRKeyName key,
136   unsigned int addressData,
137   unsigned int commandData)
138 {
139   if (key != Unmapped_Key)
140   {
141     keys[key] = name;
142     threadableProtocol->addSharpKey(key, addressData, commandData);
143   }
144 }
145
146
147 void PIRKeysetMetaData::addNECKey(
148   const char *name,
149   PIRKeyName key,
150   unsigned int addressData,
151   unsigned int commandData)
152 {
153   if (key != Unmapped_Key)
154   {
155     keys[key] = name;
156     threadableProtocol->addNECKey(key, addressData, commandData);
157   }
158 }
159
160
161 void PIRKeysetMetaData::addPioneerKey(
162   const char *name,
163   PIRKeyName key,
164   unsigned int addressOne,
165   unsigned int commandOne,
166   unsigned int addressTwo,
167   unsigned int commandTwo)
168 {
169   if (key != Unmapped_Key)
170   {
171     keys[key] = name;
172     threadableProtocol->addPioneerKey(
173       key, addressOne, commandOne, addressTwo, commandTwo);
174   }
175 }
176
177
178 /*
179 void PIRKeysetMetaData::addRCAKey(
180   const char *name,
181   PIRKeyName key,
182   unsigned int addressData,
183   unsigned int commandData)
184 {
185   if (key != Unmapped_Key)
186   {
187     keys[key] = name;
188     threadableProtocol->addPioneerKey(
189       key, addressData, commandData);
190   }
191 }
192 */
193
194
195 void PIRKeysetMetaData::setPreData(
196   unsigned long data,
197   unsigned int bits)
198 {
199   threadableProtocol->setPreData(data, bits);
200 }
201
202
203 void PIRKeysetMetaData::setPostData(
204   unsigned long data,
205   unsigned int bits)
206 {
207   threadableProtocol->setPostData(data, bits);
208 }
209
210
211 void PIRKeysetMetaData::setKeysetName(
212   const char *n)
213 {
214   keysetName = n;
215 }