Generate signal about power lock/unlock information 15/223615/5
authorYoungjae Cho <y0.cho@samsung.com>
Fri, 31 Jan 2020 07:24:20 +0000 (16:24 +0900)
committerYoungjae Cho <y0.cho@samsung.com>
Mon, 3 Feb 2020 04:38:50 +0000 (13:38 +0900)
Change-Id: I75b2a36ff57243bf13a8d6bcd8047d40a015939f
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
plugins/iot/display/core.c
plugins/mobile/display/core.c
plugins/tv/display/core.c
plugins/wearable/display/core.c

index 924e0ad..2aeb2bd 100644 (file)
@@ -38,6 +38,7 @@
 #include <fnmatch.h>
 #include <vconf-keys.h>
 #include <sys/time.h>
+#include <device/power.h>
 
 #include "ambient-mode.h"
 #include "util.h"
@@ -1090,7 +1091,7 @@ static void broadcast_pm_suspend(void)
                                                        DEVICED_PATH_DISPLAY,
                                                        DEVICED_INTERFACE_DISPLAY,
                                                        "sleep",
-                                                       g_variant_new("(t)", (guint64)now));;
+                                                       g_variant_new("(t)", (guint64)now));
        if (ret < 0)
                _E("Failed to send dbus signal sleep.");
 }
@@ -1418,9 +1419,10 @@ static void proc_condition_lock(PMMsg *data)
        char pname[PATH_MAX];
        pid_t pid = data->pid;
        enum state_t state;
-       int holdkey_block;
+       int holdkey_block, ret;
        bool value = true;
        unsigned int flags;
+       power_lock_e lock_type;
 
        state = GET_COND_STATE(data->cond);
        if (state == S_START)
@@ -1460,6 +1462,25 @@ static void proc_condition_lock(PMMsg *data)
 
        _I("[%s] locked by %5d with %u ms", states[state].name, pid, data->timeout);
        /* for debug */
+       if (state == S_LCDOFF)
+               lock_type = POWER_LOCK_CPU;
+       else if (state == S_LCDDIM)
+               lock_type = POWER_LOCK_DISPLAY_DIM;
+       else if (state == S_NORMAL)
+               lock_type = POWER_LOCK_DISPLAY;
+       else
+               goto skip_broadcast_signal;
+
+       /* power lock signal */
+       ret = dbus_handle_emit_dbus_signal(NULL,
+                       DEVICED_PATH_DISPLAY,
+                       DEVICED_INTERFACE_DISPLAY,
+                       "PowerLock",
+                       g_variant_new("(iii)", lock_type, pid, (int)data->timeout));
+       if (ret < 0)
+               _E("Failed to send dbus signal PowerLock.");
+
+skip_broadcast_signal:
        _SD("be requested LOCK info pname(%s), holdkeyblock(%d) flags(%d)",
            pname, holdkey_block, flags);
        set_lock_time(pid, pname, state);
@@ -1475,6 +1496,8 @@ static void proc_condition_unlock(PMMsg *data)
        char pname[PATH_MAX];
        bool value = false;
        unsigned int flags;
+       int ret;
+       power_lock_e lock_type;
 
        state = GET_COND_STATE(data->cond);
        if (!state)
@@ -1491,6 +1514,25 @@ static void proc_condition_unlock(PMMsg *data)
 
        _I("[%s] unlocked by %5d", states[state].name, pid);
        /* for debug */
+       if (state == S_LCDOFF)
+               lock_type = POWER_LOCK_CPU;
+       else if (state == S_LCDDIM)
+               lock_type = POWER_LOCK_DISPLAY_DIM;
+       else if (state == S_NORMAL)
+               lock_type = POWER_LOCK_DISPLAY;
+       else
+               goto skip_broadcast_signal;
+
+       /* power unlock signal */
+       ret = dbus_handle_emit_dbus_signal(NULL,
+                       DEVICED_PATH_DISPLAY,
+                       DEVICED_INTERFACE_DISPLAY,
+                       "PowerUnlock",
+                       g_variant_new("(iii)", lock_type, pid, (int)data->timeout));
+       if (ret < 0)
+               _E("Failed to send dbus signal PowerUnlock.");
+
+skip_broadcast_signal:
        _SD("be requested UNLOCK info pname(%s) flag(%d)", pname, flags);
        set_unlock_time(pid, state);
 
index c1cb0f2..13d48e2 100644 (file)
@@ -38,6 +38,7 @@
 #include <fnmatch.h>
 #include <vconf-keys.h>
 #include <sys/time.h>
+#include <device/power.h>
 
 #include "ambient-mode.h"
 #include "util.h"
@@ -1428,9 +1429,10 @@ static void proc_condition_lock(PMMsg *data)
        char pname[PATH_MAX];
        pid_t pid = data->pid;
        enum state_t state;
