Keyset Memory Management Bugfix
[pierogi] / keysets / frontech.cpp
1 #include "frontech.h"
2 #include "protocols/protonprotocol.h"
3 #include "protocols/samsungprotocol.h"
4
5 FrontechTV1::FrontechTV1(
6   unsigned int index)
7   : PIRKeysetMetaData(
8       "TV Keyset 1",
9       Frontech_Make,
10       index)
11 {
12 }
13
14
15 void FrontechTV1::populateProtocol(
16   QObject *guiObject)
17 {
18   if (threadableProtocol)
19   {
20     // Keyset already popuated.
21     return;
22   }
23
24   threadableProtocol = new ProtonProtocol(guiObject, index);
25
26   setPreData(0x02, 8);
27
28   addKey("CH+", ChannelUp_Key, 0x01, 8);
29   addKey("CH-", ChannelDown_Key, 0x02, 8);
30   addKey("Volume +", VolumeUp_Key, 0x03, 8);
31   addKey("Volume -", VolumeDown_Key, 0x04, 8);
32   addKey("Brightness +", BrightnessUp_Key, 0x05, 8);
33   addKey("Brightness -", BrightnessDown_Key, 0x06, 8);
34   addKey("Color -", ColorDown_Key, 0x07, 8);
35   addKey("Color +", ColorUp_Key, 0x08, 8);
36   addKey("Mute", Mute_Key, 0x09, 8);
37   addKey("Last/Prev Ch", PrevChannel_Key, 0x0A, 8);
38   addKey("Sleep", Sleep_Key, 0x0C, 8);
39   addKey("TV/Video", Input_Key, 0x0D, 8);
40   addKey("Power", Power_Key, 0x0E, 8);
41   addKey("Info/Display", Info_Key, 0x0F, 8);
42   addKey("1", One_Key, 0x10, 8);
43   addKey("2", Two_Key, 0x11, 8);
44   addKey("3", Three_Key, 0x12, 8);
45   addKey("4", Four_Key, 0x13, 8);
46   addKey("5", Five_Key, 0x14, 8);
47   addKey("6", Six_Key, 0x15, 8);
48   addKey("7", Seven_Key, 0x16, 8);
49   addKey("8", Eight_Key, 0x17, 8);
50   addKey("9", Nine_Key, 0x18, 8);
51   addKey("0", Zero_Key, 0x19, 8);
52   addKey("-/--", DoubleDigit_Key, 0x1A, 8);
53   addKey("Menu", Menu_Key, 0x58, 8);
54   addKey("Select", Select_Key, 0x58, 8);
55   addKey("Arrow_Right", Right_Key, 0x59, 8);
56   addKey("Arrow_Left", Left_Key, 0x5A, 8);
57 }
58
59
60 FrontechTV2::FrontechTV2(
61   unsigned int index)
62   : PIRKeysetMetaData(
63       "TV Keyset 2",
64       Frontech_Make,
65       index)
66 {
67 }
68
69
70 void FrontechTV2::populateProtocol(
71   QObject *guiObject)
72 {
73   if (threadableProtocol)
74   {
75     // Keyset already populated.
76     return;
77   }
78
79   threadableProtocol = new SamsungProtocol(guiObject, index);
80
81   setPreData(0x0E0E, 16);
82
83   addKey("1", One_Key, 0x00, 8);
84   addKey("2", Two_Key, 0x01, 8);
85   addKey("3", Three_Key, 0x02, 8);
86   addKey("4", Four_Key, 0x03, 8);
87   addKey("5", Five_Key, 0x04, 8);
88   addKey("6", Six_Key, 0x05, 8);
89   addKey("7", Seven_Key, 0x06, 8);
90   addKey("8", Eight_Key, 0x07, 8);
91   addKey("9", Nine_Key, 0x08, 8);
92   addKey("0", Zero_Key, 0x09, 8);
93   addKey("CH+", ChannelUp_Key, 0x10, 8);
94   addKey("CH-", ChannelDown_Key, 0x11, 8);
95   addKey("Volume +", VolumeUp_Key, 0x12, 8);
96   addKey("Volume -", VolumeDown_Key, 0x13, 8);
97   addKey("Power", Power_Key, 0x14, 8);
98   addKey("Mute", Mute_Key, 0x15, 8);
99   addKey("TV/Video", Input_Key, 0x16, 8);
100   addKey("Sleep", Sleep_Key, 0x18, 8);
101   addKey("Info/Display", Info_Key, 0x19, 8);
102   addKey("Last/Prev Ch", PrevChannel_Key, 0x1A, 8);
103   addKey("Arrow_Right", Right_Key, 0x1C, 8);
104   addKey("Arrow_Left", Left_Key, 0x1D, 8);
105   addKey("Menu", Menu_Key, 0x1E, 8);
106   addKey("EXIT", Exit_Key, 0x1E, 8);
107 }