summaryrefslogtreecommitdiff
authorerik <erik>2007-02-09 17:47:29 (UTC)
committer erik <erik>2007-02-09 17:47:29 (UTC)
commitb3cde0d17f52f996c04a55de90583ca60a7e0210 (patch) (unidiff)
treed088372023f1031c9ae7a37e66c42c6d8c4e3d25
parent98353ac16bb90ee4b5df18945acf4fa7f05f9a85 (diff)
downloadopie-b3cde0d17f52f996c04a55de90583ca60a7e0210.zip
opie-b3cde0d17f52f996c04a55de90583ca60a7e0210.tar.gz
opie-b3cde0d17f52f996c04a55de90583ca60a7e0210.tar.bz2
This commit makes all supported models bit unique from each other within
their respective families. It also makes the model families bit unique with each other. This patch makes button (and general device features) not overlap. This fixes Opie bug 1836. Thanks goes out to Paul E. (aka BlueLightning) for originally reporting this problem and providing the text for a reasonable near-term solution. On top of all that, Paul even test the patch that this commit is based on, confirming that it was a reasonable solution. For those of you out there who support distros for the other model families, please be careful. And note that we have not tested on any of model family but iPAQs. We don't anticipate any problems, but be careful out there.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice.h65
1 files changed, 35 insertions, 30 deletions
diff --git a/libopie2/opiecore/device/odevice.h b/libopie2/opiecore/device/odevice.h
index 1eb5959..c6306e7 100644
--- a/libopie2/opiecore/device/odevice.h
+++ b/libopie2/opiecore/device/odevice.h
@@ -1,416 +1,421 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3              (C) 2002-2006 The Opie Team <opie-devel@handhelds.org> 3              (C) 2002-2006 The Opie Team <opie-devel@handhelds.org>
4 =. 4 =.
5 .=l. 5 .=l.
6           .>+-= 6           .>+-=
7 _;:,     .>    :=|. This program is free software; you can 7 _;:,     .>    :=|. This program is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under 8.> <`_,   >  .   <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
10.="- .-=="i,     .._ License as published by the Free Software 10.="- .-=="i,     .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; version 2 of the License. 11 - .   .-<_>     .<> Foundation; version 2 of the License.
12     ._= =}       : 12     ._= =}       :
13    .%`+i>       _;_. 13    .%`+i>       _;_.
14    .i_,=:_.      -<s. This program is distributed in the hope that 14    .i_,=:_.      -<s. This program is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of 16    : ..    .:,     . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more 19..}^=.=       =       ; Library General Public License for more
20++=   -.     .`     .: details. 20++=   -.     .`     .: details.
21 :     =  ...= . :.=- 21 :     =  ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU 22 -.   .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with 23  -_. . .   )=.  = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB. 24    --        :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation, 25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330, 26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA. 27 Boston, MA 02111-1307, USA.
28*/ 28*/
29 29
30#ifndef ODEVICE_H_ 30#ifndef ODEVICE_H_
31#define ODEVICE_H_ 31#define ODEVICE_H_
32 32
33/* OPIE */ 33/* OPIE */
34#include <opie2/odevicebutton.h> 34#include <opie2/odevicebutton.h>
35#include <qpe/qpeapplication.h> /* for Transformation enum.. */ 35#include <qpe/qpeapplication.h> /* for Transformation enum.. */
36 36
37/* QT */ 37/* QT */
38#include <qnamespace.h> 38#include <qnamespace.h>
39#include <qobject.h> 39#include <qobject.h>
40#include <qstring.h> 40#include <qstring.h>
41 41
42 42
43#include <qstrlist.h> 43#include <qstrlist.h>
44#include <qwindowsystem_qws.h> 44#include <qwindowsystem_qws.h>
45 45
46 46
47class Sound; 47class Sound;
48 48
49namespace Opie{ 49namespace Opie{
50namespace Core{ 50namespace Core{
51 51
52class ODeviceData; 52class ODeviceData;
53/** 53/**
54 * The available devices 54 * The available devices
55 */ 55 */
56enum OModel { 56enum OModel {
57 Model_Unknown, // = 0 57 Model_Unknown, // = 0
58 58
59 Model_Series_Mask = 0xffff0000, 59 Model_Series_Mask = 0xffff0000,
60 60
61 Model_iPAQ = ( 1 << 16 ), 61 Model_iPAQ = ( 1 << 16 ),
62 62
63 Model_iPAQ_All = ( Model_iPAQ | 0xffff ), 63 Model_iPAQ_All = ( Model_iPAQ | 0xffff ),
64 Model_iPAQ_H31xx = ( Model_iPAQ | 0x0001 ), 64 Model_iPAQ_H31xx = ( Model_iPAQ | 0x0001 ),
65 Model_iPAQ_H36xx = ( Model_iPAQ | 0x0002 ), 65 Model_iPAQ_H36xx = ( Model_iPAQ | 0x0002 ),
66 Model_iPAQ_H37xx = ( Model_iPAQ | 0x0003 ), 66 Model_iPAQ_H37xx = ( Model_iPAQ | 0x0004 ),
67 Model_iPAQ_H38xx = ( Model_iPAQ | 0x0004 ), 67 Model_iPAQ_H38xx = ( Model_iPAQ | 0x0008 ),
68 Model_iPAQ_H39xx = ( Model_iPAQ | 0x0005 ), 68 Model_iPAQ_H39xx = ( Model_iPAQ | 0x0010 ),
69 Model_iPAQ_H5xxx = ( Model_iPAQ | 0x0006 ), 69 Model_iPAQ_H5xxx = ( Model_iPAQ | 0x0020 ),
70 Model_iPAQ_H22xx = ( Model_iPAQ | 0x0007 ), 70 Model_iPAQ_H22xx = ( Model_iPAQ | 0x0040 ),
71 Model_iPAQ_H191x = ( Model_iPAQ | 0x0008 ), 71 Model_iPAQ_H191x = ( Model_iPAQ | 0x0080 ),
72 Model_iPAQ_H1940 = ( Model_iPAQ | 0x0009 ), 72 Model_iPAQ_H1940 = ( Model_iPAQ | 0x0100 ),
73 Model_iPAQ_HX4700 = ( Model_iPAQ | 0x000A ), 73 Model_iPAQ_HX4700 = ( Model_iPAQ | 0x0200 ),
74 Model_iPAQ_H4xxx = ( Model_iPAQ | 0x000b ), 74 Model_iPAQ_H4xxx = ( Model_iPAQ | 0x0400 ),
75 Model_Jornada = ( 6 << 16 ), 75
76 Model_Jornada = ( 3 << 17 ),
77
76 Model_Jornada_56x = ( Model_Jornada | 0x0001 ), 78 Model_Jornada_56x = ( Model_Jornada | 0x0001 ),
77 Model_Jornada_720 = ( Model_Jornada | 0x0002 ), 79 Model_Jornada_720 = ( Model_Jornada | 0x0002 ),
78 Model_Jornada_820 = ( Model_Jornada | 0x0003 ), 80 Model_Jornada_820 = ( Model_Jornada | 0x0004 ),
79 81
80 Model_Zaurus = ( 2 << 16 ), 82 Model_Zaurus = ( 2 << 16 ),
81 83
82 Model_Zaurus_SL5000 = ( Model_Zaurus | 0x0001 ), 84 Model_Zaurus_SL5000 = ( Model_Zaurus | 0x0001 ),
83 Model_Zaurus_SL5500 = ( Model_Zaurus | 0x0002 ), 85 Model_Zaurus_SL5500 = ( Model_Zaurus | 0x0002 ),
84 Model_Zaurus_SLA300 = ( Model_Zaurus | 0x0003 ), 86 Model_Zaurus_SLA300 = ( Model_Zaurus | 0x0004 ),
85 Model_Zaurus_SLB600 = ( Model_Zaurus | 0x0004 ), 87 Model_Zaurus_SLB600 = ( Model_Zaurus | 0x0008 ),
86 Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x0005 ), 88 Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x0010 ),
87 Model_Zaurus_SL6000 = ( Model_Zaurus | 0x0006 ), 89 Model_Zaurus_SL6000 = ( Model_Zaurus | 0x0020 ),
88 Model_Zaurus_SLC3000 = ( Model_Zaurus | 0x0007 ), 90 Model_Zaurus_SLC3000 = ( Model_Zaurus | 0x0040 ),
89 Model_Zaurus_SLC1000 = ( Model_Zaurus | 0x0008 ), 91 Model_Zaurus_SLC1000 = ( Model_Zaurus | 0x0080 ),
90 Model_Zaurus_SLC3100 = ( Model_Zaurus | 0x0009 ), 92 Model_Zaurus_SLC3100 = ( Model_Zaurus | 0x0100 ),
91 93
92 Model_SIMpad = ( 3 << 16 ), 94 Model_SIMpad = ( 3 << 16 ),
93 95
94 Model_SIMpad_All = ( Model_SIMpad | 0xffff ), 96 Model_SIMpad_All = ( Model_SIMpad | 0xffff ),
95 Model_SIMpad_CL4 = ( Model_SIMpad | 0x0001 ), 97 Model_SIMpad_CL4 = ( Model_SIMpad | 0x0001 ),
96 Model_SIMpad_SL4 = ( Model_SIMpad | 0x0002 ), 98 Model_SIMpad_SL4 = ( Model_SIMpad | 0x0002 ),
97 Model_SIMpad_SLC = ( Model_SIMpad | 0x0003 ), 99 Model_SIMpad_SLC = ( Model_SIMpad | 0x0004 ),
98 Model_SIMpad_TSinus = ( Model_SIMpad | 0x0004 ), 100 Model_SIMpad_TSinus = ( Model_SIMpad | 0x0008 ),
99 101
100 Model_Ramses = ( 4 << 16 ), 102 Model_Ramses = ( 4 << 16 ),
101 103
102 Model_Ramses_All = ( Model_Ramses | 0xffff ), 104 Model_Ramses_All = ( Model_Ramses | 0xffff ),
103 Model_Ramses_MNCI = ( Model_Ramses | 0x0001 ), 105 Model_Ramses_MNCI = ( Model_Ramses | 0x0001 ),
104 Model_Ramses_MNCIRX = ( Model_Ramses | 0x0002 ), 106 Model_Ramses_MNCIRX = ( Model_Ramses | 0x0002 ),
105 107
106 Model_Yopy = ( 5 << 16 ), 108 Model_Yopy = ( 5 << 16 ),
107 109
108 Model_Yopy_All = ( Model_Yopy | 0xffff ), 110 Model_Yopy_All = ( Model_Yopy | 0xffff ),
109 Model_Yopy_3000 = ( Model_Yopy | 0x0001 ), 111 Model_Yopy_3000 = ( Model_Yopy | 0x0001 ),
110 Model_Yopy_3500 = ( Model_Yopy | 0x0002 ), 112 Model_Yopy_3500 = ( Model_Yopy | 0x0002 ),
111 Model_Yopy_3700 = ( Model_Yopy | 0x0003 ), 113 Model_Yopy_3700 = ( Model_Yopy | 0x0004 ),
112 114
113 Model_Beagle = ( 6 << 16 ), 115 Model_Beagle = ( 6 << 16 ),
114 116
115 Model_Beagle_All = ( Model_Beagle | 0xffff ), 117 Model_Beagle_All = ( Model_Beagle | 0xffff ),
116 Model_Beagle_PA100 = ( Model_Beagle | 0x0001 ), 118 Model_Beagle_PA100 = ( Model_Beagle | 0x0001 ),
117 119
118 Model_GenuineIntel = ( 7 << 16 ), 120 Model_GenuineIntel = ( 7 << 16 ),
119 121
120 Model_MyPal = ( 8 << 16 ), 122 Model_MyPal = ( 8 << 16 ),
121 123
122 Model_MyPal_All = ( Model_MyPal | 0xffff ), 124 Model_MyPal_All = ( Model_MyPal | 0xffff ),
123 Model_MyPal_620 = ( Model_MyPal | 0x0001 ), 125 Model_MyPal_620 = ( Model_MyPal | 0x0001 ),
124 Model_MyPal_716 = ( Model_MyPal | 0x0002 ), 126 Model_MyPal_716 = ( Model_MyPal | 0x0002 ),
125 Model_MyPal_730 = ( Model_MyPal | 0x0003 ), 127 Model_MyPal_730 = ( Model_MyPal | 0x0004 ),
126 128
127 Model_HTC = ( 9 << 16 ), 129 Model_HTC = ( 9 << 16 ),
130
128 Model_HTC_All = ( Model_HTC | 0xffff ), 131 Model_HTC_All = ( Model_HTC | 0xffff ),
129 Model_HTC_Universal = ( Model_HTC | 0x0001 ), 132 Model_HTC_Universal = ( Model_HTC | 0x0001 ),
130 Model_HTC_Alpine = ( Model_HTC | 0x0002 ), 133 Model_HTC_Alpine = ( Model_HTC | 0x0002 ),
131 Model_HTC_Apache = ( Model_HTC | 0x0003 ), 134 Model_HTC_Apache = ( Model_HTC | 0x0004 ),
132 Model_HTC_Beetles = ( Model_HTC | 0x0004 ), 135 Model_HTC_Beetles = ( Model_HTC | 0x0008 ),
133 Model_HTC_Blueangel = ( Model_HTC | 0x0005 ), 136 Model_HTC_Blueangel = ( Model_HTC | 0x0010 ),
134 Model_HTC_Himalaya = ( Model_HTC | 0x0006 ), 137 Model_HTC_Himalaya = ( Model_HTC | 0x0020 ),
135 Model_HTC_Magician = ( Model_HTC | 0x0007 ), 138 Model_HTC_Magician = ( Model_HTC | 0x0040 ),
139
140 Model_Motorola = ( 2 << 17 ),
136 141
137 Model_Motorola = ( 9 << 17 ),
138 Model_Motorola_All = ( Model_Motorola | 0xffff ), 142 Model_Motorola_All = ( Model_Motorola | 0xffff ),
139 Model_Motorola_EZX = ( Model_Motorola | 0x0001 ), 143 Model_Motorola_EZX = ( Model_Motorola | 0x0001 ),
140 144
141 Model_Palm = ( 10 << 16), 145 Model_Palm = ( 1 << 17),
146
142 Model_Palm_All = ( Model_Palm | 0xffff ), 147 Model_Palm_All = ( Model_Palm | 0xffff ),
143 Model_Palm_LD = ( Model_Palm | 0x0001 ), 148 Model_Palm_LD = ( Model_Palm | 0x0001 ),
144 Model_Palm_TX = ( Model_Palm | 0x0002 ), 149 Model_Palm_TX = ( Model_Palm | 0x0002 ),
145 Model_Palm_Z72 = ( Model_Palm | 0x0003 ), 150 Model_Palm_Z72 = ( Model_Palm | 0x0004 ),
146 151
147}; 152};
148 153
149/** 154/**
150 * The vendor of the device 155 * The vendor of the device
151 */ 156 */
152enum OVendor { 157enum OVendor {
153 Vendor_Unknown, 158 Vendor_Unknown,
154 159
155 Vendor_HP, 160 Vendor_HP,
156 Vendor_Sharp, 161 Vendor_Sharp,
157 Vendor_SIEMENS, 162 Vendor_SIEMENS,
158 Vendor_MundN, 163 Vendor_MundN,
159 Vendor_GMate, 164 Vendor_GMate,
160 Vendor_MasterIA, 165 Vendor_MasterIA,
161 Vendor_GenuineIntel, 166 Vendor_GenuineIntel,
162 Vendor_Asus, 167 Vendor_Asus,
163 Vendor_HTC, 168 Vendor_HTC,
164 Vendor_Motorola, 169 Vendor_Motorola,
165 Vendor_Palm, 170 Vendor_Palm,
166}; 171};
167 172
168/** 173/**
169 * The System used 174 * The System used
170 */ 175 */
171enum OSystem { 176enum OSystem {
172 System_Unknown, 177 System_Unknown,
173 178
174 System_Familiar, 179 System_Familiar,
175 System_Zaurus, 180 System_Zaurus,
176 System_OpenZaurus, 181 System_OpenZaurus,
177 System_Linupy, 182 System_Linupy,
178 System_OpenEmbedded, 183 System_OpenEmbedded,
179 System_PC, 184 System_PC,
180 System_OpenEZX, 185 System_OpenEZX,
181 System_Angstrom, 186 System_Angstrom,
182}; 187};
183 188
184typedef struct { 189typedef struct {
185 OSystem system; 190 OSystem system;
186 char* sysstr; 191 char* sysstr;
187 char* sysvfile; 192 char* sysvfile;
188} ODistribution; 193} ODistribution;
189 194
190extern ODistribution distributions[]; 195extern ODistribution distributions[];
191 196
192 197
193enum OLedState { 198enum OLedState {
194 Led_Off, 199 Led_Off,
195 Led_On, 200 Led_On,
196 Led_BlinkSlow, 201 Led_BlinkSlow,
197 Led_BlinkFast 202 Led_BlinkFast
198}; 203};
199 204
200enum OLed { 205enum OLed {
201 Led_Mail, 206 Led_Mail,
202 Led_Power, 207 Led_Power,
203 Led_BlueTooth 208 Led_BlueTooth
204}; 209};
205 210
206enum OHardKey { 211enum OHardKey {
207 HardKey_Datebook = Qt::Key_F9, 212 HardKey_Datebook = Qt::Key_F9,
208 HardKey_Contacts = Qt::Key_F10, 213 HardKey_Contacts = Qt::Key_F10,
209 HardKey_Menu = Qt::Key_F11, 214 HardKey_Menu = Qt::Key_F11,
210 HardKey_Home = Qt::Key_F12, 215 HardKey_Home = Qt::Key_F12,
211 HardKey_Mail = Qt::Key_F13, 216 HardKey_Mail = Qt::Key_F13,
212 HardKey_Record = Qt::Key_F24, 217 HardKey_Record = Qt::Key_F24,
213 HardKey_Suspend = Qt::Key_F34, 218 HardKey_Suspend = Qt::Key_F34,
214 HardKey_Backlight = Qt::Key_F35, 219 HardKey_Backlight = Qt::Key_F35,
215 HardKey_Action = Qt::Key_F10, 220 HardKey_Action = Qt::Key_F10,
216 HardKey_OK = Qt::Key_F11, 221 HardKey_OK = Qt::Key_F11,
217 HardKey_End = Qt::Key_F12, 222 HardKey_End = Qt::Key_F12,
218}; 223};
219 224
220enum ODirection { 225enum ODirection {
221 CW = 0, 226 CW = 0,
222 CCW = 1, 227 CCW = 1,
223 Flip = 2, 228 Flip = 2,
224}; 229};
225 230
226enum OHingeStatus { 231enum OHingeStatus {
227 CASE_CLOSED = 3, 232 CASE_CLOSED = 3,
228 CASE_PORTRAIT = 2, 233 CASE_PORTRAIT = 2,
229 CASE_LANDSCAPE = 0, 234 CASE_LANDSCAPE = 0,
230 CASE_UNKNOWN = 1, 235 CASE_UNKNOWN = 1,
231}; 236};
232 237
233/* default button for qvfb or such 238/* default button for qvfb or such
234 * see odevice.cpp for details. 239 * see odevice.cpp for details.
235 * hint: manage a user defined button for qvfb? 240 * hint: manage a user defined button for qvfb?
236 * alwin 241 * alwin
237 */ 242 */
238struct default_button { 243struct default_button {
239 Qt::Key code; 244 Qt::Key code;
240 char *utext; 245 char *utext;
241 char *pix; 246 char *pix;
242 char *fpressedservice; 247 char *fpressedservice;
243 char *fpressedaction; 248 char *fpressedaction;
244 char *fheldservice; 249 char *fheldservice;
245 char *fheldaction; 250 char *fheldaction;
246}; 251};
247 252
248/** 253/**
249 * A singleton which gives informations about device specefic option 254 * A singleton which gives informations about device specefic option
250 * like the Hardware used, LEDs, the Base Distribution and 255 * like the Hardware used, LEDs, the Base Distribution and
251 * hardware key mappings. 256 * hardware key mappings.
252 * 257 *
253 * @short A small class for device specific options 258 * @short A small class for device specific options
254 * @see QObject 259 * @see QObject
255 * @author Robert Griebl 260 * @author Robert Griebl
256 * @version 1.0 261 * @version 1.0
257 */ 262 */
258class ODevice : public QObject 263class ODevice : public QObject
259{ 264{
260 Q_OBJECT 265 Q_OBJECT
261 266
262private: 267private:
263 /* disable copy */ 268 /* disable copy */
264 ODevice ( const ODevice & ); 269 ODevice ( const ODevice & );
265 270
266protected: 271protected:
267 ODevice(); 272 ODevice();
268 virtual void init(const QString&); 273 virtual void init(const QString&);
269 virtual void initButtons(); 274 virtual void initButtons();
270 static void sendSuspendmsg(); 275 static void sendSuspendmsg();
271 276
272 ODeviceData *d; 277 ODeviceData *d;
273 278
274public: 279public:
275 // sandman do we want to allow destructions? -zecke? 280 // sandman do we want to allow destructions? -zecke?
276 virtual ~ODevice(); 281 virtual ~ODevice();
277 static ODevice *inst(); 282 static ODevice *inst();
278 283
279 // information 284 // information
280 QString modelString() const; 285 QString modelString() const;
281 OModel model() const; 286 OModel model() const;
282 inline OModel series() const { return (OModel) ( model() & Model_Series_Mask ); } 287 inline OModel series() const { return (OModel) ( model() & Model_Series_Mask ); }
283 288
284 QString vendorString() const; 289 QString vendorString() const;
285 OVendor vendor() const; 290 OVendor vendor() const;
286 291
287 QString systemString() const; 292 QString systemString() const;
288 OSystem system() const; 293 OSystem system() const;
289 294
290 QString systemVersionString() const; 295 QString systemVersionString() const;
291 296
292 virtual Transformation rotation() const; 297 virtual Transformation rotation() const;
293 virtual ODirection direction() const; 298 virtual ODirection direction() const;
294 299
295 QString qteDriver() const; 300 QString qteDriver() const;
296 301
297 // system 302 // system
298 virtual bool suspend(); 303 virtual bool suspend();
299 304
300 virtual bool setDisplayStatus ( bool on ); 305 virtual bool setDisplayStatus ( bool on );
301 virtual bool setDisplayBrightness ( int brightness ); 306 virtual bool setDisplayBrightness ( int brightness );
302 virtual int displayBrightnessResolution() const; 307 virtual int displayBrightnessResolution() const;
303 virtual bool setDisplayContrast ( int contrast ); 308 virtual bool setDisplayContrast ( int contrast );
304 virtual int displayContrastResolution() const; 309 virtual int displayContrastResolution() const;
305 310
306 // don't add new virtual methods, use this: 311 // don't add new virtual methods, use this:
307 // /*virtual */ void boo(int i ) { return virtual_hook(1,&i); }; 312 // /*virtual */ void boo(int i ) { return virtual_hook(1,&i); };
308 // and in your subclass do overwrite 313 // and in your subclass do overwrite
309 // protected virtual int virtual_hook(int, void *) 314 // protected virtual int virtual_hook(int, void *)
310 // which is defined below 315 // which is defined below
311 316
312 // input / output 317 // input / output
313 virtual void playAlarmSound(); 318 virtual void playAlarmSound();
314 virtual void playKeySound(); 319 virtual void playKeySound();
315 virtual void playTouchSound(); 320 virtual void playTouchSound();
316 321
317 virtual QValueList <OLed> ledList() const; 322 virtual QValueList <OLed> ledList() const;
318 virtual QValueList <OLedState> ledStateList ( OLed led ) const; 323 virtual QValueList <OLedState> ledStateList ( OLed led ) const;
319 virtual OLedState ledState ( OLed led ) const; 324 virtual OLedState ledState ( OLed led ) const;
320 virtual bool setLedState ( OLed led, OLedState st ); 325 virtual bool setLedState ( OLed led, OLedState st );
321 326
322 virtual bool hasLightSensor() const; 327 virtual bool hasLightSensor() const;
323 virtual int readLightSensor(); 328 virtual int readLightSensor();
324 virtual int lightSensorResolution() const; 329 virtual int lightSensorResolution() const;
325 330
326 virtual bool hasHingeSensor() const; 331 virtual bool hasHingeSensor() const;
327 virtual OHingeStatus readHingeSensor()const; 332 virtual OHingeStatus readHingeSensor()const;
328 333
329 const QStrList &allowedCpuFrequencies() const; 334 const QStrList &allowedCpuFrequencies() const;
330 bool setCurrentCpuFrequency(uint index); 335 bool setCurrentCpuFrequency(uint index);
331 336
332 /** 337 /**
333 * Returns the available buttons on this device. The number and location 338 * Returns the available buttons on this device. The number and location
334 * of buttons will vary depending on the device. Button numbers will be assigned 339 * of buttons will vary depending on the device. Button numbers will be assigned
335 * by the device manufacturer and will be from most preferred button to least preffered 340 * by the device manufacturer and will be from most preferred button to least preffered
336 * button. Note that this list only contains "user mappable" buttons. 341 * button. Note that this list only contains "user mappable" buttons.
337 * 342 *
338 * @todo Make method const and take care of calling initButtons or make that const too 343 * @todo Make method const and take care of calling initButtons or make that const too
339 * 344 *
340 */ 345 */
341 const QValueList<ODeviceButton> &buttons(); 346 const QValueList<ODeviceButton> &buttons();
342 347
343 /** 348 /**
344 * Returns the DeviceButton for the \a keyCode. If \a keyCode is not found, it 349 * Returns the DeviceButton for the \a keyCode. If \a keyCode is not found, it
345 * returns 0L 350 * returns 0L
346 */ 351 */
347 const ODeviceButton *buttonForKeycode ( ushort keyCode ); 352 const ODeviceButton *buttonForKeycode ( ushort keyCode );
348 353
349 /** 354 /**
350 * Reassigns the pressed action for \a button. To return to the factory 355 * Reassigns the pressed action for \a button. To return to the factory
351 * default pass an empty string as \a qcopMessage. 356 * default pass an empty string as \a qcopMessage.
352 */ 357 */
353 void remapPressedAction ( int button, const OQCopMessage &qcopMessage ); 358 void remapPressedAction ( int button, const OQCopMessage &qcopMessage );
354 359
355 /** 360 /**
356 * Reassigns the held action for \a button. To return to the factory 361 * Reassigns the held action for \a button. To return to the factory
357 * default pass an empty string as \a qcopMessage. 362 * default pass an empty string as \a qcopMessage.
358 */ 363 */
359 void remapHeldAction ( int button, const OQCopMessage &qcopMessage ); 364 void remapHeldAction ( int button, const OQCopMessage &qcopMessage );
360 365
361 /** 366 /**
362 * How long (in ms) you have to press a button for a "hold" action 367 * How long (in ms) you have to press a button for a "hold" action
363 */ 368 */
364 uint buttonHoldTime() const; 369 uint buttonHoldTime() const;
365 370
366signals: 371signals:
367 void buttonMappingChanged(); 372 void buttonMappingChanged();
368 373
369private slots: 374private slots:
370 void systemMessage ( const QCString &, const QByteArray & ); 375 void systemMessage ( const QCString &, const QByteArray & );
371 void playingStopped(); 376 void playingStopped();
372 377
373protected: 378protected:
374 void addPreHandler(QWSServer::KeyboardFilter*aFilter); 379 void addPreHandler(QWSServer::KeyboardFilter*aFilter);
375 void remPreHandler(QWSServer::KeyboardFilter*aFilter); 380 void remPreHandler(QWSServer::KeyboardFilter*aFilter);
376 void reloadButtonMapping(); 381 void reloadButtonMapping();
377 void changeMixerForAlarm( int mixer, const char* file, Sound *snd); 382 void changeMixerForAlarm( int mixer, const char* file, Sound *snd);
378 383
379 /* ugly virtual hook */ 384 /* ugly virtual hook */
380 virtual void virtual_hook( int id, void* data ); 385 virtual void virtual_hook( int id, void* data );
381}; 386};
382 387
383class ODeviceData { 388class ODeviceData {
384 389
385 public: 390 public:
386 QString m_vendorstr; 391 QString m_vendorstr;
387 OVendor m_vendor; 392 OVendor m_vendor;
388 393
389 QString m_modelstr; 394 QString m_modelstr;
390 OModel m_model; 395 OModel m_model;
391 396
392 QString m_systemstr; 397 QString m_systemstr;
393 OSystem m_system; 398 OSystem m_system;
394 399
395 QString m_sysverstr; 400 QString m_sysverstr;
396 401
397 Transformation m_rotation; 402 Transformation m_rotation;
398 ODirection m_direction; 403 ODirection m_direction;
399 404
400 QString m_qteDriver; 405 QString m_qteDriver;
401 406
402 QValueList <ODeviceButton> *m_buttons; 407 QValueList <ODeviceButton> *m_buttons;
403 uint m_holdtime; 408 uint m_holdtime;
404 QStrList *m_cpu_frequencies; 409 QStrList *m_cpu_frequencies;
405 bool m_initializedButtonQcop : 1; 410 bool m_initializedButtonQcop : 1;
406 411
407 /* values for changeMixerForAlarm */ 412 /* values for changeMixerForAlarm */
408 int m_sound, m_vol, m_mixer; 413 int m_sound, m_vol, m_mixer;
409}; 414};
410 415
411extern bool isQWS(); 416extern bool isQWS();
412extern QCString makeChannel ( const char *str ); 417extern QCString makeChannel ( const char *str );
413} 418}
414} 419}
415 420
416#endif 421#endif