-       int holdkey_block;
+       int holdkey_block,ret;
        bool value = true;
        unsigned int flags;
+       power_lock_e lock_type;
 
        state = GET_COND_STATE(data->cond);
        if (state == S_START)
@@ -1470,6 +1472,25 @@ static void proc_condition_lock(PMMsg *data)
 
        _I("[%s] locked by %5d with %u ms", states[state].name, pid, data->timeout);
        /* for debug */
+       if (state == S_LCDOFF)
+               lock_type = POWER_LOCK_CPU;
+       else if (state == S_LCDDIM)
+               lock_type = POWER_LOCK_DISPLAY_DIM;
+       else if (state == S_NORMAL)
+               lock_type = POWER_LOCK_DISPLAY;
+       else
+               goto skip_broadcast_signal;
+
+       /* power lock signal */
+       ret = dbus_handle_emit_dbus_signal(NULL,
+                       DEVICED_PATH_DISPLAY,
+                       DEVICED_INTERFACE_DISPLAY,
+                       "PowerLock",
+                       g_variant_new("(iii)", lock_type, pid, (int)data->timeout));
+       if (ret < 0)
+               _E("Failed to send dbus signal PowerLock.");
+
+skip_broadcast_signal:
        _SD("be requested LOCK info pname(%s), holdkeyblock(%d) flags(%d)",
            pname, holdkey_block, flags);
        set_lock_time(pid, pname, state);
@@ -1485,6 +1506,8 @@ static void proc_condition_unlock(PMMsg *data)
        char pname[PATH_MAX];
        bool value = false;
        unsigned int flags;
+       int ret;
+       power_lock_e lock_type;
 
        state = GET_COND_STATE(data->cond);
        if (!state)
@@ -1501,6 +1524,25 @@ static void proc_condition_unlock(PMMsg *data)
 
        _I("[%s] unlocked by %5d", states[state].name, pid);
        /* for debug */
+       if (state == S_LCDOFF)
+               lock_type = POWER_LOCK_CPU;
+       else if (state == S_LCDDIM)
+               lock_type = POWER_LOCK_DISPLAY_DIM;
+       else if (state == S_NORMAL)
+               lock_type = POWER_LOCK_DISPLAY;
+       else
+               goto skip_broadcast_signal;
+
+       /* power unlock signal */
+       ret = dbus_handle_emit_dbus_signal(NULL,
+                       DEVICED_PATH_DISPLAY,
+                       DEVICED_INTERFACE_DISPLAY,
+                       "PowerUnlock",
+                       g_variant_new("(iii)", lock_type, pid, (int)data->timeout));
+       if (ret < 0)
+               _E("Failed to send dbus signal PowerUnlock.");
+
+skip_broadcast_signal:
        _SD("be requested UNLOCK info pname(%s) flag(%d)", pname, flags);
        set_unlock_time(pid, state);
 
index 246eaff..a2e3199 100644 (file)
@@ -38,6 +38,7 @@
 #include <fnmatch.h>
 #include <vconf-keys.h>
 #include <sys/time.h>
+#include <device/power.h>
 
 #include "ambient-mode.h"
 #include "util.h"
@@ -1415,9 +1416,10 @@ static void proc_condition_lock(PMMsg *data)
        char pname[PATH_MAX];
        pid_t pid = data->pid;
        enum state_t state;
-       int holdkey_block;
+       int holdkey_block, ret;
        bool value = true;
        unsigned int flags;
+       power_lock_e lock_type;
 
        state = GET_COND_STATE(data->cond);
        if (state == S_START)
@@ -1457,6 +1459,25 @@ static void proc_condition_lock(PMMsg *data)
 
        _I("[%s] locked by %5d with %u ms", states[state].name, pid, data->timeout);
        /* for debug */
+       if (state == S_LCDOFF)
+               lock_type = POWER_LOCK_CPU;
+       else if (state == S_LCDDIM)
+               lock_type = POWER_LOCK_DISPLAY_DIM;
+       else if (state == S_NORMAL)
+               lock_type = POWER_LOCK_DISPLAY;
+       else
+               goto skip_broadcast_signal;
+
+       /* power lock signal */
+       ret = dbus_handle_emit_dbus_signal(NULL,
+                       DEVICED_PATH_DISPLAY,
+                       DEVICED_INTERFACE_DISPLAY,
+                       "PowerLock",
+                       g_variant_new("(iii)", lock_type, pid, (int)data->timeout));
+       if (ret < 0)
+               _E("Failed to send dbus signal PowerLock.");
+
+skip_broadcast_signal:
        _SD("be requested LOCK info pname(%s), holdkeyblock(%d) flags(%d)",
            pname, holdkey_block, flags);
        set_lock_time(pid, pname, state);
