add API (sys_set_power_lock, sys_get_power_lock_support)
authorjihye kim <jihye1128.kim@samsung.com>
Tue, 18 Dec 2012 05:01:23 +0000 (14:01 +0900)
committerjihye kim <jihye1128.kim@samsung.com>
Tue, 18 Dec 2012 05:19:16 +0000 (14:19 +0900)
include/devman_define_node_path.h
include/devman_plugin_intf.h
packaging/device-manager-plugin-maru.spec
src/device_manager_plugin_maru.c

index 4df6558..35a4584 100644 (file)
@@ -39,6 +39,8 @@
 #define LEDS_TORCH_BRIGHTNESS_PATH     "/sys/class/leds/leds-torch/brightness"
 
 #define POWER_STATE_PATH               "/sys/power/state"
+#define POWER_UNLOCK_PATH              "/sys/power/wake_unlock"
+#define POWER_LOCK_PATH                        "/sys/power/wake_lock"
 #define POWER_WAKEUP_COUNT_PATH                "/sys/power/wakeup_count"
 
 #define MEMNOTIFY_NODE                 "/dev/memnotify"
index bc0f03e..5ec5680 100644 (file)
@@ -58,6 +58,11 @@ enum {
        POWER_STATE_SUSPEND     = 0,
 };
 
+enum {
+       POWER_UNLOCK    = 0,
+       POWER_LOCK,
+};
+
 typedef struct {
        int     (*OEM_sys_get_display_count) (int *value);
 
@@ -127,6 +132,8 @@ typedef struct {
 
        /* TODO: Change args type */
        int     (*OEM_sys_set_power_state) (int value);
+       int     (*OEM_sys_set_power_lock) (int value);
+       int     (*OEM_sys_get_power_lock_support)(int *value);
 
        /* TODO: Should determine enum values of wakeup_count nodes */
        int     (*OEM_sys_get_power_wakeup_count) (int *value);
index f9c0b7b..42d20e2 100644 (file)
@@ -1,6 +1,6 @@
 Name:       device-manager-plugin-maru
 Summary:    device-manager-plugin-maru
-Version: 0.0.12
+Version: 0.0.13
 Release:    1
 Group:      TO_BE/FILLED_IN
 License:    TO_BE/FILLED_IN
index 2be0c41..d659143 100644 (file)
@@ -642,6 +642,40 @@ int OEM_sys_set_power_state(int value)
        return -1;
 }
 
+int OEM_sys_set_power_lock(int value)
+{
+       static int power_lock_state=-1;
+
+       if(power_lock_state == value)
+               return -1;
+       else
+               power_lock_state = value;
+
+       switch (value) {
+       case POWER_UNLOCK:
+               return sys_set_str(POWER_UNLOCK_PATH, "mainlock");
+       case POWER_LOCK:
+               return sys_set_str(POWER_LOCK_PATH, "mainlock");
+       }
+
+       return 0;
+}
+
+int OEM_sys_get_power_lock_support(int *value)
+{
+       int err = -1;
+
+       err = sys_check_node(POWER_LOCK_PATH);
+       if (err == -1) {
+               devmgr_log("power lock node not found");
+               *value = 0;
+       }
+       else
+               *value = 1;
+
+       return 0;
+}
+
 GENERATE_ACCESSORS_INT_RW(power_wakeup_count, POWER_WAKEUP_COUNT_PATH)
 
 GENERATE_ACCESSORS_INT_W(memnotify_threshold_lv1, MEMNOTIFY_THRESHOLD_LV1_PATH)
@@ -957,6 +991,8 @@ EXPORT_API const OEM_sys_devman_plugin_interface *OEM_sys_get_devman_plugin_inte
        devman_plugin_interface_emul.OEM_sys_set_leds_torch_brightness = &OEM_sys_set_leds_torch_brightness;
 
        devman_plugin_interface_emul.OEM_sys_set_power_state = &OEM_sys_set_power_state;
+       devman_plugin_interface_emul.OEM_sys_set_power_lock = &OEM_sys_set_power_lock;
+       devman_plugin_interface_emul.OEM_sys_get_power_lock_support = &OEM_sys_get_power_lock_support;
 
        /* TODO: Should determine enum values of wakeup_count nodes */
        devman_plugin_interface_emul.OEM_sys_get_power_wakeup_count = &OEM_sys_get_power_wakeup_count;