summaryrefslogtreecommitdiff
path: root/libopie/odevice.h
authorsandman <sandman>2002-12-22 23:54:50 (UTC)
committer sandman <sandman>2002-12-22 23:54:50 (UTC)
commit5c7694a7baadec8afe128ad2541e0a8acfc23737 (patch) (unidiff)
treec3dc0189dd9933e43565d85183474adfdc0de7aa /libopie/odevice.h
parent3ef4b1549eca77c3d1c3ef710eb6abbd3de336be (diff)
downloadopie-5c7694a7baadec8afe128ad2541e0a8acfc23737.zip
opie-5c7694a7baadec8afe128ad2541e0a8acfc23737.tar.gz
opie-5c7694a7baadec8afe128ad2541e0a8acfc23737.tar.bz2
- added the device button stuff to ODevice
- ODevice is now derived from QObject (don't ask me why I didn't make this from the beginning)
Diffstat (limited to 'libopie/odevice.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/odevice.h48
1 files changed, 46 insertions, 2 deletions
diff --git a/libopie/odevice.h b/libopie/odevice.h
index 86491d4..ce62f1a 100644
--- a/libopie/odevice.h
+++ b/libopie/odevice.h
@@ -1,150 +1,194 @@
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 <qstring.h> 24#include <qstring.h>
24#include <qnamespace.h> 25#include <qnamespace.h>
25 26
27#include <opie/odevicebutton.h>
28
26class ODeviceData; 29class ODeviceData;
27 30
28namespace Opie { 31namespace Opie {
29 32
30enum OModel { 33enum OModel {
31 Model_Unknown, 34 Model_Unknown,
32 35
33 Model_Series_Mask = 0xff000000, 36 Model_Series_Mask = 0xff000000,
34 37
35 Model_iPAQ = ( 1 << 24 ), 38 Model_iPAQ = ( 1 << 24 ),
36 39
37 Model_iPAQ_All = ( Model_iPAQ | 0xffffff ), 40 Model_iPAQ_All = ( Model_iPAQ | 0xffffff ),
38 Model_iPAQ_H31xx = ( Model_iPAQ | 0x000001 ), 41 Model_iPAQ_H31xx = ( Model_iPAQ | 0x000001 ),
39 Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ), 42 Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ),
40 Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ), 43 Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ),
41 Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ), 44 Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ),
42 Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ), 45 Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ),
43 46
44 Model_Zaurus = ( 2 << 24 ), 47 Model_Zaurus = ( 2 << 24 ),
45 48
46 Model_Zaurus_SL5000 = ( Model_Zaurus | 0x000001 ), 49 Model_Zaurus_SL5000 = ( Model_Zaurus | 0x000001 ),
47 Model_Zaurus_SL5500 = ( Model_Zaurus | 0x000002 ), 50 Model_Zaurus_SL5500 = ( Model_Zaurus | 0x000002 ),
48}; 51};
49 52
50 enum OVendor { 53 enum OVendor {
51 Vendor_Unknown, 54 Vendor_Unknown,
52 55
53 Vendor_HP, 56 Vendor_HP,
54 Vendor_Sharp 57 Vendor_Sharp
55 }; 58 };
56 59
57enum OSystem { 60enum OSystem {
58 System_Unknown, 61 System_Unknown,
59 62
60 System_Familiar, 63 System_Familiar,
61 System_Zaurus, 64 System_Zaurus,
62 System_OpenZaurus 65 System_OpenZaurus
63}; 66};
64 67
65enum OLedState { 68enum OLedState {
66 Led_Off, 69 Led_Off,
67 Led_On, 70 Led_On,
68 Led_BlinkSlow, 71 Led_BlinkSlow,
69 Led_BlinkFast 72 Led_BlinkFast
70}; 73};
71 74
72enum OLed { 75enum OLed {
73 Led_Mail, 76 Led_Mail,
74 Led_Power, 77 Led_Power,
75 Led_BlueTooth 78 Led_BlueTooth
76}; 79};
77 80
78enum OHardKey { 81enum OHardKey {
79 HardKey_Datebook = Qt::Key_F9, 82 HardKey_Datebook = Qt::Key_F9,
80 HardKey_Contacts = Qt::Key_F10, 83 HardKey_Contacts = Qt::Key_F10,
81 HardKey_Menu = Qt::Key_F11, 84 HardKey_Menu = Qt::Key_F11,
82 HardKey_Home = Qt::Key_F12, 85 HardKey_Home = Qt::Key_F12,
83 HardKey_Mail = Qt::Key_F14, 86 HardKey_Mail = Qt::Key_F14,
84 HardKey_Record = Qt::Key_F24, 87 HardKey_Record = Qt::Key_F24,
85 HardKey_Suspend = Qt::Key_F34, 88 HardKey_Suspend = Qt::Key_F34,
86 HardKey_Backlight = Qt::Key_F35, 89 HardKey_Backlight = Qt::Key_F35,
87}; 90};
88 91
89 92
90class ODevice 93class ODevice : public QObject {
91{ 94 Q_OBJECT
95
92private: 96private:
93 ODevice ( const ODevice & ); 97 ODevice ( const ODevice & );
94 98
95protected: 99protected:
96 ODevice ( ); 100 ODevice ( );
97 virtual void init ( ); 101 virtual void init ( );
98 102
99 ODeviceData *d; 103 ODeviceData *d;
100 104
101public: 105public:
102 virtual ~ODevice ( ); 106 virtual ~ODevice ( );
103 107
104 static ODevice *inst ( ); 108 static ODevice *inst ( );
105 109
106 110
107 111
108// information 112// information
109 113
110 QString modelString ( ) const; 114 QString modelString ( ) const;
111 OModel model ( ) const; 115 OModel model ( ) const;
112 inline OModel series ( ) const { return (OModel) ( model ( ) & Model_Series_Mask ); } 116 inline OModel series ( ) const { return (OModel) ( model ( ) & Model_Series_Mask ); }
113 117
114 QString vendorString ( ) const; 118 QString vendorString ( ) const;
115 OVendor vendor ( ) const; 119 OVendor vendor ( ) const;
116 120
117 QString systemString ( ) const; 121 QString systemString ( ) const;
118 OSystem system ( ) const; 122 OSystem system ( ) const;
119 123
120 QString systemVersionString ( ) const; 124 QString systemVersionString ( ) const;
121 125
122 // system 126 // system
123 127
124 virtual bool setSoftSuspend ( bool on ); 128 virtual bool setSoftSuspend ( bool on );
125 virtual bool suspend ( ); 129 virtual bool suspend ( );
126 130
127 virtual bool setDisplayStatus ( bool on ); 131 virtual bool setDisplayStatus ( bool on );
128 virtual bool setDisplayBrightness ( int brightness ); 132 virtual bool setDisplayBrightness ( int brightness );
129 virtual int displayBrightnessResolution ( ) const; 133 virtual int displayBrightnessResolution ( ) const;
130 134
131// input / output 135// input / output
132 136
133 virtual void alarmSound ( ); 137 virtual void alarmSound ( );
134 virtual void keySound ( ); 138 virtual void keySound ( );
135 virtual void touchSound ( ); 139 virtual void touchSound ( );
136 140
137 virtual QValueList <OLed> ledList ( ) const; 141 virtual QValueList <OLed> ledList ( ) const;
138 virtual QValueList <OLedState> ledStateList ( OLed led ) const; 142 virtual QValueList <OLedState> ledStateList ( OLed led ) const;
139 virtual OLedState ledState ( OLed led ) const; 143 virtual OLedState ledState ( OLed led ) const;
140 virtual bool setLedState ( OLed led, OLedState st ); 144 virtual bool setLedState ( OLed led, OLedState st );
141 145
142 virtual bool hasLightSensor ( ) const; 146 virtual bool hasLightSensor ( ) const;
143 virtual int readLightSensor ( ); 147 virtual int readLightSensor ( );
144 virtual int lightSensorResolution ( ) const; 148 virtual int lightSensorResolution ( ) const;
149
150 /**
151 * Returns the available buttons on this device. The number and location
152 * of buttons will vary depending on the device. Button numbers will be assigned
153 * by the device manufacturer and will be from most preferred button to least preffered
154 * button. Note that this list only contains "user mappable" buttons.
155 */
156 const QValueList<ODeviceButton> &buttons ( ) const;
157
158 /**
159 * Returns the DeviceButton for the \a keyCode. If \a keyCode is not found, it
160 * returns 0L
161 */
162 const ODeviceButton *buttonForKeycode ( ushort keyCode );
163
164 /**
165 * Reassigns the pressed action for \a button. To return to the factory
166 * default pass an empty string as \a qcopMessage.
167 */
168 void remapPressedAction ( int button, const OQCopMessage &qcopMessage );
169
170 /**
171 * Reassigns the held action for \a button. To return to the factory
172 * default pass an empty string as \a qcopMessage.
173 */
174 void remapHeldAction ( int button, const OQCopMessage &qcopMessage );
175
176 /**
177 * How long (in ms) you have to press a button for a "hold" action
178 */
179 uint buttonHoldTime ( ) const;
180
181 signals:
182 void buttonMappingChanged ( );
183
184 private slots:
185 void systemMessage ( const QCString &, const QByteArray & );
186
187protected:
188 void reloadButtonMapping ( );
145}; 189};
146 190
147} 191}
148 192
149#endif 193#endif
150 194