@@ -1472,6 +1493,8 @@ static void proc_condition_unlock(PMMsg *data)
        char pname[PATH_MAX];
        bool value = false;
        unsigned int flags;
+       int ret;
+       power_lock_e lock_type;
 
        state = GET_COND_STATE(data->cond);
        if (!state)
@@ -1488,6 +1511,25 @@ static void proc_condition_unlock(PMMsg *data)
 
        _I("[%s] unlocked by %5d", states[state].name, pid);
        /* for debug */
+       if (state == S_LCDOFF)
+               lock_type = POWER_LOCK_CPU;
+       else if (state == S_LCDDIM)
+               lock_type = POWER_LOCK_DISPLAY_DIM;
+       else if (state == S_NORMAL)
+               lock_type = POWER_LOCK_DISPLAY;
+       else
+               goto skip_broadcast_signal;
+
+       /* power unlock signal */
+       ret = dbus_handle_emit_dbus_signal(NULL,
+                       DEVICED_PATH_DISPLAY,
+                       DEVICED_INTERFACE_DISPLAY,
+                       "PowerUnlock",
+                       g_variant_new("(iii)", lock_type, pid, (int)data->timeout));
+       if (ret < 0)
+               _E("Failed to send dbus signal PowerUnlock.");
+
+skip_broadcast_signal:
        _SD("be requested UNLOCK info pname(%s) flag(%d)", pname, flags);
        set_unlock_time(pid, state);
 
index cfcc225..4494908 100644 (file)
@@ -38,6 +38,7 @@
 #include <fnmatch.h>
 #include <vconf-keys.h>
 #include <sys/time.h>
+#include <device/power.h>
 
 #include "ambient-mode.h"
 #include "util.h"
@@ -1438,9 +1439,10 @@ static void proc_condition_lock(PMMsg *data)
        char pname[PATH_MAX];
        pid_t pid = data->pid;
        enum state_t state;
-       int holdkey_block;
+       int holdkey_block, ret;
        bool value = true;
        unsigned int flags;
+       power_lock_e lock_type;
 
        state = GET_COND_STATE(data->cond);
        if (state == S_START)
@@ -1480,6 +1482,25 @@ static void proc_condition_lock(PMMsg *data)
 
        _I("[%s] locked by %5d with %u ms", states[state].name, pid, data->timeout);
        /* for debug */
+       if (state == S_LCDOFF)
+               lock_type = POWER_LOCK_CPU;
+       else if (state == S_LCDDIM)
+               lock_type = POWER_LOCK_DISPLAY_DIM;
+       else if (state == S_NORMAL)
+               lock_type = POWER_LOCK_DISPLAY;
+       else
+               goto skip_broadcast_signal;
+
+       /* power lock signal */
+       ret = dbus_handle_emit_dbus_signal(NULL,
+                       DEVICED_PATH_DISPLAY,
+                       DEVICED_INTERFACE_DISPLAY,
+                       "PowerLock",
+                       g_variant_new("(iii)", lock_type, pid, (int)data->timeout));
+       if (ret < 0)
+               _E("Failed to send dbus signal PowerLock.");
+
+skip_broadcast_signal:
        _SD("be requested LOCK info pname(%s), holdkeyblock(%d) flags(%d)",
            pname, holdkey_block, flags);
        set_lock_time(pid, pname, state);
@@ -1495,6 +1516,8 @@ static void proc_condition_unlock(PMMsg *data)
        char pname[PATH_MAX];
        bool value = false;
        unsigned int flags;
+       int ret;
+       power_lock_e lock_type;
 
        state = GET_COND_STATE(data->cond);
        if (!state)
@@ -1511,6 +1534,25 @@ static void proc_condition_unlock(PMMsg *data)
 
        _I("[%s] unlocked by %5d", states[state].name, pid);
        /* for debug */
+       if (state == S_LCDOFF)
+               lock_type = POWER_LOCK_CPU;
+       else if (state == S_LCDDIM)
+               lock_type = POWER_LOCK_DISPLAY_DIM;
+       else if (state == S_NORMAL)
+               lock_type = POWER_LOCK_DISPLAY;
+       else
+               goto skip_broadcast_signal;
+
+       /* power unlock signal */
+       ret = dbus_handle_emit_dbus_signal(NULL,
+                       DEVICED_PATH_DISPLAY,
+                       DEVICED_INTERFACE_DISPLAY,
+                       "PowerUnlock",
+                       g_variant_new("(iii)", lock_type, pid, (int)data->timeout));
+       if (ret < 0)
+               _E("Failed to send dbus signal PowerUnlock.");
+
+skip_broadcast_signal:
        _SD("be requested UNLOCK info pname(%s) flag(%d)", pname, flags);
        set_unlock_time(pid, state);