
回复
轻量级电源组件提供如下功能:
图 1 轻量级电源管理组件架构图
base/powermgr/powermgr_lite
├── frameworks # Framework层
│ ├── include # Framework层头文件
│ └── src # Framework层源文件
├── interfaces # 接口层
│ ├── innerkits # 内部接口层
│ └── kits # 外部接口层
├── services # 服务层
│ ├── include # 服务层头文件
│ └── src # 服务层源文件
└── utils # 工具和通用层
├── include # 工具和通用层头文件
└── src # 工具和通用层源文件
轻量电源管理服务对外提供的接口,如下表:
接口名 | 描述 |
---|---|
RunningLock *CreateRunningLock(const char *name, RunningLockType type, RunningLockFlag flag) | 创建Runninglock对象。 |
void DestroyRunningLock(const RunningLock *lock) | 销毁Runninglock对象。 |
BOOL AcquireRunningLock(const RunningLock *lock) | 获取Runninglock锁。 |
BOOL ReleaseRunningLock(const RunningLock *lock) | 释放Runninglock锁。 |
BOOL IsRunningLockAcquired(const RunningLock *lock); | 判断当前锁是否已经释放 |
Runninglock管理
电源管理组件提供了创建Runninglock对象、获取锁、释放锁等接口。
代码示例如下:
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
powermgr_powermgr_lite