summaryrefslogtreecommitdiff
authorzecke <zecke>2005-08-10 19:48:26 (UTC)
committer zecke <zecke>2005-08-10 19:48:26 (UTC)
commit1ce0c260151fddcc5d9b3f36fa3ebe9d2abc28af (patch) (unidiff)
tree77599281776ea0ce01e6eb386d6697ad9436ee02
parent46b2321d11fb9bbbcd3bc8130c087c22517730e3 (diff)
downloadopie-1ce0c260151fddcc5d9b3f36fa3ebe9d2abc28af.zip
opie-1ce0c260151fddcc5d9b3f36fa3ebe9d2abc28af.tar.gz
opie-1ce0c260151fddcc5d9b3f36fa3ebe9d2abc28af.tar.bz2
libopie2/opiecore/device/odevice.h:
-Reduce the maximum amount of numbers a vendor (e.g. iPAQ) can have to 16 bit in favor of supporting more vendors -Introduce AsusMyPal support -Change the numbering of iPAQ models to be 1,2,3,4 like we do with the other vendors.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice.h93
1 files changed, 50 insertions, 43 deletions
diff --git a/libopie2/opiecore/device/odevice.h b/libopie2/opiecore/device/odevice.h
index 05bb167..76cf97d 100644
--- a/libopie2/opiecore/device/odevice.h
+++ b/libopie2/opiecore/device/odevice.h
@@ -1,258 +1,265 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3              Copyright (C) The Opie Team <opie-devel@handhelds.org> 3              Copyright (C) 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; either version 2 of the License, 11 - .   .-<_>     .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version. 12     ._= =}       : or (at your option) any later version.
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 = 0xff000000, 59 Model_Series_Mask = 0xffff0000,
60 60
61 Model_iPAQ = ( 1 << 24 ), 61 Model_iPAQ = ( 1 << 16 ),
62 62
63 Model_iPAQ_All = ( Model_iPAQ | 0xffffff ), 63 Model_iPAQ_All = ( Model_iPAQ | 0xffff ),
64 Model_iPAQ_H31xx = ( Model_iPAQ | 0x000001 ), 64 Model_iPAQ_H31xx = ( Model_iPAQ | 0x0001 ),
65 Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ), 65 Model_iPAQ_H36xx = ( Model_iPAQ | 0x0002 ),
66 Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ), 66 Model_iPAQ_H37xx = ( Model_iPAQ | 0x0003 ),
67 Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ), 67 Model_iPAQ_H38xx = ( Model_iPAQ | 0x0004 ),
68 Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ), 68 Model_iPAQ_H39xx = ( Model_iPAQ | 0x0005 ),
69 Model_iPAQ_H5xxx = ( Model_iPAQ | 0x000020 ), 69 Model_iPAQ_H5xxx = ( Model_iPAQ | 0x0006 ),
70 Model_iPAQ_H22xx = ( Model_iPAQ | 0x000040 ), 70 Model_iPAQ_H22xx = ( Model_iPAQ | 0x0007 ),
71 Model_iPAQ_H191x = ( Model_iPAQ | 0x000080 ), 71 Model_iPAQ_H191x = ( Model_iPAQ | 0x0008 ),
72 72
73 Model_Jornada = ( 6 << 24 ), 73 Model_Jornada = ( 6 << 16 ),
74 Model_Jornada_56x = ( Model_Jornada | 0x000001 ), 74 Model_Jornada_56x = ( Model_Jornada | 0x0001 ),
75 Model_Jornada_720 = ( Model_Jornada | 0x000002 ), 75 Model_Jornada_720 = ( Model_Jornada | 0x0002 ),
76 76
77 Model_Zaurus = ( 2 << 24 ), 77 Model_Zaurus = ( 2 << 16 ),
78 78
79 Model_Zaurus_SL5000 = ( Model_Zaurus | 0x000001 ), 79 Model_Zaurus_SL5000 = ( Model_Zaurus | 0x0001 ),
80 Model_Zaurus_SL5500 = ( Model_Zaurus | 0x000002 ), 80 Model_Zaurus_SL5500 = ( Model_Zaurus | 0x0002 ),
81 Model_Zaurus_SLA300 = ( Model_Zaurus | 0x000003 ), 81 Model_Zaurus_SLA300 = ( Model_Zaurus | 0x0003 ),
82 Model_Zaurus_SLB600 = ( Model_Zaurus | 0x000004 ), 82 Model_Zaurus_SLB600 = ( Model_Zaurus | 0x0004 ),
83 Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x000005 ), 83 Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x0005 ),
84 Model_Zaurus_SL6000 = ( Model_Zaurus | 0x000006 ), 84 Model_Zaurus_SL6000 = ( Model_Zaurus | 0x0006 ),
85 Model_Zaurus_SLC3000 = ( Model_Zaurus | 0x000007 ), 85 Model_Zaurus_SLC3000 = ( Model_Zaurus | 0x0007 ),
86 Model_Zaurus_SLC1000 = ( Model_Zaurus | 0x000008 ), 86 Model_Zaurus_SLC1000 = ( Model_Zaurus | 0x0008 ),
87 87
88 Model_SIMpad = ( 3 << 24 ), 88 Model_SIMpad = ( 3 << 16 ),
89 89
90 Model_SIMpad_All = ( Model_SIMpad | 0xffffff ), 90 Model_SIMpad_All = ( Model_SIMpad | 0xffff ),
91 Model_SIMpad_CL4 = ( Model_SIMpad | 0x000001 ), 91 Model_SIMpad_CL4 = ( Model_SIMpad | 0x0001 ),
92 Model_SIMpad_SL4 = ( Model_SIMpad | 0x000002 ), 92 Model_SIMpad_SL4 = ( Model_SIMpad | 0x0002 ),
93 Model_SIMpad_SLC = ( Model_SIMpad | 0x000004 ), 93 Model_SIMpad_SLC = ( Model_SIMpad | 0x0003 ),
94 Model_SIMpad_TSinus = ( Model_SIMpad | 0x000008 ), 94 Model_SIMpad_TSinus = ( Model_SIMpad | 0x0004 ),
95 95
96 Model_Ramses = ( 4 << 24 ), 96 Model_Ramses = ( 4 << 16 ),
97 97
98 Model_Ramses_All = ( Model_Ramses | 0xffffff ), 98 Model_Ramses_All = ( Model_Ramses | 0xffff ),
99 Model_Ramses_MNCI = ( Model_Ramses | 0x000001 ), 99 Model_Ramses_MNCI = ( Model_Ramses | 0x0001 ),
100 Model_Ramses_MNCIRX = ( Model_Ramses | 0x000002 ), 100 Model_Ramses_MNCIRX = ( Model_Ramses | 0x0002 ),
101 101
102 Model_Yopy = ( 5 << 24 ), 102 Model_Yopy = ( 5 << 16 ),
103 103
104 Model_Yopy_All = ( Model_Yopy | 0xffffff ), 104 Model_Yopy_All = ( Model_Yopy | 0xffff ),
105 Model_Yopy_3000 = ( Model_Yopy | 0x000001 ), 105 Model_Yopy_3000 = ( Model_Yopy | 0x0001 ),
106 Model_Yopy_3500 = ( Model_Yopy | 0x000002 ), 106 Model_Yopy_3500 = ( Model_Yopy | 0x0002 ),
107 Model_Yopy_3700 = ( Model_Yopy | 0x000003 ), 107 Model_Yopy_3700 = ( Model_Yopy | 0x0003 ),
108 108
109 Model_Beagle = ( 6 << 24 ), 109 Model_Beagle = ( 6 << 16 ),
110 110
111 Model_Beagle_All = ( Model_Beagle | 0xffffff ), 111 Model_Beagle_All = ( Model_Beagle | 0xffff ),
112 Model_Beagle_PA100 = ( Model_Beagle | 0x000001 ), 112 Model_Beagle_PA100 = ( Model_Beagle | 0x0001 ),
113 113
114 Model_GenuineIntel = ( 7 << 24 ) 114 Model_GenuineIntel = ( 7 << 16 ),
115 115
116 Model_MyPal = ( 8 << 16 ),
117
118 Model_MyPal_All = ( Model_MyPal | 0xffff ),
119 Model_MyPal_620 = ( Model_MyPal | 0x0001 ),
120 Model_MyPal_716 = ( Model_MyPal | 0x0002 ),
121 Model_MyPal_730 = ( Model_MyPal | 0x0003 )
116}; 122};
117 123
118/** 124/**
119 * The vendor of the device 125 * The vendor of the device
120 */ 126 */
121enum OVendor { 127enum OVendor {
122 Vendor_Unknown, 128 Vendor_Unknown,
123 129
124 Vendor_HP, 130 Vendor_HP,
125 Vendor_Sharp, 131 Vendor_Sharp,
126 Vendor_SIEMENS, 132 Vendor_SIEMENS,
127 Vendor_MundN, 133 Vendor_MundN,
128 Vendor_GMate, 134 Vendor_GMate,
129 Vendor_MasterIA, 135 Vendor_MasterIA,
130 Vendor_GenuineIntel 136 Vendor_GenuineIntel,
137 Vendor_Asus
131}; 138};
132 139
133/** 140/**
134 * The System used 141 * The System used
135 */ 142 */
136enum OSystem { 143enum OSystem {
137 System_Unknown, 144 System_Unknown,
138 145
139 System_Familiar, 146 System_Familiar,
140 System_Zaurus, 147 System_Zaurus,
141 System_OpenZaurus, 148 System_OpenZaurus,
142 System_Linupy, 149 System_Linupy,
143 System_OpenEmbedded, 150 System_OpenEmbedded,
144 System_PC 151 System_PC
145}; 152};
146 153
147typedef struct { 154typedef struct {
148 OSystem system; 155 OSystem system;
149 char* sysstr; 156 char* sysstr;
150 char* sysvfile; 157 char* sysvfile;
151} ODistribution; 158} ODistribution;
152 159
153extern ODistribution distributions[]; 160extern ODistribution distributions[];
154 161
155 162
156enum OLedState { 163enum OLedState {
157 Led_Off, 164 Led_Off,
158 Led_On, 165 Led_On,
159 Led_BlinkSlow, 166 Led_BlinkSlow,
160 Led_BlinkFast 167 Led_BlinkFast
161}; 168};
162 169
163enum OLed { 170enum OLed {
164 Led_Mail, 171 Led_Mail,
165 Led_Power, 172 Led_Power,
166 Led_BlueTooth 173 Led_BlueTooth
167}; 174};
168 175
169enum OHardKey { 176enum OHardKey {
170 HardKey_Datebook = Qt::Key_F9, 177 HardKey_Datebook = Qt::Key_F9,
171 HardKey_Contacts = Qt::Key_F10, 178 HardKey_Contacts = Qt::Key_F10,
172 HardKey_Menu = Qt::Key_F11, 179 HardKey_Menu = Qt::Key_F11,
173 HardKey_Home = Qt::Key_F12, 180 HardKey_Home = Qt::Key_F12,
174 HardKey_Mail = Qt::Key_F13, 181 HardKey_Mail = Qt::Key_F13,
175 HardKey_Record = Qt::Key_F24, 182 HardKey_Record = Qt::Key_F24,
176 HardKey_Suspend = Qt::Key_F34, 183 HardKey_Suspend = Qt::Key_F34,
177 HardKey_Backlight = Qt::Key_F35, 184 HardKey_Backlight = Qt::Key_F35,
178 HardKey_Action = Qt::Key_F10, 185 HardKey_Action = Qt::Key_F10,
179 HardKey_OK = Qt::Key_F11, 186 HardKey_OK = Qt::Key_F11,
180 HardKey_End = Qt::Key_F12, 187 HardKey_End = Qt::Key_F12,
181}; 188};
182 189
183enum ODirection { 190enum ODirection {
184 CW = 0, 191 CW = 0,
185 CCW = 1, 192 CCW = 1,
186 Flip = 2, 193 Flip = 2,
187}; 194};
188 195
189enum OHingeStatus { 196enum OHingeStatus {
190 CASE_CLOSED = 3, 197 CASE_CLOSED = 3,
191 CASE_PORTRAIT = 2, 198 CASE_PORTRAIT = 2,
192 CASE_LANDSCAPE = 0, 199 CASE_LANDSCAPE = 0,
193 CASE_UNKNOWN = 1, 200 CASE_UNKNOWN = 1,
194}; 201};
195 202
196/* default button for qvfb or such 203/* default button for qvfb or such
197 * see odevice.cpp for details. 204 * see odevice.cpp for details.
198 * hint: manage a user defined button for qvfb? 205 * hint: manage a user defined button for qvfb?
199 * alwin 206 * alwin
200 */ 207 */
201struct default_button { 208struct default_button {
202 Qt::Key code; 209 Qt::Key code;
203 char *utext; 210 char *utext;
204 char *pix; 211 char *pix;
205 char *fpressedservice; 212 char *fpressedservice;
206 char *fpressedaction; 213 char *fpressedaction;
207 char *fheldservice; 214 char *fheldservice;
208 char *fheldaction; 215 char *fheldaction;
209}; 216};
210 217
211/** 218/**
212 * A singleton which gives informations about device specefic option 219 * A singleton which gives informations about device specefic option
213 * like the Hardware used, LEDs, the Base Distribution and 220 * like the Hardware used, LEDs, the Base Distribution and
214 * hardware key mappings. 221 * hardware key mappings.
215 * 222 *
216 * @short A small class for device specefic options 223 * @short A small class for device specefic options
217 * @see QObject 224 * @see QObject
218 * @author Robert Griebl 225 * @author Robert Griebl
219 * @version 1.0 226 * @version 1.0
220 */ 227 */
221class ODevice : public QObject 228class ODevice : public QObject
222{ 229{
223 Q_OBJECT 230 Q_OBJECT
224 231
225private: 232private:
226 /* disable copy */ 233 /* disable copy */
227 ODevice ( const ODevice & ); 234 ODevice ( const ODevice & );
228 235
229protected: 236protected:
230 ODevice(); 237 ODevice();
231 virtual void init(const QString&); 238 virtual void init(const QString&);
232 virtual void initButtons(); 239 virtual void initButtons();
233 static void sendSuspendmsg(); 240 static void sendSuspendmsg();
234 241
235 ODeviceData *d; 242 ODeviceData *d;
236 243
237public: 244public:
238 // sandman do we want to allow destructions? -zecke? 245 // sandman do we want to allow destructions? -zecke?
239 virtual ~ODevice(); 246 virtual ~ODevice();
240 static ODevice *inst(); 247 static ODevice *inst();
241 248
242 // information 249 // information
243 QString modelString() const; 250 QString modelString() const;
244 OModel model() const; 251 OModel model() const;
245 inline OModel series() const { return (OModel) ( model() & Model_Series_Mask ); } 252 inline OModel series() const { return (OModel) ( model() & Model_Series_Mask ); }
246 253
247 QString vendorString() const; 254 QString vendorString() const;
248 OVendor vendor() const; 255 OVendor vendor() const;
249 256
250 QString systemString() const; 257 QString systemString() const;
251 OSystem system() const; 258 OSystem system() const;
252 259
253 QString systemVersionString() const; 260 QString systemVersionString() const;
254 261
255 virtual Transformation rotation() const; 262 virtual Transformation rotation() const;
256 virtual ODirection direction() const; 263 virtual ODirection direction() const;
257 264
258 QString qteDriver() const; 265 QString qteDriver() const;