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