summaryrefslogtreecommitdiff
authorzecke <zecke>2004-05-01 18:13:29 (UTC)
committer zecke <zecke>2004-05-01 18:13:29 (UTC)
commit7a2cac7a65be07c1e82508e00c2d3d61e0823dc1 (patch) (side-by-side diff)
tree70381a30c784957b22d9e644272ac96a0fced5a4
parentec6a887d8abddbab085a0a3aecae5760ff85dbe8 (diff)
downloadopie-7a2cac7a65be07c1e82508e00c2d3d61e0823dc1.zip
opie-7a2cac7a65be07c1e82508e00c2d3d61e0823dc1.tar.gz
opie-7a2cac7a65be07c1e82508e00c2d3d61e0823dc1.tar.bz2
Pass on the Hardware line of proc/cpuinfo so we don't need to parse the file again..
only adjusted iPAQ backend to use it Beginning of hh22xx Linux2.6 support
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice.cpp6
-rw-r--r--libopie2/opiecore/device/odevice.h7
-rw-r--r--libopie2/opiecore/device/odevice_ipaq.cpp52
-rw-r--r--libopie2/opiecore/device/odevice_ipaq.h2
-rw-r--r--libopie2/opiecore/device/odevice_jornada.cpp2
-rw-r--r--libopie2/opiecore/device/odevice_jornada.h2
-rw-r--r--libopie2/opiecore/device/odevice_ramses.cpp2
-rw-r--r--libopie2/opiecore/device/odevice_ramses.h2
-rw-r--r--libopie2/opiecore/device/odevice_simpad.cpp2
-rw-r--r--libopie2/opiecore/device/odevice_simpad.h2
-rw-r--r--libopie2/opiecore/device/odevice_yopy.cpp2
-rw-r--r--libopie2/opiecore/device/odevice_yopy.h2
-rw-r--r--libopie2/opiecore/device/odevice_zaurus.cpp2
-rw-r--r--libopie2/opiecore/device/odevice_zaurus.h2
14 files changed, 44 insertions, 43 deletions
diff --git a/libopie2/opiecore/device/odevice.cpp b/libopie2/opiecore/device/odevice.cpp
index 62a2e03..cef7f63 100644
--- a/libopie2/opiecore/device/odevice.cpp
+++ b/libopie2/opiecore/device/odevice.cpp
@@ -89,8 +89,9 @@ ODevice *ODevice::inst()
{
static ODevice *dev = 0;
// rewrite this to only use /proc/cpuinfo or so
+ QString cpu_info;
if ( !dev )
{
QFile f( PATH_PROC_CPUINFO );
@@ -103,8 +104,9 @@ ODevice *ODevice::inst()
line = s.readLine();
if ( line.startsWith( "Hardware" ) )
{
qDebug( "ODevice() - found '%s'", (const char*) line );
+ cpu_info = line;
if ( line.contains( "sharp", false ) ) dev = new Internal::Zaurus();
else if ( line.contains( "ipaq", false ) ) dev = new Internal::iPAQ();
else if ( line.contains( "simpad", false ) ) dev = new Internal::SIMpad();
else if ( line.contains( "jornada", false ) ) dev = new Internal::Jornada();
@@ -118,9 +120,9 @@ ODevice *ODevice::inst()
{
qWarning( "ODevice() - can't open '%s' - unknown hardware - using default.", PATH_PROC_CPUINFO );
}
if ( !dev ) dev = new ODevice();
- dev->init();
+ dev->init(cpu_info);
}
return dev;
}
@@ -149,9 +151,9 @@ void ODevice::systemMessage ( const QCString &msg, const QByteArray & )
reloadButtonMapping();
}
}
-void ODevice::init()
+void ODevice::init(const QString&)
{
}
/**
diff --git a/libopie2/opiecore/device/odevice.h b/libopie2/opiecore/device/odevice.h
index 0ba58f0..aaebde3 100644
--- a/libopie2/opiecore/device/odevice.h
+++ b/libopie2/opiecore/device/odevice.h
@@ -59,9 +59,10 @@ enum OModel {
Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ),
Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ),
Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ),
Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ),
- Model_iPAQ_H5xxx = ( Model_iPAQ | 0x000011 ),
+ Model_iPAQ_H5xxx = ( Model_iPAQ | 0x000020 ),
+ Model_iPAQ_H22xx = ( Model_iPAQ | 0x000040 ),
Model_Jornada = ( 6 << 24 ),
Model_Jornada_56x = ( Model_Jornada | 0x000001 ),
@@ -159,9 +160,9 @@ enum OHingeStatus {
CASE_LANDSCAPE = 0,
CASE_UNKNOWN = 1,
};
-/* default button for qvfb or such
+/* default button for qvfb or such
* see odevice.cpp for details.
* hint: manage a user defined button for qvfb?
* alwin
*/
@@ -194,9 +195,9 @@ private:
ODevice ( const ODevice & );
protected:
ODevice();
- virtual void init();
+ virtual void init(const QString&);
virtual void initButtons();
static void sendSuspendmsg();
ODeviceData *d;
diff --git a/libopie2/opiecore/device/odevice_ipaq.cpp b/libopie2/opiecore/device/odevice_ipaq.cpp
index 98e2ffa..efe35e7 100644
--- a/libopie2/opiecore/device/odevice_ipaq.cpp
+++ b/libopie2/opiecore/device/odevice_ipaq.cpp
@@ -113,55 +113,53 @@ struct i_button ipaq_buttons [] = {
"QPE/VMemo", "toggleRecord()",
"sound", "raise()" },
};
-void iPAQ::init()
+void iPAQ::init(const QString& model)
{
d->m_vendorstr = "HP";
d->m_vendor = Vendor_HP;
- QFile f ( "/proc/hal/model" );
+ d->m_modelstr = model.mid(model.findRev('H'));
+
+ if ( d->m_modelstr == "H3100" )
+ d->m_model = Model_iPAQ_H31xx;
+ else if ( d->m_modelstr == "H3600" )
+ d->m_model = Model_iPAQ_H36xx;
+ else if ( d->m_modelstr == "H3700" )
+ d->m_model = Model_iPAQ_H37xx;
+ else if ( d->m_modelstr == "H3800" )
+ d->m_model = Model_iPAQ_H38xx;
+ else if ( d->m_modelstr == "H3900" )
+ d->m_model = Model_iPAQ_H39xx;
+ else if ( d->m_modelstr == "H5400" )
+ d->m_model = Model_iPAQ_H5xxx;
+ else if ( d->m_modelstr == "H2200" )
+ d->m_model = Model_iPAQ_H22xx;
+ else
+ d->m_model = Model_Unknown;
- if ( f. open ( IO_ReadOnly )) {
- QTextStream ts ( &f );
- d->m_modelstr = "H" + ts. readLine();
-
- if ( d->m_modelstr == "H3100" )
- d->m_model = Model_iPAQ_H31xx;
- else if ( d->m_modelstr == "H3600" )
- d->m_model = Model_iPAQ_H36xx;
- else if ( d->m_modelstr == "H3700" )
- d->m_model = Model_iPAQ_H37xx;
- else if ( d->m_modelstr == "H3800" )
- d->m_model = Model_iPAQ_H38xx;
- else if ( d->m_modelstr == "H3900" )
- d->m_model = Model_iPAQ_H39xx;
- else if ( d->m_modelstr == "H5400" )
- d->m_model = Model_iPAQ_H5xxx;
- else
- d->m_model = Model_Unknown;
-
- f. close();
- }
switch ( d->m_model ) {
case Model_iPAQ_H31xx:
case Model_iPAQ_H38xx:
d->m_rotation = Rot90;
break;
+ case Model_iPAQ_H5xxx:
+ case Model_iPAQ_H22xx:
+ d->m_rotation = Rot0;
+ break;
case Model_iPAQ_H36xx:
case Model_iPAQ_H37xx:
case Model_iPAQ_H39xx:
-
default:
d->m_rotation = Rot270;
break;
- case Model_iPAQ_H5xxx:
- d->m_rotation = Rot0;
+
}
- f. setName ( "/etc/familiar-version" );
+ QFile f( "/etc/familiar-version" );
if ( f. open ( IO_ReadOnly )) {
d->m_systemstr = "Familiar";
d->m_system = System_Familiar;
diff --git a/libopie2/opiecore/device/odevice_ipaq.h b/libopie2/opiecore/device/odevice_ipaq.h
index 968f715..cc0b8ac 100644
--- a/libopie2/opiecore/device/odevice_ipaq.h
+++ b/libopie2/opiecore/device/odevice_ipaq.h
@@ -42,9 +42,9 @@ namespace Internal {
class iPAQ : public ODevice, public QWSServer::KeyboardFilter
{
protected:
- virtual void init();
+ virtual void init(const QString&);
virtual void initButtons();
public:
virtual bool setSoftSuspend( bool soft );
diff --git a/libopie2/opiecore/device/odevice_jornada.cpp b/libopie2/opiecore/device/odevice_jornada.cpp
index eaa93ca..ad2f830 100644
--- a/libopie2/opiecore/device/odevice_jornada.cpp
+++ b/libopie2/opiecore/device/odevice_jornada.cpp
@@ -78,9 +78,9 @@ typedef struct {
#define FLITE_ON OD_IOW( 'f', 7, FLITE_IN )
using namespace Opie::Core::Internal;
-void Jornada::init()
+void Jornada::init(const QString&)
{
d->m_vendorstr = "HP";
d->m_vendor = Vendor_HP;
d->m_modelstr = "Jornada 56x";
diff --git a/libopie2/opiecore/device/odevice_jornada.h b/libopie2/opiecore/device/odevice_jornada.h
index e2e67af..fddfe34 100644
--- a/libopie2/opiecore/device/odevice_jornada.h
+++ b/libopie2/opiecore/device/odevice_jornada.h
@@ -38,9 +38,9 @@ namespace Internal {
class Jornada : public ODevice
{
protected:
- virtual void init();
+ virtual void init(const QString&);
public:
virtual bool setSoftSuspend ( bool soft );
virtual bool setDisplayBrightness ( int b );
diff --git a/libopie2/opiecore/device/odevice_ramses.cpp b/libopie2/opiecore/device/odevice_ramses.cpp
index 10b7b61..32467f1 100644
--- a/libopie2/opiecore/device/odevice_ramses.cpp
+++ b/libopie2/opiecore/device/odevice_ramses.cpp
@@ -68,9 +68,9 @@ struct r_button ramses_buttons [] = {
"QPE/Launcher", "home()",
"buttonsettings", "raise()" },
};
-void Ramses::init()
+void Ramses::init(const QString&)
{
d->m_vendorstr = "M und N";
d->m_vendor = Vendor_MundN;
diff --git a/libopie2/opiecore/device/odevice_ramses.h b/libopie2/opiecore/device/odevice_ramses.h
index aea9e2a..3cf5e92 100644
--- a/libopie2/opiecore/device/odevice_ramses.h
+++ b/libopie2/opiecore/device/odevice_ramses.h
@@ -40,9 +40,9 @@ namespace Internal {
class Ramses : public ODevice, public QWSServer::KeyboardFilter
{
protected:
- virtual void init();
+ virtual void init(const QString&);
public:
virtual bool setSoftSuspend( bool soft );
virtual bool suspend();
diff --git a/libopie2/opiecore/device/odevice_simpad.cpp b/libopie2/opiecore/device/odevice_simpad.cpp
index e9481bb..6630763 100644
--- a/libopie2/opiecore/device/odevice_simpad.cpp
+++ b/libopie2/opiecore/device/odevice_simpad.cpp
@@ -111,9 +111,9 @@ struct s_button simpad_buttons [] = {
"buttonsettings", "raise()" },
*/
};
-void SIMpad::init()
+void SIMpad::init(const QString&)
{
d->m_vendorstr = "SIEMENS";
d->m_vendor = Vendor_SIEMENS;
diff --git a/libopie2/opiecore/device/odevice_simpad.h b/libopie2/opiecore/device/odevice_simpad.h
index 3d5acb5..0f4e66f 100644
--- a/libopie2/opiecore/device/odevice_simpad.h
+++ b/libopie2/opiecore/device/odevice_simpad.h
@@ -41,9 +41,9 @@ namespace Internal {
class SIMpad : public ODevice, public QWSServer::KeyboardFilter
{
protected:
- virtual void init();
+ virtual void init(const QString&);
virtual void initButtons();
public:
virtual bool setSoftSuspend( bool soft );
diff --git a/libopie2/opiecore/device/odevice_yopy.cpp b/libopie2/opiecore/device/odevice_yopy.cpp
index 4e9f227..493ed25 100644
--- a/libopie2/opiecore/device/odevice_yopy.cpp
+++ b/libopie2/opiecore/device/odevice_yopy.cpp
@@ -70,9 +70,9 @@ struct yopy_button yopy_buttons [] = {
"QPE/Launcher", "home()",
"buttonsettings", "raise()" },
};
-void Yopy::init()
+void Yopy::init(const QString&)
{
d->m_vendorstr = "G.Mate";
d->m_vendor = Vendor_GMate;
d->m_modelstr = "Yopy3700";
diff --git a/libopie2/opiecore/device/odevice_yopy.h b/libopie2/opiecore/device/odevice_yopy.h
index 6e1db88..f6bf061 100644
--- a/libopie2/opiecore/device/odevice_yopy.h
+++ b/libopie2/opiecore/device/odevice_yopy.h
@@ -38,9 +38,9 @@ namespace Internal {
class Yopy : public ODevice
{
protected:
- virtual void init();
+ virtual void init(const QString&);
virtual void initButtons();
public:
virtual bool suspend();
diff --git a/libopie2/opiecore/device/odevice_zaurus.cpp b/libopie2/opiecore/device/odevice_zaurus.cpp
index 1434e69..e8b813e 100644
--- a/libopie2/opiecore/device/odevice_zaurus.cpp
+++ b/libopie2/opiecore/device/odevice_zaurus.cpp
@@ -114,9 +114,9 @@ struct z_button z_buttons_c700 [] = {
// Zaurus models (concerning apm, backlight, buttons, etc.)
//
// Comments? - mickeyl.
-void Zaurus::init()
+void Zaurus::init(const QString&)
{
d->m_vendorstr = "Sharp";
d->m_vendor = Vendor_Sharp;
m_embedix = true; // Not openzaurus means: It has an embedix kernel !
diff --git a/libopie2/opiecore/device/odevice_zaurus.h b/libopie2/opiecore/device/odevice_zaurus.h
index a0b1787..76a40d6 100644
--- a/libopie2/opiecore/device/odevice_zaurus.h
+++ b/libopie2/opiecore/device/odevice_zaurus.h
@@ -52,9 +52,9 @@ namespace Internal {
class Zaurus : public ODevice
{
protected:
- virtual void init();
+ virtual void init(const QString&);
virtual void initButtons();
public:
virtual bool setSoftSuspend ( bool soft );