author | sandman <sandman> | 2002-12-22 23:54:50 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-12-22 23:54:50 (UTC) |
commit | 5c7694a7baadec8afe128ad2541e0a8acfc23737 (patch) (unidiff) | |
tree | c3dc0189dd9933e43565d85183474adfdc0de7aa /libopie/odevice.h | |
parent | 3ef4b1549eca77c3d1c3ef710eb6abbd3de336be (diff) | |
download | opie-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)
-rw-r--r-- | libopie/odevice.h | 48 |
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 | |||
26 | class ODeviceData; | 29 | class ODeviceData; |
27 | 30 | ||
28 | namespace Opie { | 31 | namespace Opie { |
29 | 32 | ||
30 | enum OModel { | 33 | enum 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 | ||
57 | enum OSystem { | 60 | enum 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 | ||
65 | enum OLedState { | 68 | enum 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 | ||
72 | enum OLed { | 75 | enum OLed { |
73 | Led_Mail, | 76 | Led_Mail, |
74 | Led_Power, | 77 | Led_Power, |
75 | Led_BlueTooth | 78 | Led_BlueTooth |
76 | }; | 79 | }; |
77 | 80 | ||
78 | enum OHardKey { | 81 | enum 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 | ||
90 | class ODevice | 93 | class ODevice : public QObject { |
91 | { | 94 | Q_OBJECT |
95 | |||
92 | private: | 96 | private: |
93 | ODevice ( const ODevice & ); | 97 | ODevice ( const ODevice & ); |
94 | 98 | ||
95 | protected: | 99 | protected: |
96 | ODevice ( ); | 100 | ODevice ( ); |
97 | virtual void init ( ); | 101 | virtual void init ( ); |
98 | 102 | ||
99 | ODeviceData *d; | 103 | ODeviceData *d; |
100 | 104 | ||
101 | public: | 105 | public: |
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 | |||
187 | protected: | ||
188 | void reloadButtonMapping ( ); | ||
145 | }; | 189 | }; |
146 | 190 | ||
147 | } | 191 | } |
148 | 192 | ||
149 | #endif | 193 | #endif |
150 | 194 | ||