Files

5.6 KiB

Lite Power Manager

Introduction

The lite power manager provides the following capabilities:

  1. Managing sleep and wakeup locks.
  2. Keeping the device screen always on using a lock

Figure 1 Lite power manager architecture

Directory Structure

base/powermgr/powermgr_lite
├── figures           # Architecture figures
├── frameworks        # Frameworks
│   ├── include       # Header files
│   └── src           # Source files
├── interfaces        # APIs
│   ├── innerkits     # Internal APIs
│   └── kits          # External APIs
├── services          # Services
│   ├── include       # Header files
│   └── src           # Source files
└── utils             # Utilities
    ├── include       # Header files
    └── src           # Source files

Usage

Available APIs

The following table lists the JavaScript APIs provided by the lite power manager.

API

Description

RunningLock *CreateRunningLock(const char *name, RunningLockType type, RunningLockFlag flag)

Creates a Runninglock object.

void DestroyRunningLock(const RunningLock *lock)

Destroys an Runninglock object.

BOOL AcquireRunningLock(const RunningLock *lock)

Obtains a Runninglock object.

BOOL ReleaseRunningLock(const RunningLock *lock)

Releases a Runninglock object.

Usage Guidelines

Runninglock Management

The lite power manager provides APIs to create, obtain, and release Runninglock objects.

The sample code is as follows:

const RunningLock *lock = CreateRunningLock("runinglock_example", RUNNINGLOCK_BACKGROUND, RUNNINGLOCK_FLAG_NONE);
if (lock == NULL) {
   return;
}
BOOL ret = AcquireRunningLock(lock);
if (ret == FLASE) {
   DestroyRunningLock(lock);
   return;
}
ReleaseRunningLock(lock);
DestroyRunningLock(lock); // Must release runninglock before destroyed

Repositories Involved

Power management subsystem

powermgr_power_manager

powermgr_display_manager

powermgr_battery_manager

powermgr_thermal_manager

powermgr_battery_statistics

powermgr_battery_lite

powermgr_powermgr_lite