Keyset Memory Management Bugfix
[pierogi] / pirmakenames.h
1 #ifndef PIRMAKENAMES_H
2 #define PIRMAKENAMES_H
3
4 class QComboBox;
5
6 // The list of brands currently known by Pierogi:
7 enum PIRMakeName{
8   Any_Make,
9   Acer_Make,
10   ADB_Make,
11   Admiral_Make,
12   Aiwa_Make,
13   Anitech_Make,
14   AOC_Make,
15   Apple_Make,
16   Arcam_Make,
17   Beko_Make,
18   BenQ_Make,
19   Blaupunkt_Make,
20   Bose_Make,
21   Bush_Make,
22   Cambridge_Make,
23   Canon_Make,
24   Changhong_Make,
25   Cisco_Make,
26   Compro_Make,
27   Creative_Make,
28   Crown_Make,
29   CrownMustang_Make,
30   Daewoo_Make,
31   Dell_Make,
32   Denon_Make,
33   DeutscheTelekom_Make,
34   DigitalStream_Make,
35   Directv_Make,
36   Dish_Make,
37   Dreambox_Make,
38   DSE_Make,
39   Dynex_Make,
40   Ei_Make,
41   Elgato_Make,
42   Emerson_Make,
43   Emtec_Make,
44   Epson_Make,
45   Fortec_Make,
46   Foxtel_Make,
47   Frontech_Make,
48   Gadmei_Make,
49   Genius_Make,
50   GoldStar_Make,
51   Goodmans_Make,
52   Grundig_Make,
53   Haier_Make,
54   Hantarex_Make,
55   HarmanKardon_Make,
56   Hauppauge_Make,
57   Hitachi_Make,
58   Homecast_Make,
59   HP_Make,
60   Huawei_Make,
61   Humax_Make,
62   Hyundai_Make,
63   IRobot_Make,
64   JVC_Make,
65   Kaon_Make,
66   Kathrein_Make,
67   Kenwood_Make,
68   Keymat_Make,
69   Konka_Make,
70   Lexuz_Make,
71   LG_Make,
72   Lifetec_Make,
73   Loewe_Make,
74   Logitech_Make,
75   Magnavox_Make,
76   Magnum_Make,
77   Medion_Make,
78   Microsoft_Make,
79   Mitsubishi_Make,
80   Motorola_Make,
81   NAD_Make,
82   Nikon_Make,
83   Nokia_Make,
84   Octagon_Make,
85   Olympus_Make,
86   Onida_Make,
87   Onkyo_Make,
88   Orion_Make,
89   Panasonic_Make,
90   Pentax_Make,
91   Philco_Make,
92   Philips_Make,
93   Pinnacle_Make,
94   Pioneer_Make,
95   Proview_Make,
96   QNAP_Make,
97   Raite_Make,
98   RCA_Make,
99   Roku_Make,
100   Saba_Make,
101   Sagem_Make,
102   Samsung_Make,
103   Sanyo_Make,
104   Sharp_Make,
105   Sinotec_Make,
106   Sky_Make,
107   Sony_Make,
108   Starsat_Make,
109   Strong_Make,
110   Sylvania_Make,
111   Technics_Make,
112   Technisat_Make,
113   Telefunken_Make,
114   Telenet_Make,
115   Thomson_Make,
116   Tivo_Make,
117   Topfield_Make,
118   Toshiba_Make,
119   Triax_Make,
120   United_Make,
121   Universum_Make,
122   Vestel_Make,
123   Viewsat_Make,
124   Viewsonic_Make,
125   Virgin_Make,
126   Vizio_Make,
127   WD_Make,
128   Westinghouse_Make,
129   Wiwa_Make,
130   Xcruiser_Make,
131   Yamaha_Make,
132   Zenith_Make
133 };
134
135
136 // An object of convenience:
137
138 #include <map>
139 #include <QString>
140 typedef std::map<PIRMakeName, const char *> MakeCollection;
141 typedef std::map<QString, PIRMakeName> ReverseMakeCollection;
142
143 class PIRMakeMgr
144 {
145 public:
146   PIRMakeMgr();
147
148   const char *getMakeString(
149     PIRMakeName n);
150
151   PIRMakeName getMakeID(
152     QString name);
153
154   void populateComboBox(
155     QComboBox *cb);
156
157 private:
158   MakeCollection makes;
159   ReverseMakeCollection makeIDs;
160 };
161
162 #endif // PIRMAKENAMES_H