author | zecke <zecke> | 2004-02-19 02:05:37 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-02-19 02:05:37 (UTC) |
commit | 34e732b3490bcad2cb05a1252ef5f06b3feef9ad (patch) (unidiff) | |
tree | 1114cf4d32dd0955550536f93b4054f76207c90e /libopie/odevice.h | |
parent | f98fdfa6509fd1db5ea9ee834b5808ee12c8e697 (diff) | |
download | opie-34e732b3490bcad2cb05a1252ef5f06b3feef9ad.zip opie-34e732b3490bcad2cb05a1252ef5f06b3feef9ad.tar.gz opie-34e732b3490bcad2cb05a1252ef5f06b3feef9ad.tar.bz2 |
Add notes for API fixes and BC stuff
-rw-r--r-- | libopie/odevice.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libopie/odevice.h b/libopie/odevice.h index ee0b0ec..791d358 100644 --- a/libopie/odevice.h +++ b/libopie/odevice.h | |||
@@ -1,284 +1,286 @@ | |||
1 | /* This file is part of the OPIE libraries | 1 | /* This file is part of the OPIE libraries |
2 | Copyright (C) 2002 Robert Griebl (sandman@handhelds.org) | 2 | Copyright (C) 2002 Robert Griebl (sandman@handhelds.org) |
3 | Copyright (C) 2003 Holger 'zecke' Freyther (zecke@handhelds.org) | 3 | Copyright (C) 2003 Holger 'zecke' Freyther (zecke@handhelds.org) |
4 | 4 | ||
5 | This library is free software; you can redistribute it and/or | 5 | This library is free software; you can redistribute it and/or |
6 | modify it under the terms of the GNU Library General Public | 6 | modify it under the terms of the GNU Library General Public |
7 | License as published by the Free Software Foundation; either | 7 | License as published by the Free Software Foundation; either |
8 | version 2 of the License, or (at your option) any later version. | 8 | version 2 of the License, or (at your option) any later version. |
9 | 9 | ||
10 | This library is distributed in the hope that it will be useful, | 10 | This library is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | Library General Public License for more details. | 13 | Library General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU Library General Public License | 15 | You should have received a copy of the GNU Library General Public License |
16 | along with this library; see the file COPYING.LIB. If not, write to | 16 | along with this library; see the file COPYING.LIB. If not, write to |
17 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 17 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
18 | Boston, MA 02111-1307, USA. | 18 | Boston, MA 02111-1307, USA. |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ifndef _LIBOPIE_ODEVICE_H_ | 21 | #ifndef _LIBOPIE_ODEVICE_H_ |
22 | #define _LIBOPIE_ODEVICE_H_ | 22 | #define _LIBOPIE_ODEVICE_H_ |
23 | 23 | ||
24 | #include <qobject.h> | 24 | #include <qobject.h> |
25 | #include <qstring.h> | 25 | #include <qstring.h> |
26 | #include <qnamespace.h> | 26 | #include <qnamespace.h> |
27 | #include <qstrlist.h> | 27 | #include <qstrlist.h> |
28 | 28 | ||
29 | #include <opie/odevicebutton.h> | 29 | #include <opie/odevicebutton.h> |
30 | 30 | ||
31 | #include <qpe/qpeapplication.h> /* for Transformation enum.. */ | 31 | #include <qpe/qpeapplication.h> /* for Transformation enum.. */ |
32 | 32 | ||
33 | class ODeviceData; | 33 | class ODeviceData; |
34 | 34 | ||
35 | namespace Opie { | 35 | namespace Opie { |
36 | 36 | ||
37 | /** | 37 | /** |
38 | * The available devices | 38 | * The available devices |
39 | */ | 39 | */ |
40 | enum OModel { | 40 | enum OModel { |
41 | Model_Unknown, // = 0 | 41 | Model_Unknown, // = 0 |
42 | 42 | ||
43 | Model_Series_Mask = 0xff000000, | 43 | Model_Series_Mask = 0xff000000, |
44 | 44 | ||
45 | Model_iPAQ = ( 1 << 24 ), | 45 | Model_iPAQ = ( 1 << 24 ), |
46 | 46 | ||
47 | Model_iPAQ_All = ( Model_iPAQ | 0xffffff ), | 47 | Model_iPAQ_All = ( Model_iPAQ | 0xffffff ), |
48 | Model_iPAQ_H31xx = ( Model_iPAQ | 0x000001 ), | 48 | Model_iPAQ_H31xx = ( Model_iPAQ | 0x000001 ), |
49 | Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ), | 49 | Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ), |
50 | Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ), | 50 | Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ), |
51 | Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ), | 51 | Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ), |
52 | Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ), | 52 | Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ), |
53 | Model_iPAQ_H5xxx = ( Model_iPAQ | 0x000011 ), | 53 | Model_iPAQ_H5xxx = ( Model_iPAQ | 0x000011 ), |
54 | 54 | ||
55 | Model_Jornada = ( 6 << 24 ), | 55 | Model_Jornada = ( 6 << 24 ), |
56 | Model_Jornada_56x = ( Model_Jornada | 0x000001 ), | 56 | Model_Jornada_56x = ( Model_Jornada | 0x000001 ), |
57 | 57 | ||
58 | Model_Zaurus = ( 2 << 24 ), | 58 | Model_Zaurus = ( 2 << 24 ), |
59 | 59 | ||
60 | Model_Zaurus_SL5000 = ( Model_Zaurus | 0x000001 ), | 60 | Model_Zaurus_SL5000 = ( Model_Zaurus | 0x000001 ), |
61 | Model_Zaurus_SL5500 = ( Model_Zaurus | 0x000002 ), | 61 | Model_Zaurus_SL5500 = ( Model_Zaurus | 0x000002 ), |
62 | Model_Zaurus_SLA300 = ( Model_Zaurus | 0x000003 ), | 62 | Model_Zaurus_SLA300 = ( Model_Zaurus | 0x000003 ), |
63 | Model_Zaurus_SLB600 = ( Model_Zaurus | 0x000004 ), | 63 | Model_Zaurus_SLB600 = ( Model_Zaurus | 0x000004 ), |
64 | Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x000005 ), | 64 | Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x000005 ), |
65 | 65 | ||
66 | Model_SIMpad = ( 3 << 24 ), | 66 | Model_SIMpad = ( 3 << 24 ), |
67 | 67 | ||
68 | Model_SIMpad_All = ( Model_SIMpad | 0xffffff ), | 68 | Model_SIMpad_All = ( Model_SIMpad | 0xffffff ), |
69 | Model_SIMpad_CL4 = ( Model_SIMpad | 0x000001 ), | 69 | Model_SIMpad_CL4 = ( Model_SIMpad | 0x000001 ), |
70 | Model_SIMpad_SL4 = ( Model_SIMpad | 0x000002 ), | 70 | Model_SIMpad_SL4 = ( Model_SIMpad | 0x000002 ), |
71 | Model_SIMpad_SLC = ( Model_SIMpad | 0x000004 ), | 71 | Model_SIMpad_SLC = ( Model_SIMpad | 0x000004 ), |
72 | Model_SIMpad_TSinus = ( Model_SIMpad | 0x000008 ), | 72 | Model_SIMpad_TSinus = ( Model_SIMpad | 0x000008 ), |
73 | 73 | ||
74 | Model_Ramses = ( 4 << 24 ), | 74 | Model_Ramses = ( 4 << 24 ), |
75 | 75 | ||
76 | Model_Ramses_All = ( Model_Ramses | 0xffffff ), | 76 | Model_Ramses_All = ( Model_Ramses | 0xffffff ), |
77 | Model_Ramses_MNCI = ( Model_Ramses | 0x000001 ), | 77 | Model_Ramses_MNCI = ( Model_Ramses | 0x000001 ), |
78 | 78 | ||
79 | Model_Yopy = ( 5 << 24 ), | 79 | Model_Yopy = ( 5 << 24 ), |
80 | 80 | ||
81 | Model_Yopy_All = ( Model_Yopy | 0xffffff ), | 81 | Model_Yopy_All = ( Model_Yopy | 0xffffff ), |
82 | Model_Yopy_3000 = ( Model_Yopy | 0x000001 ), | 82 | Model_Yopy_3000 = ( Model_Yopy | 0x000001 ), |
83 | Model_Yopy_3500 = ( Model_Yopy | 0x000002 ), | 83 | Model_Yopy_3500 = ( Model_Yopy | 0x000002 ), |
84 | Model_Yopy_3700 = ( Model_Yopy | 0x000003 ), | 84 | Model_Yopy_3700 = ( Model_Yopy | 0x000003 ), |
85 | 85 | ||
86 | }; | 86 | }; |
87 | 87 | ||
88 | /** | 88 | /** |
89 | * The vendor of the device | 89 | * The vendor of the device |
90 | */ | 90 | */ |
91 | enum OVendor { | 91 | enum OVendor { |
92 | Vendor_Unknown, | 92 | Vendor_Unknown, |
93 | 93 | ||
94 | Vendor_HP, | 94 | Vendor_HP, |
95 | Vendor_Sharp, | 95 | Vendor_Sharp, |
96 | Vendor_SIEMENS, | 96 | Vendor_SIEMENS, |
97 | Vendor_MundN, | 97 | Vendor_MundN, |
98 | Vendor_GMate, | 98 | Vendor_GMate, |
99 | }; | 99 | }; |
100 | 100 | ||
101 | /** | 101 | /** |
102 | * The System used | 102 | * The System used |
103 | */ | 103 | */ |
104 | enum OSystem { | 104 | enum OSystem { |
105 | System_Unknown, | 105 | System_Unknown, |
106 | 106 | ||
107 | System_Familiar, | 107 | System_Familiar, |
108 | System_Zaurus, | 108 | System_Zaurus, |
109 | System_OpenZaurus, | 109 | System_OpenZaurus, |
110 | System_Linupy, | 110 | System_Linupy, |
111 | }; | 111 | }; |
112 | 112 | ||
113 | enum OLedState { | 113 | enum OLedState { |
114 | Led_Off, | 114 | Led_Off, |
115 | Led_On, | 115 | Led_On, |
116 | Led_BlinkSlow, | 116 | Led_BlinkSlow, |
117 | Led_BlinkFast | 117 | Led_BlinkFast |
118 | }; | 118 | }; |
119 | 119 | ||
120 | enum OLed { | 120 | enum OLed { |
121 | Led_Mail, | 121 | Led_Mail, |
122 | Led_Power, | 122 | Led_Power, |
123 | Led_BlueTooth | 123 | Led_BlueTooth |
124 | }; | 124 | }; |
125 | 125 | ||
126 | enum OHardKey { | 126 | enum OHardKey { |
127 | HardKey_Datebook = Qt::Key_F9, | 127 | HardKey_Datebook = Qt::Key_F9, |
128 | HardKey_Contacts = Qt::Key_F10, | 128 | HardKey_Contacts = Qt::Key_F10, |
129 | HardKey_Menu = Qt::Key_F11, | 129 | HardKey_Menu = Qt::Key_F11, |
130 | HardKey_Home = Qt::Key_F12, | 130 | HardKey_Home = Qt::Key_F12, |
131 | HardKey_Mail = Qt::Key_F13, | 131 | HardKey_Mail = Qt::Key_F13, |
132 | HardKey_Record = Qt::Key_F24, | 132 | HardKey_Record = Qt::Key_F24, |
133 | HardKey_Suspend = Qt::Key_F34, | 133 | HardKey_Suspend = Qt::Key_F34, |
134 | HardKey_Backlight = Qt::Key_F35, | 134 | HardKey_Backlight = Qt::Key_F35, |
135 | HardKey_Action = Qt::Key_F10, | 135 | HardKey_Action = Qt::Key_F10, |
136 | HardKey_OK = Qt::Key_F11, | 136 | HardKey_OK = Qt::Key_F11, |
137 | HardKey_End = Qt::Key_F12, | 137 | HardKey_End = Qt::Key_F12, |
138 | }; | 138 | }; |
139 | 139 | ||
140 | enum ODirection { | 140 | enum ODirection { |
141 | CW = 0, | 141 | CW = 0, |
142 | CCW = 1, | 142 | CCW = 1, |
143 | Flip = 2, | 143 | Flip = 2, |
144 | }; | 144 | }; |
145 | 145 | ||
146 | enum OHingeStatus { | 146 | enum OHingeStatus { |
147 | CASE_CLOSED = 3, | 147 | CASE_CLOSED = 3, |
148 | CASE_PORTRAIT = 2, | 148 | CASE_PORTRAIT = 2, |
149 | CASE_LANDSCAPE = 0, | 149 | CASE_LANDSCAPE = 0, |
150 | CASE_UNKNOWN = 1, | 150 | CASE_UNKNOWN = 1, |
151 | }; | 151 | }; |
152 | 152 | ||
153 | /** | 153 | /** |
154 | * A singleton which gives informations about device specefic option | 154 | * A singleton which gives informations about device specefic option |
155 | * like the Hardware used, LEDs, the Base Distribution and | 155 | * like the Hardware used, LEDs, the Base Distribution and |
156 | * hardware key mappings. | 156 | * hardware key mappings. |
157 | * | 157 | * |
158 | * @short A small class for device specefic options | 158 | * @short A small class for device specefic options |
159 | * @see QObject | 159 | * @see QObject |
160 | * @author Robert Griebl | 160 | * @author Robert Griebl |
161 | * @version 1.0 | 161 | * @version 1.0 |
162 | */ | 162 | */ |
163 | class ODevice : public QObject { | 163 | class ODevice : public QObject { |
164 | Q_OBJECT | 164 | Q_OBJECT |
165 | 165 | ||
166 | private: | 166 | private: |
167 | /* disable copy */ | 167 | /* disable copy */ |
168 | ODevice ( const ODevice & ); | 168 | ODevice ( const ODevice & ); |
169 | 169 | ||
170 | protected: | 170 | protected: |
171 | ODevice ( ); | 171 | ODevice ( ); |
172 | virtual void init ( ); | 172 | virtual void init ( ); |
173 | virtual void initButtons ( ); | 173 | virtual void initButtons ( ); |
174 | 174 | ||
175 | ODeviceData *d; | 175 | ODeviceData *d; |
176 | 176 | ||
177 | public: | 177 | public: |
178 | // sandman do we want to allow destructions? -zecke? | 178 | // sandman do we want to allow destructions? -zecke? |
179 | virtual ~ODevice ( ); | 179 | virtual ~ODevice ( ); |
180 | 180 | ||
181 | static ODevice *inst ( ); | 181 | static ODevice *inst ( ); |
182 | 182 | ||
183 | // information | 183 | // information |
184 | 184 | ||
185 | QString modelString ( ) const; | 185 | QString modelString ( ) const; |
186 | OModel model ( ) const; | 186 | OModel model ( ) const; |
187 | inline OModel series ( ) const { return (OModel) ( model ( ) & Model_Series_Mask ); } | 187 | inline OModel series ( ) const { return (OModel) ( model ( ) & Model_Series_Mask ); } |
188 | 188 | ||
189 | QString vendorString ( ) const; | 189 | QString vendorString ( ) const; |
190 | OVendor vendor ( ) const; | 190 | OVendor vendor ( ) const; |
191 | 191 | ||
192 | QString systemString ( ) const; | 192 | QString systemString ( ) const; |
193 | OSystem system ( ) const; | 193 | OSystem system ( ) const; |
194 | 194 | ||
195 | QString systemVersionString ( ) const; | 195 | QString systemVersionString ( ) const; |
196 | 196 | ||
197 | virtual Transformation rotation ( ) const; | 197 | virtual Transformation rotation ( ) const; |
198 | virtual ODirection direction ( ) const; | 198 | virtual ODirection direction ( ) const; |
199 | 199 | ||
200 | // system | 200 | // system |
201 | 201 | ||
202 | virtual bool setSoftSuspend ( bool on ); | 202 | virtual bool setSoftSuspend ( bool on ); |
203 | virtual bool suspend ( ); | 203 | virtual bool suspend ( ); |
204 | 204 | ||
205 | virtual bool setDisplayStatus ( bool on ); | 205 | virtual bool setDisplayStatus ( bool on ); |
206 | virtual bool setDisplayBrightness ( int brightness ); | 206 | virtual bool setDisplayBrightness ( int brightness ); |
207 | virtual int displayBrightnessResolution ( ) const; | 207 | virtual int displayBrightnessResolution ( ) const; |
208 | virtual bool setDisplayContrast ( int contrast ); | 208 | virtual bool setDisplayContrast ( int contrast ); |
209 | virtual int displayContrastResolution ( ) const; | 209 | virtual int displayContrastResolution ( ) const; |
210 | 210 | ||
211 | // don't add new virtual methods, use this: | 211 | // don't add new virtual methods, use this: |
212 | ///*virtual */ void boo(int i ) { return virtual_hook(1,&i); }; | 212 | ///*virtual */ void boo(int i ) { return virtual_hook(1,&i); }; |
213 | // and in your subclass do do overwrite | 213 | // and in your subclass do do overwrite |
214 | //protected virtual int virtual_hook(int, void *) | 214 | //protected virtual int virtual_hook(int, void *) |
215 | // which is defined below | 215 | // which is defined below |
216 | 216 | ||
217 | // input / output | 217 | // input / output |
218 | //FIXME playAlarmSound and al might be better -zecke | 218 | //FIXME playAlarmSound and al might be better -zecke |
219 | virtual void alarmSound ( ); | 219 | virtual void alarmSound ( ); |
220 | virtual void keySound ( ); | 220 | virtual void keySound ( ); |
221 | virtual void touchSound ( ); | 221 | virtual void touchSound ( ); |
222 | 222 | ||
223 | virtual QValueList <OLed> ledList ( ) const; | 223 | virtual QValueList <OLed> ledList ( ) const; |
224 | virtual QValueList <OLedState> ledStateList ( OLed led ) const; | 224 | virtual QValueList <OLedState> ledStateList ( OLed led ) const; |
225 | virtual OLedState ledState ( OLed led ) const; | 225 | virtual OLedState ledState ( OLed led ) const; |
226 | virtual bool setLedState ( OLed led, OLedState st ); | 226 | virtual bool setLedState ( OLed led, OLedState st ); |
227 | 227 | ||
228 | virtual bool hasLightSensor ( ) const; | 228 | virtual bool hasLightSensor ( ) const; |
229 | virtual int readLightSensor ( ); | 229 | virtual int readLightSensor ( ); |
230 | virtual int lightSensorResolution ( ) const; | 230 | virtual int lightSensorResolution ( ) const; |
231 | 231 | ||
232 | virtual bool hasHingeSensor ( ) const; | 232 | virtual bool hasHingeSensor ( ) const; |
233 | virtual OHingeStatus readHingeSensor ( ); | 233 | virtual OHingeStatus readHingeSensor ( ); |
234 | 234 | ||
235 | const QStrList &allowedCpuFrequencies() const; | 235 | const QStrList &allowedCpuFrequencies() const; |
236 | bool setCurrentCpuFrequency(uint index); | 236 | bool setCurrentCpuFrequency(uint index); |
237 | 237 | ||
238 | /** | 238 | /** |
239 | * Returns the available buttons on this device. The number and location | 239 | * Returns the available buttons on this device. The number and location |
240 | * of buttons will vary depending on the device. Button numbers will be assigned | 240 | * of buttons will vary depending on the device. Button numbers will be assigned |
241 | * by the device manufacturer and will be from most preferred button to least preffered | 241 | * by the device manufacturer and will be from most preferred button to least preffered |
242 | * button. Note that this list only contains "user mappable" buttons. | 242 | * button. Note that this list only contains "user mappable" buttons. |
243 | * | ||
244 | * @todo ### make const | ||
243 | */ | 245 | */ |
244 | const QValueList<ODeviceButton> &buttons ( ) /* ### make const */; | 246 | const QValueList<ODeviceButton> &buttons ( ) /** /todo ### make const */; |
245 | 247 | ||
246 | /** | 248 | /** |
247 | * Returns the DeviceButton for the \a keyCode. If \a keyCode is not found, it | 249 | * Returns the DeviceButton for the \a keyCode. If \a keyCode is not found, it |
248 | * returns 0L | 250 | * returns 0L |
249 | */ | 251 | */ |
250 | const ODeviceButton *buttonForKeycode ( ushort keyCode ); | 252 | const ODeviceButton *buttonForKeycode ( ushort keyCode ); |
251 | 253 | ||
252 | /** | 254 | /** |
253 | * Reassigns the pressed action for \a button. To return to the factory | 255 | * Reassigns the pressed action for \a button. To return to the factory |
254 | * default pass an empty string as \a qcopMessage. | 256 | * default pass an empty string as \a qcopMessage. |
255 | */ | 257 | */ |
256 | void remapPressedAction ( int button, const OQCopMessage &qcopMessage ); | 258 | void remapPressedAction ( int button, const OQCopMessage &qcopMessage ); |
257 | 259 | ||
258 | /** | 260 | /** |
259 | * Reassigns the held action for \a button. To return to the factory | 261 | * Reassigns the held action for \a button. To return to the factory |
260 | * default pass an empty string as \a qcopMessage. | 262 | * default pass an empty string as \a qcopMessage. |
261 | */ | 263 | */ |
262 | void remapHeldAction ( int button, const OQCopMessage &qcopMessage ); | 264 | void remapHeldAction ( int button, const OQCopMessage &qcopMessage ); |
263 | 265 | ||
264 | /** | 266 | /** |
265 | * How long (in ms) you have to press a button for a "hold" action | 267 | * How long (in ms) you have to press a button for a "hold" action |
266 | */ | 268 | */ |
267 | uint buttonHoldTime ( ) const; | 269 | uint buttonHoldTime ( ) const; |
268 | 270 | ||
269 | signals: | 271 | signals: |
270 | void buttonMappingChanged ( ); | 272 | void buttonMappingChanged ( ); |
271 | 273 | ||
272 | private slots: | 274 | private slots: |
273 | void systemMessage ( const QCString &, const QByteArray & ); | 275 | void systemMessage ( const QCString &, const QByteArray & ); |
274 | 276 | ||
275 | protected: | 277 | protected: |
276 | void reloadButtonMapping ( ); | 278 | void reloadButtonMapping ( ); |
277 | /* ugly virtual hook */ | 279 | /* ugly virtual hook */ |
278 | virtual void virtual_hook( int id, void* data ); | 280 | virtual void virtual_hook( int id, void* data ); |
279 | }; | 281 | }; |
280 | 282 | ||
281 | } | 283 | } |
282 | 284 | ||
283 | #endif | 285 | #endif |
284 | 286 | ||