author | mickeyl <mickeyl> | 2004-01-13 18:32:19 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-01-13 18:32:19 (UTC) |
commit | 061ccf5b9d384b1f24d203e96f1f04ccf1dcf133 (patch) (side-by-side diff) | |
tree | ec1fc064f001edba92e58116cdc35fc909b5cdd6 /libopie2/opiecore/device/odevice_yopy.cpp | |
parent | 59f7fa0a480bf921a67ad42fc1fe018b1be44192 (diff) | |
download | opie-061ccf5b9d384b1f24d203e96f1f04ccf1dcf133.zip opie-061ccf5b9d384b1f24d203e96f1f04ccf1dcf133.tar.gz opie-061ccf5b9d384b1f24d203e96f1f04ccf1dcf133.tar.bz2 |
- rewrite device detection
- cleanup
- split odevice stuff into header and cpp files
- Note for next buildsystem: Don't link all header files but distinguish
between public and private headers, e.g. odevice.h is public while
odevice_ipaq.h is private.
Diffstat (limited to 'libopie2/opiecore/device/odevice_yopy.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiecore/device/odevice_yopy.cpp | 239 |
1 files changed, 95 insertions, 144 deletions
diff --git a/libopie2/opiecore/device/odevice_yopy.cpp b/libopie2/opiecore/device/odevice_yopy.cpp index 9d0cdeb..a76f90b 100644 --- a/libopie2/opiecore/device/odevice_yopy.cpp +++ b/libopie2/opiecore/device/odevice_yopy.cpp @@ -1,33 +1,33 @@ /* - This file is part of the Opie Project - Copyright (C) The Opie Team <opie-devel@handhelds.org> - =. - .=l. - .>+-= - _;:, .> :=|. This program is free software; you can + This file is part of the Opie Project + Copyright (C) The Opie Team <opie-devel@handhelds.org> + =. + .=l. + .>+-= +_;:, .> :=|. This program is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU Library General Public .="- .-=="i, .._ License as published by the Free Software - - . .-<_> .<> Foundation; either version 2 of the License, - ._= =} : or (at your option) any later version. - .%`+i> _;_. - .i_,=:_. -<s. This program is distributed in the hope that - + . -:. = it will be useful, but WITHOUT ANY WARRANTY; - : .. .:, . . . without even the implied warranty of - =_ + =;=|` MERCHANTABILITY or FITNESS FOR A - _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU +- . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. This program is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. - : = ...= . :.=- - -. .:....=;==+<; You should have received a copy of the GNU - -_. . . )=. = Library General Public License along with - -- :-=` this library; see the file COPYING.LIB. - If not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. +: = ...= . :.=- +-. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ -#include "odevice.h" +#include "odevice_yopy.h" /* QT */ #include <qapplication.h> @@ -53,158 +53,109 @@ #include <linux/soundcard.h> #endif -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) -#endif - -// _IO and friends are only defined in kernel headers ... - -#define OD_IOC(dir,type,number,size) (( dir << 30 ) | ( type << 8 ) | ( number ) | ( size << 16 )) - -#define OD_IO(type,number) OD_IOC(0,type,number,0) -#define OD_IOW(type,number,size) OD_IOC(1,type,number,sizeof(size)) -#define OD_IOR(type,number,size) OD_IOC(2,type,number,sizeof(size)) -#define OD_IORW(type,number,size) OD_IOC(3,type,number,sizeof(size)) - using namespace Opie; -class Yopy : public ODevice -{ - protected: - - virtual void init(); - virtual void initButtons(); - - public: - virtual bool suspend(); - - virtual bool setDisplayBrightness ( int b ); - virtual int displayBrightnessResolution() const; - - static bool isYopy(); +struct yopy_button yopy_buttons [] = { + { Qt::Key_F10, QT_TRANSLATE_NOOP( "Button", "Action Button" ), + "devicebuttons/yopy_action", + "datebook", "nextView()", + "today", "raise()" }, + { Qt::Key_F11, QT_TRANSLATE_NOOP( "Button", "OK Button" ), + "devicebuttons/yopy_ok", + "addressbook", "raise()", + "addressbook", "beamBusinessCard()" }, + { Qt::Key_F12, QT_TRANSLATE_NOOP( "Button", "End Button" ), + "devicebuttons/yopy_end", + "QPE/Launcher", "home()", + "buttonsettings", "raise()" }, }; -struct yopy_button { - Qt::Key code; - char *utext; - char *pix; - char *fpressedservice; - char *fpressedaction; - char *fheldservice; - char *fheldaction; -} yopy_buttons [] = { -{ Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Action Button"), - "devicebuttons/yopy_action", - "datebook", "nextView()", - "today", "raise()" }, -{ Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "OK Button"), - "devicebuttons/yopy_ok", - "addressbook", "raise()", - "addressbook", "beamBusinessCard()" }, -{ Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "End Button"), - "devicebuttons/yopy_end", - "QPE/Launcher", "home()", - "buttonsettings", "raise()" }, -}; - -bool Yopy::isYopy() +void Yopy::init() { -QFile f( "/proc/cpuinfo" ); -if ( f. open ( IO_ReadOnly ) ) { - QTextStream ts ( &f ); - QString line; - while( line = ts. readLine() ) { - if ( line. left ( 8 ) == "Hardware" ) { - int loc = line. find ( ":" ); - if ( loc != -1 ) { - QString model = - line. mid ( loc + 2 ). simplifyWhiteSpace( ); - return ( model == "Yopy" ); - } - } + d->m_vendorstr = "G.Mate"; + d->m_vendor = Vendor_GMate; + d->m_modelstr = "Yopy3700"; + d->m_model = Model_Yopy_3700; + d->m_rotation = Rot0; + + d->m_systemstr = "Linupy"; + d->m_system = System_Linupy; + + QFile f ( "/etc/issue" ); + if ( f. open ( IO_ReadOnly ) ) + { + QTextStream ts ( &f ); + ts.readLine(); + d->m_sysverstr = ts. readLine(); + f. close(); } } -return false; -} -void Yopy::init() -{ -d->m_vendorstr = "G.Mate"; -d->m_vendor = Vendor_GMate; -d->m_modelstr = "Yopy3700"; -d->m_model = Model_Yopy_3700; -d->m_rotation = Rot0; - -d->m_systemstr = "Linupy"; -d->m_system = System_Linupy; - -QFile f ( "/etc/issue" ); -if ( f. open ( IO_ReadOnly )) { - QTextStream ts ( &f ); - ts.readLine(); - d->m_sysverstr = ts. readLine(); - f. close(); -} -} void Yopy::initButtons() { -if ( d->m_buttons ) - return; + if ( d->m_buttons ) + return ; -d->m_buttons = new QValueList <ODeviceButton>; + d->m_buttons = new QValueList <ODeviceButton>; -for (uint i = 0; i < ( sizeof( yopy_buttons ) / sizeof(yopy_button)); i++) { + for ( uint i = 0; i < ( sizeof( yopy_buttons ) / sizeof( yopy_button ) ); i++ ) + { - yopy_button *ib = yopy_buttons + i; + yopy_button *ib = yopy_buttons + i; - ODeviceButton b; + ODeviceButton b; - b. setKeycode ( ib->code ); - b. setUserText ( QObject::tr ( "Button", ib->utext )); - b. setPixmap ( Resource::loadPixmap ( ib->pix )); - b. setFactoryPresetPressedAction - (OQCopMessage(makeChannel(ib->fpressedservice), ib->fpressedaction)); - b. setFactoryPresetHeldAction - (OQCopMessage(makeChannel(ib->fheldservice), ib->fheldaction)); + b. setKeycode ( ib->code ); + b. setUserText ( QObject::tr ( "Button", ib->utext ) ); + b. setPixmap ( Resource::loadPixmap ( ib->pix ) ); + b. setFactoryPresetPressedAction + ( OQCopMessage( makeChannel( ib->fpressedservice ), ib->fpressedaction ) ); + b. setFactoryPresetHeldAction + ( OQCopMessage( makeChannel( ib->fheldservice ), ib->fheldaction ) ); - d->m_buttons->append ( b ); -} -reloadButtonMapping(); + d->m_buttons->append ( b ); + } + reloadButtonMapping(); -QCopChannel *sysch = new QCopChannel("QPE/System", this); -connect(sysch, SIGNAL(received(const QCString &, const QByteArray & )), - this, SLOT(systemMessage(const QCString &, const QByteArray & ))); + QCopChannel *sysch = new QCopChannel( "QPE/System", this ); + connect( sysch, SIGNAL( received( const QCString &, const QByteArray & ) ), + this, SLOT( systemMessage( const QCString &, const QByteArray & ) ) ); } + bool Yopy::suspend() { -/* Opie for Yopy does not implement its own power management at the - moment. The public version runs parallel to X, and relies on the - existing power management features. */ -return false; + /* Opie for Yopy does not implement its own power management at the + moment. The public version runs parallel to X, and relies on the + existing power management features. */ + return false; } -bool Yopy::setDisplayBrightness(int bright) + +bool Yopy::setDisplayBrightness( int bright ) { -/* The code here works, but is disabled as the current version runs - parallel to X, and relies on the existing backlight demon. */ + /* The code here works, but is disabled as the current version runs + parallel to X, and relies on the existing backlight demon. */ #if 0 -if ( QFile::exists("/proc/sys/pm/light") ) { - int fd = ::open("/proc/sys/pm/light", O_WRONLY); - if (fd >= 0 ) { - if (bright) - ::write(fd, "1\n", 2); - else - ::write(fd, "0\n", 2); - ::close(fd); - return true; + if ( QFile::exists( "/proc/sys/pm/light" ) ) + { + int fd = ::open( "/proc/sys/pm/light", O_WRONLY ); + if ( fd >= 0 ) + { + if ( bright ) + ::write( fd, "1\n", 2 ); + else + ::write( fd, "0\n", 2 ); + ::close( fd ); + return true; + } } -} #endif -return false; + return false; } + int Yopy::displayBrightnessResolution() const { return 2; |