summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/power.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/library/power.cpp b/library/power.cpp
index 12b52ed..d10a865 100644
--- a/library/power.cpp
+++ b/library/power.cpp
@@ -1,87 +1,87 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include "power.h"
-#ifdef QT_QWS_CUSTOM
+#if defined( QT_QWS_CUSTOM ) || defined( QT_QWS_IPAQ )
#include "custom.h"
#endif
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#ifdef QT_QWS_IPAQ_NO_APM
#include <linux/h3600_ts.h>
#endif
PowerStatusManager *PowerStatusManager::powerManager = 0;
PowerStatus *PowerStatusManager::ps = 0;
static bool haveProcApm = false;
PowerStatusManager::PowerStatusManager()
{
powerManager = this;
ps = new PowerStatus;
FILE *f = fopen("/proc/apm", "r");
if ( f ) {
fclose(f);
haveProcApm = TRUE;
}
}
const PowerStatus &PowerStatusManager::readStatus()
{
if ( !powerManager )
(void)new PowerStatusManager;
powerManager->getStatus();
return *ps;
}
// Standard /proc/apm reader
bool PowerStatusManager::getProcApmStatus( int &ac, int &bs, int &bf, int &pc, int &sec )
{
bool ok = false;
ac = 0xff;
bs = 0xff;
bf = 0xff;
pc = -1;
sec = -1;
FILE *f = fopen("/proc/apm", "r");
if ( f ) {
//I 1.13 1.2 0x02 0x00 0xff 0xff 49% 147 sec
char u;
fscanf(f, "%*[^ ] %*d.%*d 0x%*x 0x%x 0x%x 0x%x %d%% %i %c",
&ac, &bs, &bf, &pc, &sec, &u);
fclose(f);
switch ( u ) {
case 'm': sec *= 60;
case 's': break; // ok
default: sec = -1; // unknown
}
// extract data