1 #include "pirkeysetmanager.h"
3 #include "pirkeysetmetadata.h"
4 #include "pirselectkeysetform.h"
5 #include "pirkeysetwidgetitem.h"
7 #include "keysets/acer.h"
8 #include "keysets/admiral.h"
9 #include "keysets/aiwa.h"
10 #include "keysets/aoc.h"
11 #include "keysets/apple.h"
12 #include "keysets/arcam.h"
13 #include "keysets/beko.h"
14 #include "keysets/bose.h"
15 #include "keysets/bush.h"
16 #include "keysets/cambridge.h"
17 #include "keysets/canon.h"
18 #include "keysets/compro.h"
19 #include "keysets/daewoo.h"
20 #include "keysets/dell.h"
21 #include "keysets/denon.h"
22 #include "keysets/digitalstream.h"
23 #include "keysets/directv.h"
24 #include "keysets/dish.h"
25 #include "keysets/dreambox.h"
26 #include "keysets/dse.h"
27 #include "keysets/dynex.h"
28 #include "keysets/ei.h"
29 #include "keysets/elgato.h"
30 #include "keysets/emerson.h"
31 #include "keysets/epson.h"
32 #include "keysets/fortec.h"
33 #include "keysets/foxtel.h"
34 #include "keysets/genius.h"
35 #include "keysets/goldstar.h"
36 #include "keysets/grundig.h"
37 #include "keysets/haier.h"
38 #include "keysets/harmankardon.h"
39 #include "keysets/hauppauge.h"
40 #include "keysets/hitachi.h"
41 #include "keysets/homecast.h"
42 #include "keysets/hp.h"
43 #include "keysets/huawei.h"
44 #include "keysets/humax.h"
45 #include "keysets/hyundai.h"
46 #include "keysets/jvc.h"
47 #include "keysets/kaon.h"
48 #include "keysets/kathrein.h"
49 #include "keysets/kenwood.h"
50 #include "keysets/lg.h"
51 #include "keysets/logitech.h"
52 #include "keysets/magnavox.h"
53 #include "keysets/magnum.h"
54 #include "keysets/mce.h"
55 #include "keysets/mitsubishi.h"
56 #include "keysets/motorola.h"
57 #include "keysets/nad.h"
58 #include "keysets/nokia.h"
59 #include "keysets/onida.h"
60 #include "keysets/panasonic.h"
61 #include "keysets/philco.h"
62 #include "keysets/philips.h"
63 #include "keysets/pinnacle.h"
64 #include "keysets/pioneer.h"
65 #include "keysets/qnap.h"
66 #include "keysets/raite.h"
67 #include "keysets/rca.h"
68 #include "keysets/roku.h"
69 #include "keysets/saba.h"
70 #include "keysets/sagem.h"
71 #include "keysets/samsung.h"
72 #include "keysets/sanyo.h"
73 #include "keysets/sharp.h"
74 #include "keysets/sky.h"
75 #include "keysets/sony.h"
76 #include "keysets/starsat.h"
77 #include "keysets/technics.h"
78 #include "keysets/telenet.h"
79 #include "keysets/thomson.h"
80 #include "keysets/tivo.h"
81 #include "keysets/topfield.h"
82 #include "keysets/toshiba.h"
83 #include "keysets/united.h"
84 #include "keysets/universum.h"
85 #include "keysets/vestel.h"
86 #include "keysets/viewsat.h"
87 #include "keysets/virgin.h"
88 #include "keysets/vizio.h"
89 #include "keysets/wd.h"
90 #include "keysets/westinghouse.h"
91 #include "keysets/yamaha.h"
92 #include "keysets/zenith.h"
94 #include "pirexception.h"
96 // I'll be handling the threading of the keyset commands in this object:
99 // Global communications mechanism:
100 extern bool stopRepeatingFlag;
101 extern QMutex stopRepeatingMutex;
103 // Global helper objects:
104 PIRMakeMgr makeManager;
106 // Now, on to the actual method definitions:
108 PIRKeysetManager::PIRKeysetManager()
111 // Create the keysets. Ugly! This needs to be worked on!
112 setupKeyset(new AcerTV1(counter++));
113 setupKeyset(new AcerPC1(counter++));
115 setupKeyset(new AdmiralTV1(counter++));
116 setupKeyset(new AdmiralTV2(counter++));
117 setupKeyset(new AdmiralVCR1(counter++));
119 setupKeyset(new AiwaVCR1(counter++));
120 setupKeyset(new AiwaVCR2(counter++));
121 setupKeyset(new AiwaVCR3(counter++));
122 setupKeyset(new AiwaAudio1(counter++));
123 setupKeyset(new AiwaAudio1a(counter++));
124 setupKeyset(new AiwaAudio2(counter++));
125 setupKeyset(new AiwaAudio2a(counter++));
126 setupKeyset(new AiwaAudio2b(counter++));
127 setupKeyset(new AiwaAudio2c(counter++));
128 setupKeyset(new AiwaAudio3(counter++));
129 setupKeyset(new AiwaAudio4(counter++));
130 setupKeyset(new AiwaAudio5(counter++));
131 setupKeyset(new AiwaAudio6(counter++));
132 setupKeyset(new AiwaCarStereo1(counter++));
133 setupKeyset(new AiwaDVD1(counter++));
135 setupKeyset(new AOCTV1(counter++));
137 setupKeyset(new AppleWhiteRemote(counter++));
139 setupKeyset(new ArcamReceiver1(counter++));
141 setupKeyset(new BekoTV1(counter++));
143 setupKeyset(new BoseRadio1(counter++));
144 setupKeyset(new BoseRadio2(counter++));
145 setupKeyset(new BoseRadio3(counter++));
146 setupKeyset(new BoseHomeTheater1(counter++));
148 setupKeyset(new BushTV1(counter++));
149 setupKeyset(new BushTV2(counter++));
150 setupKeyset(new BushSTB1(counter++));
152 setupKeyset(new CambridgeCD1(counter++));
153 setupKeyset(new CambridgeAudio1(counter++));
154 setupKeyset(new CambridgeAudio2(counter++));
155 setupKeyset(new CambridgeAudio3(counter++));
156 setupKeyset(new CambridgeDVD1(counter++));
158 setupKeyset(new CanonDSLR1(counter++));
159 setupKeyset(new CanonCamcorder1(counter++));
160 setupKeyset(new CanonPowershot1(counter++));
162 setupKeyset(new ComproTVCard1(counter++));
164 setupKeyset(new DaewooTV1(counter++));
165 setupKeyset(new DaewooTV2(counter++));
166 setupKeyset(new DaewooTV3(counter++));
167 setupKeyset(new DaewooTV4(counter++));
168 setupKeyset(new DaewooDVD1(counter++));
169 setupKeyset(new DaewooVCR1(counter++));
170 setupKeyset(new DaewooVCR2(counter++));
172 setupKeyset(new DenonDVD1(counter++));
173 setupKeyset(new DenonDVD2(counter++));
174 setupKeyset(new DenonDVD3(counter++));
175 setupKeyset(new DenonReceiver1(counter++));
176 setupKeyset(new DenonReceiver1a(counter++));
177 setupKeyset(new DenonReceiver1b(counter++));
178 setupKeyset(new DenonReceiver1c(counter++));
179 setupKeyset(new DenonReceiver1d(counter++));
180 setupKeyset(new DenonReceiver1e(counter++));
181 setupKeyset(new DenonReceiver1f(counter++));
182 setupKeyset(new DenonReceiver2(counter++));
183 setupKeyset(new DenonReceiver2a(counter++));
184 setupKeyset(new DenonReceiver3(counter++));
185 setupKeyset(new DenonAudio1(counter++));
186 setupKeyset(new DenonAudio1a(counter++));
187 setupKeyset(new DenonAudio1b(counter++));
188 setupKeyset(new DenonAudio1c(counter++));
189 setupKeyset(new DenonAudio1d(counter++));
190 setupKeyset(new DenonAudio2(counter++));
191 setupKeyset(new DenonAudio3(counter++));
192 setupKeyset(new DenonAudio4(counter++));
194 setupKeyset(new DellRemote1(counter++));
196 setupKeyset(new DigitalStreamReceiver(counter++));
198 setupKeyset(new DirectvReceiver1(counter++));
200 setupKeyset(new DishReceiver1(counter++));
201 setupKeyset(new DishReceiver1a(counter++));
202 setupKeyset(new DishReceiver1b(counter++));
203 setupKeyset(new DishReceiver1c(counter++));
204 setupKeyset(new DishReceiver1d(counter++));
205 setupKeyset(new DishReceiver1e(counter++));
206 setupKeyset(new DishReceiver1f(counter++));
207 setupKeyset(new DishReceiver1g(counter++));
208 setupKeyset(new DishReceiver1h(counter++));
209 setupKeyset(new DishReceiver1i(counter++));
210 setupKeyset(new DishReceiver1j(counter++));
211 setupKeyset(new DishReceiver1k(counter++));
212 setupKeyset(new DishReceiver1l(counter++));
213 setupKeyset(new DishReceiver1m(counter++));
214 setupKeyset(new DishReceiver1n(counter++));
215 setupKeyset(new DishReceiver1o(counter++));
217 setupKeyset(new DreamboxSat1(counter++));
218 setupKeyset(new DreamboxSat1a(counter++));
219 setupKeyset(new DreamboxSat1b(counter++));
220 setupKeyset(new DreamboxSat1c(counter++));
221 setupKeyset(new DreamboxSat2(counter++));
222 setupKeyset(new DreamboxSat3(counter++));
223 setupKeyset(new DreamboxSat4(counter++));
224 setupKeyset(new DreamboxSat5(counter++));
226 setupKeyset(new DSEDVD1(counter++));
227 setupKeyset(new DSESat1(counter++));
229 setupKeyset(new DynexTV1(counter++));
231 setupKeyset(new EiTV1(counter++));
233 setupKeyset(new ElgatoEyeTV1(counter++));
235 setupKeyset(new EmersonTV1(counter++));
236 setupKeyset(new EmersonDVD1(counter++));
238 setupKeyset(new EpsonProjector1(counter++));
239 setupKeyset(new EpsonProjector2(counter++));
241 setupKeyset(new FortecReceiver1(counter++));
242 setupKeyset(new FortecReceiver2(counter++));
244 setupKeyset(new FoxtelSTB1(counter++));
245 setupKeyset(new FoxtelSTB2(counter++));
247 setupKeyset(new GeniusSpeakers1(counter++));
249 setupKeyset(new GoldStarTV1(counter++));
250 setupKeyset(new GoldStarTV2(counter++));
251 setupKeyset(new GoldStarVCR1(counter++));
252 setupKeyset(new GoldStarVCR1a(counter++));
253 setupKeyset(new GoldStarVCR1b(counter++));
254 setupKeyset(new GoldStarVCR1c(counter++));
255 setupKeyset(new GoldStarCD1(counter++));
257 setupKeyset(new GrundigSat1(counter++));
258 setupKeyset(new GrundigSat2(counter++));
259 setupKeyset(new GrundigAmp1(counter++));
260 setupKeyset(new GrundigAudio1(counter++));
261 setupKeyset(new GrundigAudio2(counter++));
262 setupKeyset(new GrundigVCR1(counter++));
263 setupKeyset(new GrundigVCR1a(counter++));
264 setupKeyset(new GrundigTV1(counter++));
265 setupKeyset(new GrundigTV2(counter++));
266 setupKeyset(new GrundigTV3(counter++));
267 setupKeyset(new GrundigDVD1(counter++));
269 setupKeyset(new HaierTV1(counter++));
271 setupKeyset(new HarmanKardonAmp1(counter++));
272 setupKeyset(new HarmanKardonAmp2(counter++));
273 setupKeyset(new HarmanKardonReceiver2(counter++));
274 setupKeyset(new HarmanKardonTape1(counter++));
275 setupKeyset(new HarmanKardonDVD1(counter++));
276 setupKeyset(new HarmanKardonDVD1a(counter++));
277 setupKeyset(new HarmanKardonCD1(counter++));
278 setupKeyset(new HarmanKardonCD2(counter++));
280 setupKeyset(new HauppaugePCTV1(counter++));
281 setupKeyset(new HauppaugePCTV1a(counter++));
282 setupKeyset(new HauppaugePCTV1b(counter++));
283 setupKeyset(new HauppaugePCTV1c(counter++));
284 setupKeyset(new HauppaugePCTV2(counter++));
286 setupKeyset(new HitachiTV1(counter++));
287 setupKeyset(new HitachiTV1a(counter++));
288 setupKeyset(new HitachiTV1b(counter++));
289 setupKeyset(new HitachiTV1c(counter++));
290 setupKeyset(new HitachiTV2(counter++));
291 setupKeyset(new HitachiTV3(counter++));
292 setupKeyset(new HitachiProjector(counter++));
293 setupKeyset(new HitachiDVD1(counter++));
294 setupKeyset(new HitachiAudio1(counter++));
295 setupKeyset(new HitachiVCR1(counter++));
297 setupKeyset(new HomecastReceiver1(counter++));
298 setupKeyset(new HomecastReceiver2(counter++));
300 setupKeyset(new HPRemote1(counter++));
302 setupKeyset(new HuaweiSTB1(counter++));
303 setupKeyset(new HuaweiSTB2(counter++));
305 setupKeyset(new HumaxReceiver1(counter++));
306 setupKeyset(new HumaxReceiver2(counter++));
307 setupKeyset(new HumaxReceiver3(counter++));
309 setupKeyset(new HyundaiDVD1(counter++));
310 setupKeyset(new HyundaiAudio1(counter++));
311 setupKeyset(new HyundaiTV1(counter++));
313 setupKeyset(new JVCSat1(counter++));
314 setupKeyset(new JVCSat2(counter++));
315 setupKeyset(new JVCVCR1(counter++));
316 setupKeyset(new JVCVCR1a(counter++));
317 setupKeyset(new JVCVCRBmode1(counter++));
318 setupKeyset(new JVCVCRBmode1a(counter++));
319 setupKeyset(new JVCTV1(counter++));
320 setupKeyset(new JVCTV1a(counter++));
321 setupKeyset(new JVCTV1b(counter++));
322 setupKeyset(new JVCTV1c(counter++));
323 setupKeyset(new JVCTV1d(counter++));
324 setupKeyset(new JVCDAT1(counter++));
325 setupKeyset(new JVCCarDeck1(counter++));
326 setupKeyset(new JVCAudio1(counter++));
327 setupKeyset(new JVCAudio1a(counter++));
328 setupKeyset(new JVCAudio1b(counter++));
329 setupKeyset(new JVCAudio2(counter++));
330 setupKeyset(new JVCDVD1(counter++));
332 setupKeyset(new KaonSat1(counter++));
334 setupKeyset(new KathreinSat1(counter++));
335 setupKeyset(new KathreinSat2(counter++));
336 setupKeyset(new KathreinSat3(counter++));
338 setupKeyset(new KenwoodAudio1(counter++));
339 setupKeyset(new KenwoodComponent1(counter++));
340 setupKeyset(new KenwoodComponent2(counter++));
341 setupKeyset(new KenwoodComponent3(counter++));
342 setupKeyset(new KenwoodCD1(counter++));
343 setupKeyset(new KenwoodDVD1(counter++));
344 setupKeyset(new KenwoodTV1(counter++));
346 setupKeyset(new LGTV1(counter++));
347 setupKeyset(new LGTV1a(counter++));
348 setupKeyset(new LGTV1b(counter++));
349 setupKeyset(new LGTV1c(counter++));
350 setupKeyset(new LGTV2(counter++));
351 setupKeyset(new LGTV2a(counter++));
352 setupKeyset(new LGTV2b(counter++));
353 setupKeyset(new LGDisc1(counter++));
354 setupKeyset(new LGDisc2(counter++));
355 setupKeyset(new LGDisc2a(counter++));
356 setupKeyset(new LGVCR1(counter++));
357 setupKeyset(new LGVCR1a(counter++));
358 setupKeyset(new LGVCR1b(counter++));
359 setupKeyset(new LGAC1(counter++));
361 setupKeyset(new LogitechSpeakers(counter++));
362 setupKeyset(new LogitechSqueezebox(counter++));
364 setupKeyset(new MagnavoxDVD1(counter++));
365 setupKeyset(new MagnavoxVCR1(counter++));
366 setupKeyset(new MagnavoxConverterBox1(counter++));
367 setupKeyset(new MagnavoxTV1(counter++));
369 setupKeyset(new MagnumTV1(counter++));
371 setupKeyset(new MCERemote1(counter++));
372 setupKeyset(new MCERemote1a(counter++));
373 setupKeyset(new MCERemote1b(counter++));
374 setupKeyset(new MCERemote1c(counter++));
375 setupKeyset(new MCERemote1d(counter++));
376 setupKeyset(new MCERemote1e(counter++));
377 setupKeyset(new MCERemote1f(counter++));
378 setupKeyset(new MCERemote1g(counter++));
380 setupKeyset(new MitsubishiTV1(counter++));
381 setupKeyset(new MitsubishiTV1a(counter++));
382 setupKeyset(new MitsubishiVCR1(counter++));
383 setupKeyset(new MitsubishiVCR1a(counter++));
385 setupKeyset(new Motorola4DTV(counter++));
386 setupKeyset(new MotorolaSTB1(counter++));
387 setupKeyset(new MotorolaSTB1a(counter++));
388 setupKeyset(new MotorolaSTB1b(counter++));
389 setupKeyset(new MotorolaSkyDigital(counter++));
391 setupKeyset(new NADAudio1(counter++));
392 setupKeyset(new NADTuner1(counter++));
393 setupKeyset(new NADDVD1(counter++));
394 setupKeyset(new NADCD1(counter++));
395 setupKeyset(new NADCD2(counter++));
396 setupKeyset(new NADTape1(counter++));
398 setupKeyset(new NokiaGenericVCR(counter++));
400 setupKeyset(new OnidaTV1(counter++));
401 setupKeyset(new OnidaDVD1(counter++));
403 setupKeyset(new PanasonicCarAudio(counter++));
404 setupKeyset(new PanasonicSat1(counter++));
405 setupKeyset(new PanasonicSat1a(counter++));
406 setupKeyset(new PanasonicTV1(counter++));
407 setupKeyset(new PanasonicTV1a(counter++));
408 setupKeyset(new PanasonicTV1b(counter++));
409 setupKeyset(new PanasonicVCR1(counter++));
410 setupKeyset(new PanasonicVCR1a(counter++));
411 setupKeyset(new PanasonicVCR1b(counter++));
412 setupKeyset(new PanasonicVCR1c(counter++));
413 setupKeyset(new PanasonicDVD1(counter++));
414 setupKeyset(new PanasonicDVD1a(counter++));
415 setupKeyset(new PanasonicAudio1(counter++));
416 setupKeyset(new PanasonicAudio2(counter++));
417 setupKeyset(new PanasonicAudio2a(counter++));
418 setupKeyset(new PanasonicAC1(counter++));
420 setupKeyset(new PhilcoTV(counter++));
422 setupKeyset(new PhilipsTV1(counter++));
423 setupKeyset(new PhilipsTV1a(counter++));
424 setupKeyset(new PhilipsTV1b(counter++));
425 setupKeyset(new PhilipsTV1c(counter++));
426 setupKeyset(new PhilipsTV1d(counter++));
427 setupKeyset(new PhilipsTV1e(counter++));
428 setupKeyset(new PhilipsTV1f(counter++));
429 setupKeyset(new PhilipsTV2(counter++));
430 setupKeyset(new PhilipsTV2a(counter++));
431 setupKeyset(new PhilipsTV2b(counter++));
432 setupKeyset(new PhilipsTV3(counter++));
433 setupKeyset(new PhilipsDVD1(counter++));
434 setupKeyset(new PhilipsDVD1a(counter++));
435 setupKeyset(new PhilipsDVD1b(counter++));
436 setupKeyset(new PhilipsDVD1c(counter++));
437 setupKeyset(new PhilipsDVD1d(counter++));
438 setupKeyset(new PhilipsDVD2(counter++));
439 setupKeyset(new PhilipsDVD3(counter++));
440 setupKeyset(new PhilipsDVD3a(counter++));
441 setupKeyset(new PhilipsDVD4(counter++));
442 setupKeyset(new PhilipsVCR1(counter++));
443 setupKeyset(new PhilipsVCR1a(counter++));
444 setupKeyset(new PhilipsVCR1b(counter++));
445 setupKeyset(new PhilipsVCR1c(counter++));
446 setupKeyset(new PhilipsSat1(counter++));
447 setupKeyset(new PhilipsSat2(counter++));
448 setupKeyset(new PhilipsSat2a(counter++));
449 setupKeyset(new PhilipsSat3(counter++));
450 setupKeyset(new PhilipsAudio1(counter++));
451 setupKeyset(new PhilipsAudio1a(counter++));
452 setupKeyset(new PhilipsAudio1b(counter++));
453 setupKeyset(new PhilipsAudio2(counter++));
454 setupKeyset(new PhilipsAudio3(counter++));
455 setupKeyset(new PhilipsAudio4(counter++));
457 setupKeyset(new PinnaclePCTV1(counter++));
458 setupKeyset(new PinnaclePCTV2(counter++));
459 setupKeyset(new PinnaclePCTV3(counter++));
461 setupKeyset(new PioneerTV1(counter++));
462 setupKeyset(new PioneerTV2(counter++));
463 setupKeyset(new PioneerTV3(counter++));
464 setupKeyset(new PioneerAudio1(counter++));
465 setupKeyset(new PioneerAudio1a(counter++));
466 setupKeyset(new PioneerAudio2(counter++));
467 setupKeyset(new PioneerAudio3(counter++));
468 setupKeyset(new PioneerAudio4(counter++));
469 setupKeyset(new PioneerAudio5(counter++));
470 setupKeyset(new PioneerCD1(counter++));
471 setupKeyset(new PioneerLaserDisc1(counter++));
472 setupKeyset(new PioneerDVD1(counter++));
474 setupKeyset(new QNAPPlayer1(counter++));
476 setupKeyset(new RaiteDVD1(counter++));
478 setupKeyset(new RCATV1(counter++));
479 setupKeyset(new RCATV1a(counter++));
480 setupKeyset(new RCATV1b(counter++));
481 // setupKeyset(new RCAAux1(counter++));
482 // setupKeyset(new RCAAux2(counter++));
483 // setupKeyset(new RCAAux2a(counter++));
484 setupKeyset(new RCAVCR1(counter++));
485 setupKeyset(new RCAVCR1a(counter++));
486 setupKeyset(new RCADVD1(counter++));
487 setupKeyset(new RCADVD1a(counter++));
488 setupKeyset(new RCASat1(counter++));
489 setupKeyset(new RCASat2(counter++));
491 setupKeyset(new RokuBox1(counter++));
492 setupKeyset(new RokuBox2(counter++));
494 setupKeyset(new SabaTV1(counter++));
495 setupKeyset(new SabaTV2(counter++));
497 setupKeyset(new SagemTVBox1(counter++));
498 setupKeyset(new SagemTVBox1a(counter++));
500 setupKeyset(new SamsungTV1(counter++));
501 setupKeyset(new SamsungTV1a(counter++));
502 setupKeyset(new SamsungTV1b(counter++));
503 setupKeyset(new SamsungTV1c(counter++));
504 setupKeyset(new SamsungTV1d(counter++));
505 setupKeyset(new SamsungTV1e(counter++));
506 setupKeyset(new SamsungTV1f(counter++));
507 setupKeyset(new SamsungTV2(counter++));
508 setupKeyset(new SamsungTV2a(counter++));
509 setupKeyset(new SamsungVCR1(counter++));
510 setupKeyset(new SamsungVCR1a(counter++));
511 setupKeyset(new SamsungVCR1b(counter++));
512 setupKeyset(new SamsungVCR1c(counter++));
513 setupKeyset(new SamsungVCR1d(counter++));
514 setupKeyset(new SamsungVCR1e(counter++));
515 setupKeyset(new SamsungDVD1(counter++));
516 setupKeyset(new SamsungDVD1a(counter++));
517 setupKeyset(new SamsungDVD1b(counter++));
518 setupKeyset(new SamsungDVD2(counter++));
519 setupKeyset(new SamsungAC1(counter++));
520 setupKeyset(new SamsungDVBT1(counter++));
522 setupKeyset(new SanyoVCR1(counter++));
523 setupKeyset(new SanyoDVD1(counter++));
524 setupKeyset(new SanyoTV1(counter++));
525 setupKeyset(new SanyoTV1a(counter++));
526 setupKeyset(new SanyoTV1b(counter++));
527 setupKeyset(new SanyoTV1c(counter++));
528 setupKeyset(new SanyoTV1d(counter++));
529 setupKeyset(new SanyoProjector(counter++));
531 setupKeyset(new SharpTV1(counter++));
532 setupKeyset(new SharpTV1a(counter++));
533 setupKeyset(new SharpTV1b(counter++));
534 setupKeyset(new SharpTV1c(counter++));
535 setupKeyset(new SharpTV1d(counter++));
536 setupKeyset(new SharpTV1e(counter++));
537 setupKeyset(new SharpVCR1(counter++));
538 setupKeyset(new SharpReceiver1(counter++));
539 setupKeyset(new SharpAC1(counter++));
541 setupKeyset(new SkyReceiver1(counter++));
542 setupKeyset(new SkyReceiver1a(counter++));
544 setupKeyset(new SonyTV1(counter++));
545 setupKeyset(new SonyTV1a(counter++));
546 setupKeyset(new SonyTV1b(counter++));
547 setupKeyset(new SonyTV1c(counter++));
548 setupKeyset(new SonyAmp1(counter++));
549 setupKeyset(new SonyAmp2(counter++));
550 setupKeyset(new SonyAudio1(counter++));
551 setupKeyset(new SonyAudio1a(counter++));
552 setupKeyset(new SonyDAT1(counter++));
553 setupKeyset(new SonyDVD1(counter++));
554 setupKeyset(new SonyDVD1a(counter++));
555 setupKeyset(new SonyDVD1b(counter++));
556 setupKeyset(new SonyDVD1c(counter++));
557 setupKeyset(new SonyVCR1(counter++));
558 setupKeyset(new SonyVCR1a(counter++));
559 setupKeyset(new SonyVCR1b(counter++));
560 setupKeyset(new SonyReceiver1(counter++));
561 setupKeyset(new SonyCD1(counter++));
562 setupKeyset(new SonyCD1a(counter++));
563 setupKeyset(new SonyCD1b(counter++));
565 setupKeyset(new StarsatSat1(counter++));
567 setupKeyset(new TechnicsAudio1(counter++));
568 setupKeyset(new TechnicsAudio1a(counter++));
569 setupKeyset(new TechnicsAudio2(counter++));
570 setupKeyset(new TechnicsAudio3(counter++));
571 setupKeyset(new TechnicsAudio3a(counter++));
572 setupKeyset(new TechnicsDVD1(counter++));
574 setupKeyset(new TelenetSTB1(counter++));
576 setupKeyset(new ThomsonConverter1(counter++));
577 setupKeyset(new ThomsonTV1(counter++));
578 setupKeyset(new ThomsonVCR1(counter++));
579 setupKeyset(new ThomsonVCR1a(counter++));
580 setupKeyset(new ThomsonDVD1(counter++));
581 setupKeyset(new ThomsonSat1(counter++));
582 setupKeyset(new ThomsonAudio1(counter++));
584 setupKeyset(new Tivo1(counter++));
585 setupKeyset(new Tivo1a(counter++));
586 setupKeyset(new Tivo1b(counter++));
587 setupKeyset(new Tivo1c(counter++));
588 setupKeyset(new Tivo1d(counter++));
590 setupKeyset(new TopfieldPVR1(counter++));
591 setupKeyset(new TopfieldSat1(counter++));
593 setupKeyset(new ToshibaTV1(counter++));
594 setupKeyset(new ToshibaTV1a(counter++));
595 setupKeyset(new ToshibaTV1b(counter++));
596 setupKeyset(new ToshibaTV1c(counter++));
597 setupKeyset(new ToshibaTV1d(counter++));
598 setupKeyset(new ToshibaTV1e(counter++));
599 setupKeyset(new ToshibaTV1f(counter++));
600 setupKeyset(new ToshibaTV1g(counter++));
601 setupKeyset(new ToshibaTV1h(counter++));
602 setupKeyset(new ToshibaVCR1(counter++));
603 setupKeyset(new ToshibaVCR1a(counter++));
604 setupKeyset(new ToshibaDisc1(counter++));
605 setupKeyset(new ToshibaDisc1a(counter++));
606 setupKeyset(new ToshibaDisc1b(counter++));
607 setupKeyset(new ToshibaDisc1c(counter++));
608 setupKeyset(new ToshibaDisc1d(counter++));
610 setupKeyset(new UnitedDVD1(counter++));
611 setupKeyset(new UnitedDVBT1(counter++));
613 setupKeyset(new UniversumVCR1(counter++));
614 setupKeyset(new UniversumVCR2(counter++));
615 setupKeyset(new UniversumVCR3(counter++));
616 setupKeyset(new UniversumTV1(counter++));
617 setupKeyset(new UniversumTV1a(counter++));
618 setupKeyset(new UniversumSat1(counter++));
619 setupKeyset(new UniversumAudio1(counter++));
621 setupKeyset(new VestelTV1(counter++));
622 setupKeyset(new VestelTV2(counter++));
624 setupKeyset(new ViewsatSat1(counter++));
625 setupKeyset(new ViewsatSat1a(counter++));
627 setupKeyset(new VirginSTB1(counter++));
629 setupKeyset(new VizioTV1(counter++));
631 setupKeyset(new WDMediaPlayer1(counter++));
632 setupKeyset(new WDMediaPlayer1a(counter++));
633 setupKeyset(new WDMediaPlayer1b(counter++));
635 setupKeyset(new WestinghouseTV1(counter++));
636 setupKeyset(new WestinghouseTV2(counter++));
638 setupKeyset(new YamahaDVD1(counter++));
639 setupKeyset(new YamahaDVD1a(counter++));
640 setupKeyset(new YamahaAudio1(counter++));
641 setupKeyset(new YamahaAudio1a(counter++));
642 setupKeyset(new YamahaAudio2(counter++));
643 setupKeyset(new YamahaAudio2a(counter++));
644 setupKeyset(new YamahaAudio2b(counter++));
645 setupKeyset(new YamahaAudio2c(counter++));
646 setupKeyset(new YamahaAudio2d(counter++));
647 setupKeyset(new YamahaAudio3(counter++));
648 setupKeyset(new YamahaAudio4(counter++));
649 setupKeyset(new YamahaTV1(counter++));
650 setupKeyset(new YamahaKaraoke1(counter++));
652 setupKeyset(new ZenithC32V37(counter++));
654 // Start the thread running:
655 commandThread.start();
659 PIRKeysetManager::~PIRKeysetManager()
661 // Tell the keysets to stop doing any work:
663 QMutexLocker locker(&stopRepeatingMutex);
664 stopRepeatingFlag = true;
667 // Tell the thread that we want it to stop:
668 commandThread.exit();
670 // Wait for the thread to stop:
671 commandThread.wait();
673 // Delete all the keysets:
674 PIRKeysetCollection::iterator i = keysetsInfo.begin();
675 while (i != keysetsInfo.end())
677 if ((*i).second) delete (*i).second;
683 bool PIRKeysetManager::keysetExists(
684 unsigned int keysetID) const
686 PIRKeysetCollection::const_iterator i = keysetsInfo.find(keysetID);
688 return (i != keysetsInfo.end());
692 bool PIRKeysetManager::findKeysetID(
695 unsigned int &id) const
697 // Only modify the id if we actually find a match!
699 PIRKeysetMakeIndex::const_iterator i = makeIndex.find(make);
700 if (i == makeIndex.end())
705 PIRKeysetNameIndex::const_iterator ii = (*i).second.find(name);
706 if (ii == (*i).second.end())
711 // Ok, we've found it, pull out the id:
717 PIRKeysetWidgetItem *PIRKeysetManager::makeKeysetItem(
723 if (!findKeysetID(make, name, id))
728 QString fullname = make;
729 fullname.append(" ");
730 fullname.append(name);
732 return new PIRKeysetWidgetItem(fullname, id, getMake(id));
736 bool PIRKeysetManager::hasKey(
737 unsigned int keysetID,
738 PIRKeyName name) const
740 PIRKeysetCollection::const_iterator i = keysetsInfo.find(keysetID);
742 if ((i == keysetsInfo.end()) || !i->second) return false;
744 return i->second->hasKey(name);
748 PIRMakeName PIRKeysetManager::getMake(
749 unsigned int keysetID) const
751 PIRKeysetCollection::const_iterator i = keysetsInfo.find(keysetID);
753 if ((i == keysetsInfo.end()) || !i->second) return Any_Make;
755 return i->second->getMake();
759 QString PIRKeysetManager::getDisplayName(
760 unsigned int keysetID) const
762 PIRKeysetCollection::const_iterator i = keysetsInfo.find(keysetID);
764 if ((i == keysetsInfo.end()) || !i->second)
765 return QString("Database Error");
767 return QString(i->second->getKeysetName());
771 void PIRKeysetManager::populateKeyset(
773 unsigned int keysetID)
775 PIRKeysetCollection::iterator i = keysetsInfo.find(keysetID);
777 if (i == keysetsInfo.end())
779 // Should have some sort of error message here!
783 i->second->populateProtocol(guiObject);
784 i->second->moveToThread(&commandThread);
788 void PIRKeysetManager::setupKeyset(
789 PIRKeysetMetaData *keyset)
791 // Set up the keyset collection:
792 keysetsInfo[keyset->getID()] = keyset;
794 // Set up a name-based index into the collection:
796 [QString(makeManager.getMakeString(keyset->getMake()))]
797 [QString(keyset->getKeysetName())]
802 void PIRKeysetManager::populateSelectionWidget(
803 PIRSelectKeysetForm *skf) const
806 PIRKeysetWidgetItem *kwi;
808 PIRKeysetCollection::const_iterator i = keysetsInfo.begin();
810 while (i != keysetsInfo.end())
812 // Create a widget for the keyset:
813 make = i->second->getMake();
814 QString tempString = makeManager.getMakeString(make);
815 tempString.append(" ");
816 tempString.append(i->second->getKeysetName());
817 kwi = new PIRKeysetWidgetItem(tempString, i->first, make);
818 skf->addWidgetItem(kwi);
826 void PIRKeysetManager::populateDeviceTypes(
827 PIRKeysetWidgetItem *kwi,
828 unsigned int keysetID) const
830 PIRKeysetCollection::const_iterator i = keysetsInfo.find(keysetID);
831 if ((i != keysetsInfo.end()) && i->second)
833 i->second->populateDeviceTypes(kwi);