qtmobileextensions/src/sysinfo/batterymonitor.cpp
branchRCL_3
changeset 23 cd2778e5acfe
parent 22 5d007b20cfd0
child 25 19a54be74e5e
equal deleted inserted replaced
22:5d007b20cfd0 23:cd2778e5acfe
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 *
       
     5 * This program is free software: you can redistribute it and/or modify
       
     6 * it under the terms of the GNU Lesser General Public License as published by
       
     7 * the Free Software Foundation, version 2.1 of the License.
       
     8 * 
       
     9 * This program is distributed in the hope that it will be useful,
       
    10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    12 * GNU Lesser General Public License for more details.
       
    13 *
       
    14 * You should have received a copy of the GNU Lesser General Public License
       
    15 * along with this program.  If not, 
       
    16 * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
       
    17 *
       
    18 * Description:
       
    19 *
       
    20 */
       
    21 
       
    22 #include <batterymonitor.h>
       
    23 
       
    24 CBatteryMonitor::~CBatteryMonitor()
       
    25 {
       
    26     Cancel();
       
    27     delete iTelephony;
       
    28 }
       
    29  
       
    30 void CBatteryMonitor::ConstructL()
       
    31 {
       
    32     iTelephony = CTelephony::NewL();
       
    33     iTelephony->GetBatteryInfo( iStatus, iBatteryInfoV1Pckg );
       
    34     SetActive();
       
    35 }
       
    36  
       
    37 CBatteryMonitor::CBatteryMonitor( MBatteryObserver& aObserver )
       
    38     : CActive( EPriorityStandard ), iObserver( aObserver ), iBatteryInfoV1Pckg( iBatteryInfoV1 )
       
    39 {
       
    40     CActiveScheduler::Add(this);
       
    41 }
       
    42  
       
    43 void CBatteryMonitor::RunL()
       
    44 {
       
    45     iObserver.BatteryLevelL( iBatteryInfoV1.iChargeLevel, iBatteryInfoV1.iStatus );
       
    46     iTelephony->NotifyChange( iStatus, CTelephony::EBatteryInfoChange, iBatteryInfoV1Pckg );   
       
    47     SetActive();
       
    48 }
       
    49  
       
    50 void CBatteryMonitor::DoCancel()
       
    51 {
       
    52     iTelephony->CancelAsync( CTelephony::EBatteryInfoChangeCancel );
       
    53 }