Keyset Memory Management Bugfix
[pierogi] / keysets / changhong.cpp
1 #include "changhong.h"
2 #include "protocols/necprotocol.h"
3 #include "protocols/protonprotocol.h"
4
5 ChanghongTV1::ChanghongTV1(
6   unsigned int index)
7   : PIRKeysetMetaData(
8       "TV Keyset 1",
9       Changhong_Make,
10       index)
11 {
12 }
13
14
15 void ChanghongTV1::populateProtocol(
16   QObject *guiObject)
17 {
18   if (threadableProtocol)
19   {
20     // Keyset already populated.
21     return;
22   }
23
24   threadableProtocol = new NECProtocol(guiObject, index, false, true);
25
26   setPreData(0x40, 8);
27
28   addKey("0", Zero_Key, 0x00, 8);
29   addKey("1", One_Key, 0x01, 8);
30   addKey("2", Two_Key, 0x02, 8);
31   addKey("3", Three_Key, 0x03, 8);
32   addKey("4", Four_Key, 0x04, 8);
33   addKey("5", Five_Key, 0x05, 8);
34   addKey("6", Six_Key, 0x06, 8);
35   addKey("7", Seven_Key, 0x07, 8);
36   addKey("8", Eight_Key, 0x08, 8);
37   addKey("9", Nine_Key, 0x09, 8);
38   addKey("100+", PlusOneHundred_Key, 0x0A, 8);
39   addKey("DASH", Dash_Key, 0x0A, 8);
40   addKey("TV/Video", Input_Key, 0x0B, 8);
41   addKey("ENTER", Enter_Key, 0x0C, 8);
42   addKey("Menu", Menu_Key, 0x0E, 8);
43 //  addKey("Select", Select_Key, 0x0E, 8); // ?
44   addKey("Mute", Mute_Key, 0x10, 8);
45   addKey("Power", Power_Key, 0x12, 8);
46   addKey("CC", Captions_Key, 0x13, 8);
47   addKey("Sleep", Sleep_Key, 0x15, 8);
48   addKey("Guide", Guide_Key, 0x16, 8);
49   addKey("Select", Select_Key, 0x18, 8);
50   addKey("Arrow_Right", Right_Key, 0x19, 8);
51   addKey("Volume +", VolumeUp_Key, 0x1A, 8);
52   addKey("CH+", ChannelUp_Key, 0x1B, 8);
53   addKey("Info/Display", Info_Key, 0x1C, 8);
54   addKey("Arrow_Left", Left_Key, 0x1D, 8);
55   addKey("Volume -", VolumeDown_Key, 0x1E, 8);
56   addKey("CH-", ChannelDown_Key, 0x1F, 8);
57   addKey("PIP Ch+", PIPChannelUp_Key, 0x4A, 8);
58   addKey("PIP Ch-", PIPChannelDown_Key, 0x4B, 8);
59   addKey("Freeze", PIPPause_Key, 0x4C, 8);
60   addKey("PIP Move", PIPMove_Key, 0x4E, 8);
61   addKey("PIP Source", PIPSource_Key, 0x4F, 8);
62   addKey("PIP On/Off", PIP_Key, 0x51, 8);
63   addKey("PIP Swap", PIPSwap_Key, 0x53, 8);
64   addKey("Format 16:9", AspectRatio_Key, 0x54, 8);
65   addKey("EXIT", Exit_Key, 0x58, 8);
66   addKey("Arrow_Up", Up_Key, 0x82, 8);
67   addKey("Arrow_Down", Down_Key, 0x83, 8);
68 }
69
70
71 ChanghongTV1a::ChanghongTV1a(
72   unsigned int index)
73   : ChanghongTV1(index)
74 {
75   setKeysetName("TV Keyset 1a");
76 }
77
78
79 void ChanghongTV1a::populateProtocol(
80   QObject *guiObject)
81 {
82   if (threadableProtocol)
83   {
84     // Keyset already populated.
85     return;
86   }
87
88   ChanghongTV1::populateProtocol(guiObject);
89
90   addKey("OK/Select", Select_Key, 0x0A, 8);
91   addKey("100+", PlusOneHundred_Key, 0x0B, 8);
92   addKey("DASH", Dash_Key, 0x0B, 8);
93   addKey("Sleep", Sleep_Key, 0x0D, 8);
94   addKey("Mode", Mode_Key, 0x11, 8);
95   addKey("Input/Source", Input_Key, 0x14, 8);
96   addKey("Info/Display", Info_Key, 0x16, 8);
97   addKey("CC", Captions_Key, 0x17, 8);
98   addKey("Arrow_Up", Up_Key, 0x19, 8);
99   addKey("Arrow_Down", Down_Key, 0x1D, 8);
100   addKey("Last/Prev Ch", PrevChannel_Key, 0x40, 8);
101   addKey("Arrow_Left", Left_Key, 0x46, 8);
102   addKey("Arrow_Right", Right_Key, 0x47, 8);
103   addKey("Menu", Menu_Key, 0x5B, 8);
104 }
105
106
107 ChanghongTV1b::ChanghongTV1b(
108   unsigned int index)
109   : ChanghongTV1(index)
110 {
111   setKeysetName("TV Keyset 1b");
112 }
113
114
115 void ChanghongTV1b::populateProtocol(
116   QObject *guiObject)
117 {
118   if (threadableProtocol)
119   {
120     // Keyset already populated.
121     return;
122   }
123
124   ChanghongTV1::populateProtocol(guiObject);
125
126   addKey("100+", PlusOneHundred_Key, 0x0B, 8);
127   addKey("DASH", Dash_Key, 0x0B, 8);
128   addKey("Sleep", Sleep_Key, 0x0D, 8);
129   addKey("EXIT", Exit_Key, 0x11, 8);
130   addKey("Mode", Mode_Key, 0x11, 8);
131   addKey("Input/Source", Input_Key, 0x14, 8);
132   addKey("Info/Display", Info_Key, 0x16, 8);
133   addKey("Guide", Guide_Key, 0x18, 8);
134   addKey("Arrow_Right", Right_Key, 0x1A, 8);
135   addKey("Arrow_Up", Up_Key, 0x1B, 8);
136   addKey("Arrow_Left", Left_Key, 0x1E, 8);
137   addKey("Arrow_Down", Down_Key, 0x1F, 8);
138   addKey("Last/Prev Ch", PrevChannel_Key, 0x40, 8);
139   addKey("Menu", Menu_Key, 0x56, 8);
140   addKey("OK/Select", Select_Key, 0x5B, 8);
141 }
142
143
144 ChanghongTV2::ChanghongTV2(
145   unsigned int index)
146   : PIRKeysetMetaData(
147       "TV Keyset 2",
148       Changhong_Make,
149       index)
150 {
151 }
152
153
154 void ChanghongTV2::populateProtocol(
155   QObject *guiObject)
156 {
157   if (threadableProtocol)
158   {
159     // Keyset already populated.
160     return;
161   }
162
163   threadableProtocol = new NECProtocol(guiObject, index, false, true);
164
165   setPreData(0x40, 8);
166
167   addKey("0", Zero_Key, 0x00, 8);
168   addKey("1", One_Key, 0x01, 8);
169   addKey("2", Two_Key, 0x02, 8);
170   addKey("3", Three_Key, 0x03, 8);
171   addKey("4", Four_Key, 0x04, 8);
172   addKey("5", Five_Key, 0x05, 8);
173   addKey("6", Six_Key, 0x06, 8);
174   addKey("7", Seven_Key, 0x07, 8);
175   addKey("8", Eight_Key, 0x08, 8);
176   addKey("9", Nine_Key, 0x09, 8);
177   addKey("TV/Video", Input_Key, 0x0A, 8);
178   addKey("Arrow_Right", Right_Key, 0x0E, 8);
179   addKey("Menu", Menu_Key, 0x0F, 8);
180   addKey("Mute", Mute_Key, 0x10, 8);
181   addKey("CH-", ChannelDown_Key, 0x12, 8);
182   addKey("Info/Display", Info_Key, 0x13, 8);
183   addKey("Red", Red_Key, 0x13, 8);
184   addKey("Radio", TunerInput_Key, 0x14, 8);
185   addKey("-/--", DoubleDigit_Key, 0x15, 8);
186   addKey("Arrow_Up", Up_Key, 0x16, 8);
187   addKey("Last/Prev Ch", PrevChannel_Key, 0x17, 8);
188   addKey("Arrow_Down", Down_Key, 0x19, 8);
189   addKey("Volume +", VolumeUp_Key, 0x1A, 8);
190   addKey("Volume -", VolumeDown_Key, 0x1E, 8);
191   addKey("CH+", ChannelUp_Key, 0x1F, 8);
192   addKey("Audio", Audio_Key, 0x4C, 8);
193   addKey("Blue", PIPMove_Key, 0x4E, 8);
194   addKey("Format 16:9", AspectRatio_Key, 0x54, 8);
195   addKey("Green", Green_Key, 0x57, 8);
196   addKey("Yellow", Yellow_Key, 0x58, 8);
197   addKey("Guide", Guide_Key, 0x5A, 8);
198   addKey("Select", Select_Key, 0x80, 8);
199   addKey("Arrow_Left", Left_Key, 0x82, 8);
200   addKey("Power", Power_Key, 0x83, 8);
201   addKey("100+", PlusOneHundred_Key, 0x90, 8);
202 }
203
204
205 ChanghongTV3::ChanghongTV3(
206   unsigned int index)
207   : PIRKeysetMetaData(
208       "TV Keyset 3",
209       Changhong_Make,
210       index)
211 {
212 }
213
214
215 void ChanghongTV3::populateProtocol(
216   QObject *guiObject)
217 {
218   if (threadableProtocol)
219   {
220     // Keyset already populated.
221     return;
222   }
223
224   threadableProtocol = new ProtonProtocol(guiObject, index);
225
226   setPreData(0x04, 8);
227
228   addKey("CH+", ChannelUp_Key, 0x01, 8);
229   addKey("CH-", ChannelDown_Key, 0x02, 8);
230   addKey("Volume +", VolumeUp_Key, 0x03, 8);
231   addKey("Volume -", VolumeDown_Key, 0x04, 8);
232   addKey("Brightness +", BrightnessUp_Key, 0x05, 8);
233   addKey("Brightness -", BrightnessDown_Key, 0x06, 8);
234   addKey("Color -", ColorDown_Key, 0x07, 8);
235   addKey("Color +", ColorUp_Key, 0x08, 8);
236   addKey("Mute", Mute_Key, 0x09, 8);
237   addKey("Last/Prev Ch", PrevChannel_Key, 0x0A, 8);
238   addKey("Sleep", Sleep_Key, 0x0C, 8);
239   addKey("TV/Video", Input_Key, 0x0D, 8);
240   addKey("Power", Power_Key, 0x0E, 8);
241   addKey("Info/Display", Info_Key, 0x0F, 8);
242   addKey("1", One_Key, 0x10, 8);
243   addKey("2", Two_Key, 0x11, 8);
244   addKey("3", Three_Key, 0x12, 8);
245   addKey("4", Four_Key, 0x13, 8);
246   addKey("5", Five_Key, 0x14, 8);
247   addKey("6", Six_Key, 0x15, 8);
248   addKey("7", Seven_Key, 0x16, 8);
249   addKey("8", Eight_Key, 0x17, 8);
250   addKey("9", Nine_Key, 0x18, 8);
251   addKey("0", Zero_Key, 0x19, 8);
252   addKey("-/--", DoubleDigit_Key, 0x1A, 8);
253   addKey("Menu", Menu_Key, 0x58, 8);
254   addKey("Select", Select_Key, 0x58, 8);
255   addKey("Arrow_Right", Right_Key, 0x59, 8);
256   addKey("Arrow_Left", Left_Key, 0x5A, 8);
257 }