summaryrefslogtreecommitdiff
path: root/libopie/odevice.h
authorzecke <zecke>2004-02-19 02:05:37 (UTC)
committer zecke <zecke>2004-02-19 02:05:37 (UTC)
commit34e732b3490bcad2cb05a1252ef5f06b3feef9ad (patch) (unidiff)
tree1114cf4d32dd0955550536f93b4054f76207c90e /libopie/odevice.h
parentf98fdfa6509fd1db5ea9ee834b5808ee12c8e697 (diff)
downloadopie-34e732b3490bcad2cb05a1252ef5f06b3feef9ad.zip
opie-34e732b3490bcad2cb05a1252ef5f06b3feef9ad.tar.gz
opie-34e732b3490bcad2cb05a1252ef5f06b3feef9ad.tar.bz2
Add notes for API fixes and BC stuff
Diffstat (limited to 'libopie/odevice.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/odevice.h4
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
33class ODeviceData; 33class ODeviceData;
34 34
35namespace Opie { 35namespace Opie {
36 36
37/** 37/**
38 * The available devices 38 * The available devices
39 */ 39 */
40enum OModel { 40enum 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 */
91enum OVendor { 91enum 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 */
104enum OSystem { 104enum 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
113enum OLedState { 113enum 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
120enum OLed { 120enum OLed {
121 Led_Mail, 121 Led_Mail,
122 Led_Power, 122 Led_Power,
123 Led_BlueTooth 123 Led_BlueTooth
124}; 124};
125 125
126enum OHardKey { 126enum 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
140enum ODirection { 140enum ODirection {
141 CW = 0, 141 CW = 0,
142 CCW = 1, 142 CCW = 1,
143 Flip = 2, 143 Flip = 2,
144}; 144};
145 145
146enum OHingeStatus { 146enum 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 */
163class ODevice : public QObject { 163class ODevice : public QObject {
164 Q_OBJECT 164 Q_OBJECT
165 165
166private: 166private:
167 /* disable copy */ 167 /* disable copy */
168 ODevice ( const ODevice & ); 168 ODevice ( const ODevice & );
169 169
170protected: 170protected:
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
177public: 177public:
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
269signals: 271signals:
270 void buttonMappingChanged ( ); 272 void buttonMappingChanged ( );
271 273
272private slots: 274private slots:
273 void systemMessage ( const QCString &, const QByteArray & ); 275 void systemMessage ( const QCString &, const QByteArray & );
274 276
275protected: 277protected:
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