/**
* Callback function that delivers information about a state transition.
*/
-typedef void (*change_state_callback) (const struct device_change_state_info *info, void *user_data);
+typedef void (*change_state_wait_callback) (const struct device_change_state_info *info, void *user_data);
/**
* Add callback for states to be transitioned.
* change_state_wait_callback cb: For every state transition to the state_bit, the cb will be invoked.
* void *user_data: user data for the callback.
*/
-int device_power_add_change_state_wait_callback(uint64_t state_bits, change_state_callback cb, void *user_data);
+int device_power_add_change_state_wait_callback(uint64_t state_bits, change_state_wait_callback cb, void *user_data);
/**
* Notify the deviced that it is ready to transition state.
#define DBUS_METHOD_SYNC_CALL_TIMEOUT_MS 10000 /* 10 second */
struct userdata {
- change_state_callback callback;
+ change_state_wait_callback callback;
void *data;
};
static int change_state_signal_id[POWER_STATE_MAX_INDEX];
-static const char *signame[POWER_STATE_MAX_INDEX] = {
- [POWER_STATE_START_INDEX] = SIGNAME_CHANGE_STATE_TO_START,
- [POWER_STATE_NORMAL_INDEX] = SIGNAME_CHANGE_STATE_TO_NORMAL,
- [POWER_STATE_SLEEP_INDEX] = SIGNAME_CHANGE_STATE_TO_SLEEP,
- [POWER_STATE_POWEROFF_INDEX] = SIGNAME_CHANGE_STATE_TO_POWEROFF,
- [POWER_STATE_REBOOT_INDEX] = SIGNAME_CHANGE_STATE_TO_REBOOT,
- [POWER_STATE_EXIT_INDEX] = SIGNAME_CHANGE_STATE_TO_EXIT,
-};
static void signal_unsubscribed_callback(void *data)
{
}
static int __device_power_add_change_state_wait_callback(GDBusConnection *connection,
- int index, change_state_callback cb, void *data)
+ int index, change_state_wait_callback cb, void *data)
{
+ static const char *signame[POWER_STATE_MAX_INDEX] = {
+ [POWER_STATE_START_INDEX] = SIGNAME_CHANGE_STATE_TO_START,
+ [POWER_STATE_NORMAL_INDEX] = SIGNAME_CHANGE_STATE_TO_NORMAL,
+ [POWER_STATE_SLEEP_INDEX] = SIGNAME_CHANGE_STATE_TO_SLEEP,
+ [POWER_STATE_POWEROFF_INDEX] = SIGNAME_CHANGE_STATE_TO_POWEROFF,
+ [POWER_STATE_REBOOT_INDEX] = SIGNAME_CHANGE_STATE_TO_REBOOT,
+ [POWER_STATE_EXIT_INDEX] = SIGNAME_CHANGE_STATE_TO_EXIT,
+ };
struct userdata *ud;
if (change_state_signal_id[index] > 0)
return DEVICE_ERROR_NONE;
}
-int device_power_add_change_state_wait_callback(uint64_t state_bits, change_state_callback cb, void *data)
+int device_power_add_change_state_wait_callback(uint64_t state_bits, change_state_wait_callback cb, void *data)
{
GDBusConnection *connection;
GVariant *retgv = NULL;