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