Tizen 2.4 SDK Rev6 Release accepted/tizen_2.3.1_mobile accepted/tizen_2.3.1_wearable tizen_2.3.1 accepted/tizen/2.3.1/mobile/20160530.053606 accepted/tizen/2.3.1/wearable/20160530.053614 submit/tizen_2.3.1/20160530.021317
authorJaekyu Park <jk7744.park@samsung.com>
Fri, 27 May 2016 08:10:59 +0000 (17:10 +0900)
committerJaekyu Park <jk7744.park@samsung.com>
Fri, 27 May 2016 08:10:59 +0000 (17:10 +0900)
src/common.h
src/display.c
src/power.c

index dd01165..2ecc50d 100644 (file)
@@ -37,7 +37,7 @@
 
 static inline int errno_to_device_error(int err)
 {
-       if (err == -ECOMM)
+       if (err == -ECOMM || err == -EACCES || err == -EPERM)
                return DEVICE_ERROR_PERMISSION_DENIED;
        else if (err == -ENODEV || err == -ENOENT)
                return DEVICE_ERROR_NOT_SUPPORTED;
index 658bfff..cd22346 100644 (file)
@@ -77,8 +77,11 @@ int device_display_get_max_brightness(int display_index, int *max_brightness)
        if (!max_brightness)
                return DEVICE_ERROR_INVALID_PARAMETER;
 
-       if (display_cnt < 0)
-               device_display_get_numbers(&display_cnt);
+       if (display_cnt < 0) {
+               ret = device_display_get_numbers(&display_cnt);
+               if (ret < 0)
+                       return errno_to_device_error(ret);
+       }
 
        if (display_index < 0 || display_index >= display_cnt)
                return DEVICE_ERROR_INVALID_PARAMETER;
index b7a0f37..ab7ade0 100644 (file)
@@ -98,6 +98,7 @@ static int lock_state(display_state_e state, unsigned int flag, int timeout_ms)
 {
        char *arr[4];
        char str_timeout[32];
+       int ret;
 
        arr[0] = get_state_str(state);
        if (!arr[0])
@@ -115,6 +116,14 @@ static int lock_state(display_state_e state, unsigned int flag, int timeout_ms)
        else
                arr[2] = STR_NULL;
 
+       snprintf(str_timeout, sizeof(str_timeout), "%d", -1);
+       arr[3] = str_timeout;
+       ret = dbus_method_sync(DEVICED_BUS_NAME,
+                       DEVICED_PATH_DISPLAY, DEVICED_INTERFACE_DISPLAY,
+                       METHOD_LOCK_STATE, "sssi", arr);
+       if (ret == -EACCES || ret == -ECOMM || ret == -EPERM)
+               return -EACCES;
+
        snprintf(str_timeout, sizeof(str_timeout), "%d", timeout_ms);
        arr[3] = str_timeout;
 
@@ -145,6 +154,15 @@ static void unlock_cb(void *data, DBusMessage *msg, DBusError *unused)
 static int unlock_state(display_state_e state, unsigned int flag)
 {
        char *arr[2];
+       int ret;
+
+       arr[0] = "";
+       arr[1] = "";
+       ret = dbus_method_sync(DEVICED_BUS_NAME,
+                       DEVICED_PATH_DISPLAY, DEVICED_INTERFACE_DISPLAY,
+                       METHOD_UNLOCK_STATE, "ss", arr);
+       if (ret == -EACCES || ret == -ECOMM || ret == -EPERM)
+               return -EACCES;
 
        arr[0] = get_state_str(state);
        if (!arr[0])
@@ -180,7 +198,7 @@ int device_power_request_lock(power_lock_e type, int timeout_ms)
        else
                return DEVICE_ERROR_INVALID_PARAMETER;
 
-       if (ret == -ECOMM)
+       if (ret == -EACCES)
                return DEVICE_ERROR_PERMISSION_DENIED;
        else if (ret < 0)
                return DEVICE_ERROR_OPERATION_FAILED;
@@ -201,7 +219,7 @@ int device_power_release_lock(power_lock_e type)
        else
                return DEVICE_ERROR_INVALID_PARAMETER;
 
-       if (ret == -ECOMM)
+       if (ret == -EACCES)
                return DEVICE_ERROR_PERMISSION_DENIED;
        else if (ret < 0)
                return DEVICE_ERROR_OPERATION_FAILED;