From be26adf324ea0b723cabcd735b0833e16410ceea Mon Sep 17 00:00:00 2001 From: mickeyl Date: Sun, 23 Jan 2005 20:52:18 +0000 Subject: - consolidate reading hinge sensor into one place - return proper rotation and direction if hinge sensor not present (like in 2.6 atm.) --- diff --git a/libopie2/opiecore/device/odevice_zaurus.cpp b/libopie2/opiecore/device/odevice_zaurus.cpp index d3ab63a..b22ee70 100644 --- a/libopie2/opiecore/device/odevice_zaurus.cpp +++ b/libopie2/opiecore/device/odevice_zaurus.cpp @@ -546,18 +546,10 @@ Transformation Zaurus::rotation() const switch ( d->m_model ) { case Model_Zaurus_SLC3000: // fallthrough case Model_Zaurus_SLC7x0: - handle = ::open("/dev/apm_bios", O_RDWR|O_NONBLOCK); - if (handle == -1) { - return Rot270; - } else { - retval = ::ioctl(handle, SHARP_IOCTL_GET_ROTATION); - ::close (handle); - - if (retval == 2 ) - rot = Rot0; - else - rot = Rot270; - } + OHingeStatus hs = readHingeSensor(); + if ( hs == CASE_PORTRAIT ) rot = Rot0; + else if ( hs == CASE_UNKNOWN ) rot = Rot0; + else rot = Rot270; break; case Model_Zaurus_SL6000: case Model_Zaurus_SLB600: @@ -579,17 +571,10 @@ ODirection Zaurus::direction() const switch ( d->m_model ) { case Model_Zaurus_SLC3000: // fallthrough case Model_Zaurus_SLC7x0: - handle = ::open( "/dev/apm_bios", O_RDWR|O_NONBLOCK ); - if (handle == -1) { - dir = CW; - } else { - retval = ::ioctl( handle, SHARP_IOCTL_GET_ROTATION ); - ::close (handle); - if (retval == 2 ) - dir = CCW; - else - dir = CW; - } + OHingeStatus hs = readHingeSensor(); + if ( hs == CASE_PORTRAIT ) dir = CCW; + else if ( hs == CASE_UNKNOWN ) dir = CCW; + else dir = CW; break; case Model_Zaurus_SL6000: case Model_Zaurus_SLA300: @@ -608,7 +593,7 @@ bool Zaurus::hasHingeSensor() const return d->m_model == Model_Zaurus_SLC7x0 || d->m_model == Model_Zaurus_SLC3000; } -OHingeStatus Zaurus::readHingeSensor() +OHingeStatus Zaurus::readHingeSensor() const { if (m_embedix) { diff --git a/libopie2/opiecore/device/odevice_zaurus.h b/libopie2/opiecore/device/odevice_zaurus.h index ed9cf67..c763798 100644 --- a/libopie2/opiecore/device/odevice_zaurus.h +++ b/libopie2/opiecore/device/odevice_zaurus.h @@ -110,7 +110,7 @@ class Zaurus : public ODevice virtual bool setLedState( OLed led, OLedState st ); virtual bool hasHingeSensor() const; - virtual OHingeStatus readHingeSensor(); + virtual OHingeStatus readHingeSensor() const; virtual bool suspend(); virtual Transformation rotation() const; -- cgit v0.9.0.2