Memory Management Improved
[pierogi] / keysets / huawei.cpp
1 #include "huawei.h"
2 #include "protocols/necprotocol.h"
3 #include "protocols/necxprotocol.h"
4
5
6 HuaweiSTB1::HuaweiSTB1(
7   unsigned int index)
8   : PIRKeysetMetaData(
9       "STB Keyset 1",
10       Huawei_Make,
11       index)
12 {
13   addControlledDevice(Huawei_Make, "EX2108", Other_Device);
14 }
15
16
17 void HuaweiSTB1::populateProtocol(
18   QObject *guiObject)
19 {
20   if (threadableProtocol)
21   {
22     // If the pointer is not null, the keyset must already be populated.
23     return;
24   }
25
26   threadableProtocol = new NECXProtocol(guiObject, index, false);
27
28   setPreData(0x1111, 16);
29
30   addKey("5", Five_Key, 0x80, 8);
31   addKey("0", Zero_Key, 0x87, 8);
32   addKey("Green", Green_Key, 0x89, 8);
33   addKey("7", Seven_Key, 0x8A, 8);
34   addKey("8", Eight_Key, 0x8B, 8);
35   addKey("4", Four_Key, 0x8E, 8);
36
37   addKey("Stop", Stop_Key, 0x90, 8);
38   addKey("1", One_Key, 0x92, 8);
39   addKey("2", Two_Key, 0x93, 8);
40   addKey("Last_ch", PrevChannel_Key, 0x95, 8);
41   addKey("Guide", Guide_Key, 0x98, 8);
42   addKey("Page-", PageDown_Key, 0x99, 8);
43   addKey("left_arrow", Left_Key, 0x99, 8);
44   addKey("Record", Record_Key, 0x9A, 8);
45   addKey("Power", Power_Key, 0x9C, 8);
46   addKey("Menu", Menu_Key, 0x9D, 8);
47
48   addKey("Page+", PageUp_Key, 0xC1, 8);
49   addKey("right_arrow", Right_Key, 0xC1, 8);
50   addKey("Play", Play_Key, 0xC3, 8);
51   addKey("Pause", Pause_Key, 0xC3, 8);
52   addKey("9", Nine_Key, 0xC4, 8);
53   addKey("6", Six_Key, 0xC8, 8);
54   addKey("CH+", ChannelUp_Key, 0xCA, 8);
55   addKey("up_arrow", Up_Key, 0xCA, 8);
56   addKey("3", Three_Key, 0xCC, 8);
57   addKey("Select", Select_Key, 0xCE, 8);
58
59   addKey("CH-", ChannelDown_Key, 0xD2, 8);
60   addKey("down_arrow", Down_Key, 0xD2, 8);
61   addKey("ffwd", FastForward_Key, 0xD6, 8);
62   addKey("Yellow", Yellow_Key, 0xD9, 8);
63   addKey("rewind", Rewind_Key, 0xDA, 8);
64   addKey("Info", Info_Key, 0xDD, 8);
65 }
66
67
68 HuaweiSTB2::HuaweiSTB2(
69   unsigned int index)
70   : PIRKeysetMetaData(
71       "STB Keyset 2",
72       Huawei_Make,
73       index)
74 {
75   addControlledDevice(Huawei_Make, "EC2108", Other_Device);
76 }
77
78
79 void HuaweiSTB2::populateProtocol(
80   QObject *guiObject)
81 {
82   if (threadableProtocol)
83   {
84     // If the pointer is not null, the keyset must already be populated.
85     return;
86   }
87
88   threadableProtocol = new NECProtocol(guiObject, index, false, true);
89
90   setPreData(0x11, 8);
91
92   addKey("Red", Red_Key, 0x84, 8);
93   addKey("0", Zero_Key, 0x87, 8);
94   addKey("Green", Green_Key, 0x89, 8);
95   addKey("7", Seven_Key, 0x8A, 8);
96   addKey("8", Eight_Key, 0x8B, 8);
97   addKey("4", Four_Key, 0x8E, 8);
98   addKey("5", Five_Key, 0x8F, 8);
99
100   addKey("ChannelPrev", PrevChannel_Key, 0x90, 8);
101   addKey("1", One_Key, 0x92, 8);
102   addKey("2", Two_Key, 0x93, 8);
103   addKey("LiveTV", LiveTV_Key, 0x95, 8);
104   addKey("Blue", Blue_Key, 0x96, 8);
105   addKey("PageDown", PageDown_Key, 0x98, 8);
106   addKey("VolumeDown", VolumeDown_Key, 0x99, 8);
107   addKey("DirectionLeft", Left_Key, 0x99, 8);
108   addKey("Guide", Guide_Key, 0x9A, 8);
109   addKey("Menu", Menu_Key, 0x9B, 8);
110   addKey("PowerToggle", Power_Key, 0x9C, 8);
111   addKey("Mute", Mute_Key, 0x9D, 8);
112   addKey("#", Unmapped_Key, 0x9F, 8);
113
114   addKey("VolumeUp", VolumeUp_Key, 0xC1, 8);
115   addKey("DirectionRight", Right_Key, 0xC1, 8);
116   addKey("Info", Info_Key, 0xC2, 8);
117   addKey("Pause", Pause_Key, 0xC3, 8);
118   addKey("Play", Play_Key, 0xC3, 8);
119   addKey("9", Nine_Key, 0xC4, 8);
120   addKey("Subtitle", Captions_Key, 0xC7, 8);
121   addKey("6", Six_Key, 0xC8, 8);
122   addKey("ChannelUp", ChannelUp_Key, 0xCA, 8);
123   addKey("DirectionUp", Up_Key, 0xCA, 8);
124   addKey("3", Three_Key, 0xCC, 8);
125   addKey("Select/Ok", Select_Key, 0xCE, 8);
126   addKey("PageUp", PageUp_Key, 0xCF, 8);
127
128   addKey("VOD", Unmapped_Key, 0xD1, 8);
129   addKey("ChannelDown", ChannelDown_Key, 0xD2, 8);
130   addKey("DirectionDown", Down_Key, 0xD2, 8);
131   addKey("Audio", Audio_Key, 0xD4, 8);
132   addKey("*", Unmapped_Key, 0xD5, 8);
133   addKey("FastForward", FastForward_Key, 0xD6, 8);
134   addKey("Exit", Exit_Key, 0xD7, 8);
135   addKey("Yellow", Yellow_Key, 0xD9, 8);
136   addKey("Rewind", Rewind_Key, 0xDA, 8);
137   addKey("Interactive", Unmapped_Key, 0xDD, 8);
138 }