• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# IPowerInterface
2
3
4## 概述
5
6休眠/唤醒操作、订阅休眠/唤醒状态、运行锁管理的接口。
7
8**起始版本:** 3.1
9
10**相关模块:**[Power](power-v12.md)
11
12
13## 汇总
14
15
16### Public 成员函数
17
18| 名称 | 描述 |
19| -------- | -------- |
20| [RegisterCallback](#registercallback) ([in] [IPowerHdiCallback](interface_i_power_hdi_callback.md) ipowerHdiCallback) | 注册休眠/唤醒状态的回调。 |
21| [StartSuspend](#startsuspend) () | 执行设备休眠操作。 |
22| [StopSuspend](#stopsuspend) () | 执行设备唤醒操作。 |
23| [ForceSuspend](#forcesuspend) () | 执行设备强制休眠操作。 |
24| [SuspendBlock](#suspendblock) ([in] String name) | 打开运行锁,阻止休眠。 |
25| [SuspendUnblock](#suspendunblock) ([in] String name) | 关闭运行锁,取消阻止休眠。 |
26| [PowerDump](#powerdump) ([out] String info) | 获取电源的Dump信息。 |
27| [HoldRunningLock](#holdrunninglock) ([in] struct [RunningLockInfo](_running_lock_info.md) info) | 持有运行锁,阻止设备休眠。 |
28| [UnholdRunningLock](#unholdrunninglock) ([in] struct [RunningLockInfo](_running_lock_info.md) info) | 解除运行锁,解除设备休眠。 |
29| [GetWakeupReason](#getwakeupreason) ([out] String reason) | 获取系统唤醒原因。 |
30| [HoldRunningLockExt](#holdrunninglockext) ([in] struct [RunningLockInfo](_running_lock_info.md) info, [in] unsigned long lockid, [in] String bundleName) | 持有运行锁,阻止设备休眠。 |
31| [UnholdRunningLockExt](#unholdrunninglockext) ([in] struct [RunningLockInfo](_running_lock_info.md) info, [in] unsigned long lockid, [in] String bundleName) | 解除运行锁,解除设备休眠。 |
32| [RegisterRunningLockCallback](#registerrunninglockcallback) ([in] [IPowerRunningLockCallback](interface_i_power_running_lock_callback.md) iPowerRunningLockCallback) | 注册运行锁状态的回调函数。 |
33| [UnRegisterRunningLockCallback](#unregisterrunninglockcallback) () | 取消注册运行锁状态的回调函数。 |
34| [Hibernate](#hibernate) () | 使设备进入S4休眠状态。 |
35| [SetSuspendTag](#setsuspendtag) ([in] String tag) | 在休眠前设置休眠标签。 通过设置特殊的休眠标签触发休眠,触发内核和硬件支持的特殊休眠模式。 如果没有设置休眠标签,则在休眠时触发标准S3休眠模式。 |
36| [SetPowerConfig](#setpowerconfig) ([in] String scene, [in] String value) | 设置与场景名称相关的设置路径文件值。 |
37| [GetPowerConfig](#getpowerconfig) ([in] String scene, [out] String value) | 获取与场景名称相关的获取路径文件值。 |
38
39
40## 成员函数说明
41
42
43### ForceSuspend()
44
45```
46IPowerInterface::ForceSuspend()
47```
48
49**描述**
50
51执行设备强制休眠操作。
52
53**起始版本:** 3.1
54
55**返回:**
56
57HDF_SUCCESS 表示强制休眠成功;返回其他值表示强制休眠失败。
58
59
60### GetPowerConfig()
61
62```
63IPowerInterface::GetPowerConfig([in] String scene, [out] String value)
64```
65
66**描述**
67
68获取与场景名称相关的获取路径文件值。
69
70**起始版本:** 5.0
71
72**参数:**
73
74| 名称 | 描述 |
75| -------- | -------- |
76| scene | 电源配置json文件中定义的场景名称。 |
77| value | 获取路径文件的值。 |
78
79**返回:**
80
81HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
82
83
84### GetWakeupReason()
85
86```
87IPowerInterface::GetWakeupReason([out] String reason)
88```
89
90**描述**
91
92获取系统唤醒原因。
93
94**起始版本:** 4.1
95
96**参数:**
97
98| 名称 | 描述 |
99| -------- | -------- |
100| reason | 唤醒原因。 |
101
102**返回:**
103
104HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
105
106
107### Hibernate()
108
109```
110IPowerInterface::Hibernate()
111```
112
113**描述**
114
115使设备进入S4休眠状态。
116
117**起始版本:** 5.0
118
119**返回:**
120
121HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
122
123
124### HoldRunningLock()
125
126```
127IPowerInterface::HoldRunningLock([in] struct RunningLockInfo info)
128```
129
130**描述**
131
132持有运行锁,阻止设备休眠。
133
134**起始版本:** 4.0
135
136**参数:**
137
138| 名称 | 描述 |
139| -------- | -------- |
140| info | 输入参数,运行锁信息。 |
141
142**返回:**
143
144HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
145
146
147### HoldRunningLockExt()
148
149```
150IPowerInterface::HoldRunningLockExt([in] struct RunningLockInfo info, [in] unsigned long lockid, [in] String bundleName)
151```
152
153**描述**
154
155持有运行锁,阻止设备休眠。
156
157**起始版本:** 4.1
158
159**参数:**
160
161| 名称 | 描述 |
162| -------- | -------- |
163| info | 输入参数,运行锁扩展信息。 |
164| lockid | 输入参数,运行锁id。 |
165| bundleName | 输入参数,应用包名。 |
166
167**返回:**
168
169HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
170
171
172### PowerDump()
173
174```
175IPowerInterface::PowerDump([out] String info)
176```
177
178**描述**
179
180获取电源的Dump信息。
181
182**起始版本:** 3.1
183
184**参数:**
185
186| 名称 | 描述 |
187| -------- | -------- |
188| info | 输出参数,电源的Dump信息。 |
189
190**返回:**
191
192HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
193
194
195### RegisterCallback()
196
197```
198IPowerInterface::RegisterCallback([in] IPowerHdiCallback ipowerHdiCallback)
199```
200
201**描述**
202
203注册休眠/唤醒状态的回调。
204
205**起始版本:** 3.1
206
207**参数:**
208
209| 名称 | 描述 |
210| -------- | -------- |
211| ipowerHdiCallback | 输入参数,服务注册的回调。 |
212
213**返回:**
214
215HDF_SUCCESS 表示注册成功,其它返回值表示注册失败。
216
217**参见:**
218
219[IPowerHdiCallback](interface_i_power_hdi_callback.md)
220
221
222### RegisterRunningLockCallback()
223
224```
225IPowerInterface::RegisterRunningLockCallback([in] IPowerRunningLockCallback iPowerRunningLockCallback)
226```
227
228**描述**
229
230注册运行锁状态的回调函数。
231
232**起始版本:** 4.1
233
234**参数:**
235
236| 名称 | 描述 |
237| -------- | -------- |
238| iPowerRunningLockCallback | 注册的回调信息。 |
239
240**返回:**
241
242HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
243
244**参见:**
245
246[IPowerRunningLockCallback](interface_i_power_running_lock_callback.md)
247
248
249### SetPowerConfig()
250
251```
252IPowerInterface::SetPowerConfig([in] String scene, [in] String value)
253```
254
255**描述**
256
257设置与场景名称相关的设置路径文件值。
258
259**起始版本:** 5.0
260
261**参数:**
262
263| 名称 | 描述 |
264| -------- | -------- |
265| scene | 在电源配置JSON文件中定义的场景名称。 |
266| value | 设置路径文件的值。 |
267
268**返回:**
269
270HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
271
272
273### SetSuspendTag()
274
275```
276IPowerInterface::SetSuspendTag([in] String tag)
277```
278
279**描述**
280
281在休眠前设置休眠标签。 通过设置特殊的休眠标签触发休眠,触发内核和硬件支持的特殊休眠模式。 如果没有设置休眠标签,则在休眠时触发标准S3休眠模式。
282
283**起始版本:** 5.0
284
285**参数:**
286
287| 名称 | 描述 |
288| -------- | -------- |
289| tag | 休眠标签。 |
290
291**返回:**
292
293HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
294
295
296### StartSuspend()
297
298```
299IPowerInterface::StartSuspend()
300```
301
302**描述**
303
304执行设备休眠操作。
305
306**起始版本:** 3.1
307
308**返回:**
309
310HDF_SUCCESS 表示休眠成功,其它返回值表示休眠失败。
311
312
313### StopSuspend()
314
315```
316IPowerInterface::StopSuspend()
317```
318
319**描述**
320
321执行设备唤醒操作。
322
323**起始版本:** 3.1
324
325**返回:**
326
327HDF_SUCCESS 表示唤醒成功;返回其他值表示唤醒失败。
328
329
330### SuspendBlock()
331
332```
333IPowerInterface::SuspendBlock([in] String name)
334```
335
336**描述**
337
338打开运行锁,阻止休眠。
339
340**起始版本:** 3.1
341
342**废弃版本:** 从4.0版本起废弃,使用WriteWakeCount替代。
343
344**参数:**
345
346| 名称 | 描述 |
347| -------- | -------- |
348| name | 输入参数,运行锁的名称。 |
349
350**返回:**
351
352HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
353
354
355### SuspendUnblock()
356
357```
358IPowerInterface::SuspendUnblock([in] String name)
359```
360
361**描述**
362
363关闭运行锁,取消阻止休眠。
364
365**起始版本:** 3.1
366
367**废弃版本:** 从4.0版本起废弃,使用WriteWakeCount替代。
368
369**参数:**
370
371| 名称 | 描述 |
372| -------- | -------- |
373| name | 输入参数,运行锁的名称。 |
374
375**返回:**
376
377HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
378
379
380### UnholdRunningLock()
381
382```
383IPowerInterface::UnholdRunningLock([in] struct RunningLockInfo info)
384```
385
386**描述**
387
388解除运行锁,解除设备休眠。
389
390**起始版本:** 4.0
391
392**参数:**
393
394| 名称 | 描述 |
395| -------- | -------- |
396| info | 输入参数,运行锁信息。 |
397
398**返回:**
399
400HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
401
402
403### UnholdRunningLockExt()
404
405```
406IPowerInterface::UnholdRunningLockExt([in] struct RunningLockInfo info, [in] unsigned long lockid, [in] String bundleName)
407```
408
409**描述**
410
411解除运行锁,解除设备休眠。
412
413**起始版本:** 4.1
414
415**参数:**
416
417| 名称 | 描述 |
418| -------- | -------- |
419| info | 输入参数,运行锁扩展信息。 |
420| lockid | 输入参数,运行锁id。 |
421| bundleName | 输入参数,应用包名。 |
422
423**返回:**
424
425HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。
426
427
428### UnRegisterRunningLockCallback()
429
430```
431IPowerInterface::UnRegisterRunningLockCallback()
432```
433
434**描述**
435
436取消注册运行锁状态的回调函数。
437
438**起始版本:** 4.1
439
440**返回:**
441
442HDF_SUCCESS 表示操作成功;返回其他值表示操作失败。