power: introduce sleep-wait for iot-headless
Sleep-wait defers wake unlock if somebody wants to defer sleep for a
short duration. For example, system might want to notify user that it
is going to sleep by alarming sound. To play sound, system must hold
running state for a moment.
One who wants to defer sleep must request sleep-wait. On receiving
signal that sleep is requested, it processes todo list before going to
sleep. And after finishing the job, it must confirm that it is OK to go
into sleep. For now, deviced waits maximum of 5 seconds, and after this
timeout, wake unlock even someone hasn't confirmed the sleep-wait.
Sleep-wait offers dbus methods.
1. Adding sleep-wait for deferring sleep
path : /Org/Tizen/System/DeviceD/Power
interface : org.tizen.system.deviced.Power
member : AddSleepWait
parameter : no parameter
return : "(i)", 0 on success, negative on error.
2. Removing sleep-wait
path : /Org/Tizen/System/DeviceD/Power
interface : org.tizen.system.deviced.Power
member : RemoveSleepWait
parameter : no parameter
return : no return
3. Confirming sleep-wait, which notifies deviced that it is OK
to go into sleep.
path : /Org/Tizen/System/DeviceD/Power
interface : org.tizen.system.deviced.Power
member : ConfirmSleepWait
parameter : "(i)", sleep id to confirm
return : "(i)", 0 on success, negative on error.
Change-Id: I58860ab7633c3863cc3ee06befc49b0e152934fe
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>