williamr@2: /* williamr@4: * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@4: * Description: williamr@2: * The API provides the P&S power state keys that are updated by the HW Resource williamr@2: * Manager Server. These keys provide up-to-date information on the charging williamr@2: * status, battery level and battery state of the device. Any application may williamr@2: * subscribe to these P&S keys that are updated to receive notifications of williamr@2: * any change in state. williamr@2: * This interface relies on the Publish and Subscribe (P&S) interface provided williamr@2: * by Symbian. P&S is used by HW Resource Manager to globally publish the power williamr@2: * state information. williamr@2: * The P&D UID is #KPSUidHWRMPowerState and following keys are provided: williamr@2: * - #KHWRMBatteryLevel williamr@2: * - #KHWRMBatteryStatus williamr@2: * - #KHWRMChargingStatus williamr@4: * williamr@2: */ williamr@2: williamr@4: williamr@4: williamr@4: williamr@4: /** williamr@4: @file hwrmpowerstatesdkpskeys.h williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: williamr@4: #ifndef HWRMPOWERSTATESDKPSKEYS_H williamr@4: #define HWRMPOWERSTATESDKPSKEYS_H williamr@4: williamr@4: #include williamr@4: williamr@2: /** williamr@2: * P&S UID for all power state information keys provided by this API. williamr@4: * williamr@4: * @publishedAll williamr@4: * @released williamr@2: */ williamr@2: const TUid KPSUidHWRMPowerState = { 0x10205041 }; williamr@2: williamr@2: williamr@2: /** williamr@2: * P&S key to represent the battery level of the device. It can also be related williamr@2: * to the number of battery bars displayed. This property is updated only when williamr@4: * battery level changes. Valid values are defined by the enum EPSHWRMBatteryLevel williamr@2: * and range from -1 to 7.
williamr@2: * If an error has occurred or the battery level has not yet been initialized, williamr@2: * the enumeration value of #EBatteryLevelUnknown is used. In all other cases williamr@2: * the battery level is used with level 0 being the lowest (battery empty) and williamr@2: * level 7 the highest (battery full). williamr@2: * williamr@2: * @see EPSHWRMBatteryLevel williamr@4: * williamr@4: * @publishedAll williamr@4: * @released williamr@2: */ williamr@2: const TUint32 KHWRMBatteryLevel = 0x00000001; williamr@2: williamr@2: /** williamr@2: * Battery level of device. Can be related to the number of battery bars williamr@2: * displayed by the device. williamr@4: * williamr@4: * @publishedAll williamr@4: * @released williamr@2: */ williamr@2: enum EPSHWRMBatteryLevel williamr@2: { williamr@4: /** williamr@4: Uninitialized or some other error williamr@4: */ williamr@4: EBatteryLevelUnknown = -1, williamr@4: /** williamr@4: Battery level 0. The lowest battery level. williamr@4: */ williamr@4: EBatteryLevelLevel0 = 0, williamr@4: /** williamr@4: Battery level 1. williamr@4: */ williamr@2: EBatteryLevelLevel1 = 1, williamr@4: /** williamr@4: Battery level 2. williamr@4: */ williamr@2: EBatteryLevelLevel2 = 2, williamr@4: /** williamr@4: Battery level 3. williamr@4: */ williamr@2: EBatteryLevelLevel3 = 3, williamr@4: /** williamr@4: Battery level 4. williamr@4: */ williamr@2: EBatteryLevelLevel4 = 4, williamr@4: /** williamr@4: Battery level 5. williamr@4: */ williamr@2: EBatteryLevelLevel5 = 5, williamr@4: /** williamr@4: Battery level 6. williamr@4: */ williamr@2: EBatteryLevelLevel6 = 6, williamr@4: /** williamr@4: Battery level 7. The highest battery level. williamr@4: */ williamr@4: EBatteryLevelLevel7 = 7 williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: * Battery status of device. williamr@2: * This property may be updated to same status as previously, to indicate williamr@2: * the note in question needs to be shown again. williamr@2: * williamr@2: * #EBatteryStatusLow update comes approximately ten times before williamr@2: * battery is completely empty and it comes at approximately williamr@2: * 10 minute intervals. If phone is in-call mode, update comes at williamr@2: * approximately 1 minute intervals. williamr@2: * williamr@2: * #EBatteryStatusEmpty comes slightly before phone must power down williamr@2: * automatically because of insufficient battery power. williamr@2: * williamr@2: * @see EPSHWRMBatteryStatus williamr@4: * williamr@4: * @publishedAll williamr@4: * @released williamr@2: */ williamr@2: const TUint32 KHWRMBatteryStatus = 0x00000002; williamr@2: williamr@2: /** williamr@2: * Battery status of device. williamr@4: * williamr@4: * @publishedAll williamr@4: * @released williamr@2: */ williamr@2: enum EPSHWRMBatteryStatus williamr@2: { williamr@4: /** williamr@4: Uninitialized or some other error williamr@4: */ williamr@4: EBatteryStatusUnknown = -1, williamr@4: /** williamr@4: This can also be used during charging williamr@4: */ williamr@4: EBatteryStatusOk = 0, williamr@4: /** williamr@4: Show note to user "Battery low" williamr@4: */ williamr@4: EBatteryStatusLow = 1, williamr@4: /** williamr@4: Show "recharge battery" note to user williamr@4: */ williamr@4: EBatteryStatusEmpty = 2 williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Charging status of device. williamr@2: * This property is updated only when charging status changes. williamr@2: * williamr@2: * @see EPSHWRMChargingStatus williamr@4: * williamr@4: * @publishedAll williamr@4: * @released williamr@2: */ williamr@2: const TUint32 KHWRMChargingStatus = 0x00000003; williamr@2: williamr@2: /** williamr@2: * Charging status of device. williamr@4: * williamr@4: * @publishedAll williamr@4: * @released williamr@2: */ williamr@2: enum EPSHWRMChargingStatus williamr@2: { williamr@4: /** williamr@4: Some error has occurred when charger is connected or charging. williamr@4: */ williamr@4: EChargingStatusError = -1, williamr@4: /** williamr@4: Charger not connected/uninitialized williamr@4: */ williamr@4: EChargingStatusNotConnected = 0, williamr@4: /** williamr@4: Device is charging williamr@4: */ williamr@4: EChargingStatusCharging = 1, williamr@4: /** williamr@4: Charger is connected, device not charging williamr@4: */ williamr@4: EChargingStatusNotCharging = 2, williamr@4: /** williamr@4: Charging almost completed williamr@4: */ williamr@4: EChargingStatusAlmostComplete = 3, williamr@4: /** williamr@4: Charging completed williamr@4: */ williamr@4: EChargingStatusChargingComplete = 4, williamr@4: /** williamr@4: Charging continued after brief interruption williamr@4: */ williamr@4: EChargingStatusChargingContinued = 5 williamr@2: }; williamr@2: williamr@2: williamr@2: #endif // HWRMPOWERSTATESDKPSKEYS_H williamr@4: williamr@4: // End of File