Memory Management Improved
[pierogi] / keysets / topfield.cpp
1 #include "topfield.h"
2 #include "protocols/necprotocol.h"
3
4 TopfieldPVR1::TopfieldPVR1(
5   unsigned int index)
6   : PIRKeysetMetaData(
7       "PVR Keyset 1",
8       Topfield_Make,
9       index)
10 {
11   addControlledDevice(Topfield_Make, "PVR 4000", Other_Device);
12   addControlledDevice(Topfield_Make, "PVR 5000", Other_Device);
13 }
14
15
16 void TopfieldPVR1::populateProtocol(
17   QObject *guiObject)
18 {
19   if (threadableProtocol)
20   {
21     // If the pointer is not null, the keyset must already be populated.
22     return;
23   }
24
25   threadableProtocol = new NECProtocol(guiObject, index, false, true);
26
27   setPreData(0x20, 8);
28
29   addKey("Up", Up_Key, 0x00, 8); // "P+"
30   addKey("Up", ChannelUp_Key, 0x00, 8); // "P+"
31   addKey("Down", Down_Key, 0x01, 8); // "P-"
32   addKey("Down", ChannelDown_Key, 0x01, 8); // "P-"
33   addKey("Right", Right_Key, 0x02, 8); // "VOL+"
34   addKey("Right", VolumeUp_Key, 0x02, 8); // "VOL+"
35   addKey("Left", Left_Key, 0x03, 8); // "VOL-"
36   addKey("Left", VolumeDown_Key, 0x03, 8); // "VOL-"
37   addKey("Tv", Input_Key, 0x04, 8);
38   addKey("Audio", Audio_Key, 0x05, 8);
39   addKey("Pause", Pause_Key, 0x06, 8);
40   addKey("Subtitles", Captions_Key, 0x07, 8);
41   addKey("Sat", SatInput_Key, 0x08, 8);
42   addKey("Fav", Favorites_Key, 0x09, 8);
43   addKey("Power", Power_Key, 0x0A, 8);
44   addKey("Mute", Mute_Key, 0x0C, 8);
45   addKey("Green", Green_Key, 0x0D, 8);
46   addKey("Yellow", Yellow_Key, 0x0E, 8);
47   addKey("Blue", Blue_Key, 0x0F, 8);
48
49   addKey("0", Zero_Key, 0x10, 8);
50   addKey("1", One_Key, 0x11, 8);
51   addKey("2", Two_Key, 0x12, 8);
52   addKey("3", Three_Key, 0x13, 8);
53   addKey("4", Four_Key, 0x14, 8);
54   addKey("5", Five_Key, 0x15, 8);
55   addKey("6", Six_Key, 0x16, 8);
56   addKey("7", Seven_Key, 0x17, 8);
57   addKey("8", Eight_Key, 0x18, 8);
58   addKey("9", Nine_Key, 0x19, 8);
59   addKey("Menu", Menu_Key, 0x1A, 8);
60   addKey("Scheudle", Guide_Key, 0x1B, 8); // "GUIDE"
61   addKey("Back", Exit_Key, 0x1C, 8); // "EXIT"
62   addKey("Info", Info_Key, 0x1D, 8);
63   addKey("Prev", PrevChannel_Key, 0x1E, 8); // "BACK"
64   addKey("Ok", Select_Key, 0x1F, 8);
65
66   addKey("UHF", AntennaInput_Key, 0x43, 8);
67   addKey("Timer", Timer_Key, 0x44, 8);
68   addKey("FastRew", Rewind_Key, 0x45, 8);
69   addKey("Play", Play_Key, 0x46, 8);
70   addKey("Teletext", Teletext_Key, 0x47, 8);
71   addKey("FastFwd", FastForward_Key, 0x48, 8);
72   addKey("Skip", Unmapped_Key, 0x49, 8);
73   addKey("Stop", Stop_Key, 0x4A, 8);
74   addKey("Rec", Record_Key, 0x4B, 8);
75   addKey("White", Unmapped_Key, 0x4C, 8);
76   addKey("Red", Red_Key, 0x4D, 8);
77
78   addKey("SkipLeft", Replay_Key, 0x50, 8);
79   addKey("Records", Unmapped_Key, 0x51, 8); // "LIST"
80   addKey("SkipRight", Advance_Key, 0x52,8);
81   addKey("Gray", Unmapped_Key, 0x5E, 8);
82 }
83
84
85 TopfieldSat1::TopfieldSat1(
86   unsigned int index)
87   : PIRKeysetMetaData(
88       "Sat Keyset 1",
89       Topfield_Make,
90       index)
91 {
92   addControlledDevice(Topfield_Make, "TF4000Fi", Sat_Device);
93 }
94
95
96 void TopfieldSat1::populateProtocol(
97   QObject *guiObject)
98 {
99   if (threadableProtocol)
100   {
101     // If the pointer is not null, the keyset must already be populated.
102     return;
103   }
104
105   threadableProtocol = new NECProtocol(guiObject, index, true, true);
106
107   setPreData(0xFF04, 16);
108
109   addKey("P+", ChannelUp_Key, 0x00, 8);
110   addKey("P-", ChannelDown_Key, 0x01, 8);
111   addKey("V+", VolumeUp_Key, 0x02, 8);
112   addKey("V-", VolumeDown_Key, 0x03, 8);
113   addKey("TV/Radio", TunerInput_Key, 0x04, 8);
114   addKey("Sound", Audio_Key, 0x05, 8);
115   addKey("Pause", Pause_Key, 0x06, 8);
116   addKey("Subtitle", Captions_Key, 0x07, 8);
117   addKey("TV/STB", Input_Key, 0x08, 8);
118   addKey("FAV", Favorites_Key, 0x09, 8);
119   addKey("Power", Power_Key, 0x0A, 8);
120   addKey("Red", Red_Key, 0x0B, 8);
121   addKey("Mute", Mute_Key, 0x0C, 8);
122   addKey("Green", Green_Key, 0x0D, 8);
123   addKey("Yellow", Yellow_Key, 0x0E, 8);
124   addKey("Blue", Blue_Key, 0x0F, 8);
125
126   addKey("0", Zero_Key, 0x10, 8);
127   addKey("1", One_Key, 0x11, 8);
128   addKey("2", Two_Key, 0x12, 8);
129   addKey("3", Three_Key, 0x13, 8);
130   addKey("4", Four_Key, 0x14, 8);
131   addKey("5", Five_Key, 0x15, 8);
132   addKey("6", Six_Key, 0x16, 8);
133   addKey("7", Seven_Key, 0x17, 8);
134   addKey("8", Eight_Key, 0x18, 8);
135   addKey("9", Nine_Key, 0x19, 8);
136   addKey("Menu", Menu_Key, 0x1A, 8);
137   addKey("Guide", Guide_Key, 0x1B, 8);
138   addKey("Exit", Exit_Key, 0x1C, 8);
139   addKey("Info", Info_Key, 0x1D, 8);
140   addKey("Recall", PrevChannel_Key, 0x1E, 8);
141   addKey("Ok", Select_Key, 0x1F, 8);
142
143   addKey("M1", Unmapped_Key, 0x40, 8);
144   addKey("M2", Unmapped_Key, 0x41, 8);
145   addKey("M3", Unmapped_Key, 0x42, 8);
146   addKey("UHF", AntennaInput_Key, 0x43, 8);
147   addKey("Sleep", Sleep_Key, 0x44, 8);
148   addKey("Teletext", Teletext_Key, 0x47, 8);
149
150   addKey("SAT", SatInput_Key, 0x5E, 8);
151 }