diff -r 885c2596c964 -r 5d007b20cfd0 qtmobileextensions/src/sysinfo/batterymonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qtmobileextensions/src/sysinfo/batterymonitor.cpp Tue Aug 31 16:02:37 2010 +0300 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation, version 2.1 of the License. +* +* 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 Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License +* along with this program. If not, +* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". +* +* Description: +* +*/ + +#include + +CBatteryMonitor::~CBatteryMonitor() +{ + Cancel(); + delete iTelephony; +} + +void CBatteryMonitor::ConstructL() +{ + iTelephony = CTelephony::NewL(); + iTelephony->GetBatteryInfo( iStatus, iBatteryInfoV1Pckg ); + SetActive(); +} + +CBatteryMonitor::CBatteryMonitor( MBatteryObserver& aObserver ) + : CActive( EPriorityStandard ), iObserver( aObserver ), iBatteryInfoV1Pckg( iBatteryInfoV1 ) +{ + CActiveScheduler::Add(this); +} + +void CBatteryMonitor::RunL() +{ + iObserver.BatteryLevelL( iBatteryInfoV1.iChargeLevel, iBatteryInfoV1.iStatus ); + iTelephony->NotifyChange( iStatus, CTelephony::EBatteryInfoChange, iBatteryInfoV1Pckg ); + SetActive(); +} + +void CBatteryMonitor::DoCancel() +{ + iTelephony->CancelAsync( CTelephony::EBatteryInfoChangeCancel ); +}