summaryrefslogtreecommitdiff
path: root/src/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/status.c')
-rw-r--r--src/status.c567
1 files changed, 567 insertions, 0 deletions
diff --git a/src/status.c b/src/status.c
new file mode 100644
index 0000000..1762234
--- /dev/null
+++ b/src/status.c
@@ -0,0 +1,567 @@
+/*
+ * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <vconf.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#include "status.h"
+#include "util.h"
+
+int errno;
+
+#define VCONFKEY_REMOTE_LOCK_ISLOCKED "db/private/org.tizen.wfmw/is_locked"
+
+
+
+typedef struct cb_info {
+ status_active_cb func;
+ void *data;
+} cb_info_s;
+
+
+
+static struct status_active_s s_status_active = {
+ .list = {NULL, },
+ .setappl_selected_package_name = NULL,
+ .setappl_screen_lock_type_int = -1,
+ .langset = NULL,
+ .pm_state = -1,
+ .starter_sequence = -1,
+ .sysman_power_off_status = -1,
+};
+
+
+
+static struct status_passive_s s_status_passive = {
+ .wms_wakeup_by_gesture_setting = -1,
+
+ .pm_key_ignore = -1,
+ .call_state = -1,
+ .idle_lock_state = -1,
+ .setappl_password_attempts_left_int = -1,
+ .remote_lock_islocked = -1,
+ .setappl_psmode = -1,
+ .starter_reserved_apps_status = -1,
+ .setappl_sound_lock_bool = -1,
+ .setappl_motion_activation = -1,
+ .setappl_use_pick_up = -1,
+ .setappl_accessibility_lock_time_int = -1,
+ .boot_animation_finished = -1,
+ .setappl_ambient_mode_bool = -1,
+
+ .setappl_3rd_lock_pkg_name_str = NULL,
+};
+
+
+
+status_active_h status_active_get(void)
+{
+ return &s_status_active;
+}
+
+
+
+status_passive_h status_passive_get(void)
+{
+ return &s_status_passive;
+}
+
+
+
+int status_active_register_cb(status_active_key_e key, status_active_cb func, void *data)
+{
+ cb_info_s *info = NULL;
+
+ retv_if(key <= STATUS_ACTIVE_KEY_INVALID, -1);
+ retv_if(key >= STATUS_ACTIVE_KEY_MAX, -1);
+ retv_if(!func, -1);
+
+ info = calloc(1, sizeof(cb_info_s));
+ retv_if(!info, -1);
+
+ info->func = func;
+ info->data = data;
+
+ s_status_active.list[key] = eina_list_append(s_status_active.list[key], info);
+
+ return 0;
+}
+
+
+
+int status_active_unregister_cb(status_active_key_e key, status_active_cb func)
+{
+ const Eina_List *l = NULL;
+ const Eina_List *ln = NULL;
+ cb_info_s *info = NULL;
+
+ retv_if(key <= STATUS_ACTIVE_KEY_INVALID, -1);
+ retv_if(key >= STATUS_ACTIVE_KEY_MAX, -1);
+ retv_if(!func, -1);
+
+ EINA_LIST_FOREACH_SAFE(s_status_active.list[key], l, ln, info) {
+ if (func == info->func) {
+ s_status_active.list[key] = eina_list_remove(s_status_active.list[key], info);
+ free(info);
+ return 0;
+ }
+ }
+
+ _W("We cannot unregister the func. Because the list doesn't have it.");
+
+ return 0;
+}
+
+
+
+static void _status_active_change_cb(keynode_t* node, void *data)
+{
+ const char *key_name = NULL;
+ const Eina_List *l = NULL;
+ cb_info_s *info = NULL;
+
+ ret_if(!node);
+
+ key_name = vconf_keynode_get_name(node);
+ ret_if(!key_name);
+
+ if (!strcmp(key_name, VCONFKEY_PM_STATE)) {
+ s_status_active.pm_state = vconf_keynode_get_int(node);
+ EINA_LIST_FOREACH(s_status_active.list[STATUS_ACTIVE_KEY_PM_STATE], l, info) {
+ continue_if(!info->func);
+ if (0 == info->func(STATUS_ACTIVE_KEY_PM_STATE, info->data)) break;
+ }
+ } else if (!strcmp(key_name, VCONFKEY_SETAPPL_SELECTED_PACKAGE_NAME)) {
+ char *tmp = vconf_keynode_get_str(node);
+ char *a_tmp;
+
+ if (tmp) {
+ a_tmp = strdup(tmp);
+ } else {
+ a_tmp = strdup(HOMESCREEN_PKG_NAME);
+ }
+
+ if (a_tmp) {
+ free(s_status_active.setappl_selected_package_name);
+ s_status_active.setappl_selected_package_name = a_tmp;
+ } else {
+ if (!s_status_active.setappl_selected_package_name) {
+ _E("Package name is NULL, strdup failed");
+ } else {
+ _E("Keep old package. because of strdup\n");
+ }
+ }
+
+ EINA_LIST_FOREACH(s_status_active.list[STATUS_ACTIVE_KEY_SETAPPL_SELECTED_PACKAGE_NAME], l, info) {
+ continue_if(!info->func);
+ if (0 == info->func(STATUS_ACTIVE_KEY_SETAPPL_SELECTED_PACKAGE_NAME, info->data)) break;
+ }
+ } else if (!strcmp(key_name, VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT)) {
+ s_status_active.setappl_screen_lock_type_int = vconf_keynode_get_int(node);
+ EINA_LIST_FOREACH(s_status_active.list[STATUS_ACTIVE_KEY_SETAPPL_SCREEN_LOCK_TYPE_INT], l, info) {
+ continue_if(!info->func);
+ if (0 == info->func(STATUS_ACTIVE_KEY_SETAPPL_SCREEN_LOCK_TYPE_INT, info->data)) break;
+ }
+ } else if (!strcmp(key_name, VCONFKEY_STARTER_SEQUENCE)) {
+ s_status_active.starter_sequence = vconf_keynode_get_int(node);
+ EINA_LIST_FOREACH(s_status_active.list[STATUS_ACTIVE_KEY_STARTER_SEQUENCE], l, info) {
+ continue_if(!info->func);
+ if (0 == info->func(STATUS_ACTIVE_KEY_STARTER_SEQUENCE, info->data)) break;
+ }
+ } else if (!strcmp(key_name, VCONFKEY_SYSMAN_POWER_OFF_STATUS)) {
+ s_status_active.sysman_power_off_status = vconf_keynode_get_int(node);
+ EINA_LIST_FOREACH(s_status_active.list[STATUS_ACTIVE_KEY_SYSMAN_POWER_OFF_STATUS], l, info) {
+ continue_if(!info->func);
+ if (0 == info->func(STATUS_ACTIVE_KEY_SYSMAN_POWER_OFF_STATUS, info->data)) break;
+ }
+ } else if (!strcmp(key_name, VCONFKEY_LANGSET)) {
+ char *tmp = vconf_keynode_get_str(node);
+ free(s_status_active.langset);
+ if (tmp) s_status_active.langset = strdup(tmp);
+ else s_status_active.langset = NULL;
+ EINA_LIST_FOREACH(s_status_active.list[STATUS_ACTIVE_KEY_LANGSET], l, info) {
+ continue_if(!info->func);
+ if (0 == info->func(STATUS_ACTIVE_KEY_LANGSET, info->data)) break;
+ }
+#if 0
+ } else if (!strcmp(key_name, )) {
+ s_status_active. = vconf_keynode_get_int(node);
+ EINA_LIST_FOREACH(s_status_active.list[STATUS_ACTIVE_KEY_], l, info) {
+ continue_if(!info->func);
+ if (0 == info->func(STATUS_ACTIVE_KEY_, info->data)) break;
+ }
+#endif
+ }
+}
+
+
+
+static void _status_passive_change_cb(keynode_t* node, void *data)
+{
+ char *key_name = NULL;
+
+ ret_if(!node);
+
+ key_name = vconf_keynode_get_name(node);
+ ret_if(!key_name);
+
+#ifdef TIZEN_PROFILE_WEARABLE
+ if (!strcmp(key_name, VCONFKEY_WMS_WAKEUP_BY_GESTURE_SETTING)) {
+ s_status_passive.wms_wakeup_by_gesture_setting = vconf_keynode_get_int(node);
+ } else
+#endif
+ if (!strcmp(key_name, VCONFKEY_PM_KEY_IGNORE)) {
+ s_status_passive.pm_key_ignore = vconf_keynode_get_int(node);
+ } else if (!strcmp(key_name, VCONFKEY_CALL_STATE)) {
+ s_status_passive.call_state = vconf_keynode_get_int(node);
+ } else if (!strcmp(key_name, VCONFKEY_IDLE_LOCK_STATE)) {
+ s_status_passive.idle_lock_state = vconf_keynode_get_int(node);
+ } else if (!strcmp(key_name, VCONFKEY_SETAPPL_PASSWORD_ATTEMPTS_LEFT_INT)) {
+ s_status_passive.setappl_password_attempts_left_int = vconf_keynode_get_int(node);
+ } else if (!strcmp(key_name, VCONFKEY_REMOTE_LOCK_ISLOCKED)) {
+ s_status_passive.remote_lock_islocked = vconf_keynode_get_bool(node);
+ } else if (!strcmp(key_name, VCONFKEY_SETAPPL_PSMODE)) {
+ s_status_passive.setappl_psmode = vconf_keynode_get_int(node);
+ } else if (!strcmp(key_name, VCONFKEY_STARTER_RESERVED_APPS_STATUS)) {
+ s_status_passive.starter_reserved_apps_status = vconf_keynode_get_int(node);
+ } else if (!strcmp(key_name, VCONFKEY_BOOT_ANIMATION_FINISHED)) {
+ s_status_passive.boot_animation_finished = vconf_keynode_get_int(node);
+ } else if (!strcmp(key_name, VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL)) {
+ s_status_passive.setappl_ambient_mode_bool = vconf_keynode_get_int(node);
+ } else if (!strcmp(key_name, VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR)) {
+ char *tmp = vconf_keynode_get_str(node);
+ char *a_tmp;
+
+ if (tmp) {
+ a_tmp = strdup(tmp);
+ } else {
+ a_tmp = strdup(STATUS_DEFAULT_LOCK_PKG_NAME);
+ }
+
+ if (a_tmp) {
+ free(s_status_passive.setappl_3rd_lock_pkg_name_str);
+ s_status_passive.setappl_3rd_lock_pkg_name_str = a_tmp;
+ } else {
+ if (!s_status_passive.setappl_3rd_lock_pkg_name_str) {
+ _E("Package name is NULL, strdup failed");
+ } else {
+ _E("Keep old package. because of strdup\n");
+ }
+ }
+
+#if 0
+ } else if (!strcmp(key_name, )) {
+ s_status_passive. = vconf_keynode_get_int(node);
+#endif
+ }
+}
+
+
+
+int status_register(void)
+{
+ _W("Register every events for Starter");
+
+ /* Active events */
+ if (vconf_notify_key_changed(VCONFKEY_PM_STATE, _status_active_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_PM_STATE);
+ } else if (vconf_get_int(VCONFKEY_PM_STATE, &s_status_active.pm_state) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_PM_STATE);
+ s_status_active.pm_state = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_SELECTED_PACKAGE_NAME, _status_active_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_SETAPPL_SELECTED_PACKAGE_NAME);
+ }
+ if (!(s_status_active.setappl_selected_package_name = vconf_get_str(VCONFKEY_SETAPPL_SELECTED_PACKAGE_NAME))) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_SELECTED_PACKAGE_NAME);
+ s_status_active.setappl_selected_package_name = strdup(HOMESCREEN_PKG_NAME);
+ if (!s_status_active.setappl_selected_package_name) {
+ _E("Failed to duplicate string");
+ }
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, _status_active_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT);
+ } else if (vconf_get_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, &s_status_active.setappl_screen_lock_type_int) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT);
+ s_status_active.setappl_screen_lock_type_int = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_STARTER_SEQUENCE, _status_active_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_STARTER_SEQUENCE);
+ } else if (vconf_get_int(VCONFKEY_STARTER_SEQUENCE, &s_status_active.starter_sequence) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_STARTER_SEQUENCE);
+ s_status_active.starter_sequence = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SYSMAN_POWER_OFF_STATUS, _status_active_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_SYSMAN_POWER_OFF_STATUS);
+ } else if (vconf_get_int(VCONFKEY_SYSMAN_POWER_OFF_STATUS, &s_status_active.sysman_power_off_status ) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SYSMAN_POWER_OFF_STATUS);
+ s_status_active.sysman_power_off_status = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_LANGSET, _status_active_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_LANGSET);
+ } else if (!(s_status_active.langset = vconf_get_str(VCONFKEY_LANGSET))) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_LANGSET);
+ }
+
+#if 0
+ if (vconf_notify_key_changed(, _status_active_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", );
+ } else if (vconf_get_int(, &s_status_active.) < 0) {
+ _E("Failed to get vconfkey[%s]", );
+ s_status_active. = -1;
+ }
+#endif
+
+ /* Passive events */
+#ifdef TIZEN_PROFILE_WEARABLE
+ if (vconf_notify_key_changed(VCONFKEY_WMS_WAKEUP_BY_GESTURE_SETTING, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_WMS_WAKEUP_BY_GESTURE_SETTING);
+ } else if (vconf_get_int(VCONFKEY_WMS_WAKEUP_BY_GESTURE_SETTING, &s_status_passive.wms_wakeup_by_gesture_setting) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_WMS_WAKEUP_BY_GESTURE_SETTING);
+ s_status_passive.wms_wakeup_by_gesture_setting = -1;
+ }
+#endif
+
+ if (vconf_notify_key_changed(VCONFKEY_PM_KEY_IGNORE, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_PM_KEY_IGNORE);
+ } else if (vconf_get_int(VCONFKEY_PM_KEY_IGNORE, &s_status_passive.pm_key_ignore) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_PM_KEY_IGNORE);
+ s_status_passive.pm_key_ignore = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_CALL_STATE, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_CALL_STATE);
+ } else if (vconf_get_int(VCONFKEY_CALL_STATE, &s_status_passive.call_state) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_CALL_STATE);
+ s_status_passive.call_state = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_IDLE_LOCK_STATE, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to regsiter add the callback for %s", VCONFKEY_IDLE_LOCK_STATE);
+ } else if (vconf_get_int(VCONFKEY_IDLE_LOCK_STATE, &s_status_passive.idle_lock_state) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_IDLE_LOCK_STATE);
+ s_status_passive.idle_lock_state = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_PASSWORD_ATTEMPTS_LEFT_INT, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_SETAPPL_PASSWORD_ATTEMPTS_LEFT_INT);
+ } else if (vconf_get_int(VCONFKEY_SETAPPL_PASSWORD_ATTEMPTS_LEFT_INT, &s_status_passive.setappl_password_attempts_left_int) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_PASSWORD_ATTEMPTS_LEFT_INT);
+ s_status_passive.setappl_password_attempts_left_int = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_REMOTE_LOCK_ISLOCKED, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_REMOTE_LOCK_ISLOCKED);
+ } else if (vconf_get_bool(VCONFKEY_REMOTE_LOCK_ISLOCKED, &s_status_passive.remote_lock_islocked) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_REMOTE_LOCK_ISLOCKED);
+ s_status_passive.remote_lock_islocked = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_PSMODE, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_SETAPPL_PSMODE);
+ } else if (vconf_get_int(VCONFKEY_SETAPPL_PSMODE, &s_status_passive.setappl_psmode) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_PSMODE);
+ s_status_passive.setappl_psmode = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_STARTER_RESERVED_APPS_STATUS, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_STARTER_RESERVED_APPS_STATUS);
+ } else if (vconf_get_int(VCONFKEY_STARTER_RESERVED_APPS_STATUS, &s_status_passive.starter_reserved_apps_status) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_STARTER_RESERVED_APPS_STATUS);
+ s_status_passive.starter_reserved_apps_status = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_SOUND_LOCK_BOOL, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_SETAPPL_SOUND_LOCK_BOOL);
+ } else if (vconf_get_bool(VCONFKEY_SETAPPL_SOUND_LOCK_BOOL, &s_status_passive.setappl_sound_lock_bool) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_SOUND_LOCK_BOOL);
+ s_status_passive.setappl_sound_lock_bool = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_MOTION_ACTIVATION, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to regitster add the callback for %s", VCONFKEY_SETAPPL_MOTION_ACTIVATION);
+ } else if (vconf_get_bool(VCONFKEY_SETAPPL_MOTION_ACTIVATION, &s_status_passive.setappl_motion_activation) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_MOTION_ACTIVATION);
+ s_status_passive.setappl_motion_activation = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_USE_PICK_UP, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to regitster add the callback for %s", VCONFKEY_SETAPPL_USE_PICK_UP);
+ } else if (vconf_get_bool(VCONFKEY_SETAPPL_USE_PICK_UP, &s_status_passive.setappl_use_pick_up) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_USE_PICK_UP);
+ s_status_passive.setappl_use_pick_up = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_LOCK_TIME_INT, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_SETAPPL_ACCESSIBILITY_LOCK_TIME_INT);
+ } else if (vconf_get_int(VCONFKEY_SETAPPL_ACCESSIBILITY_LOCK_TIME_INT, &s_status_passive.setappl_accessibility_lock_time_int) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_ACCESSIBILITY_LOCK_TIME_INT);
+ s_status_passive.setappl_accessibility_lock_time_int = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_BOOT_ANIMATION_FINISHED, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_BOOT_ANIMATION_FINISHED);
+ } else if (vconf_get_int(VCONFKEY_BOOT_ANIMATION_FINISHED, &s_status_passive.boot_animation_finished) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_BOOT_ANIMATION_FINISHED);
+ s_status_passive.boot_animation_finished = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL);
+ } else if (vconf_get_int(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, &s_status_passive.setappl_ambient_mode_bool) < 0) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL);
+ s_status_passive.setappl_ambient_mode_bool = -1;
+ }
+
+ if (vconf_notify_key_changed(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR);
+ }
+
+ if (!(s_status_passive.setappl_3rd_lock_pkg_name_str = vconf_get_str(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR))) {
+ _E("Failed to get vconfkey[%s]", VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR);
+ s_status_passive.setappl_3rd_lock_pkg_name_str = strdup(STATUS_DEFAULT_LOCK_PKG_NAME);
+ if (!s_status_passive.setappl_3rd_lock_pkg_name_str) {
+ _E("Failed to allocate string for 3rd lock %d\n", errno);
+ }
+ }
+
+#if 0
+ if (vconf_notify_key_changed(, _status_passive_change_cb, NULL) < 0) {
+ _E("Failed to register add the callback for %s", );
+ } else if (vconf_get_int(, &s_status_passive.) < 0) {
+ _E("Failed to get vconfkey[%s]", );
+ s_status_passive. = -1;
+ }
+#endif
+
+ return 0;
+}
+
+
+
+void status_unregister(void)
+{
+ /* Active events */
+ if (vconf_ignore_key_changed(VCONFKEY_PM_STATE, _status_active_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_PM_STATE);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_SELECTED_PACKAGE_NAME, _status_active_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SETAPPL_SELECTED_PACKAGE_NAME);
+ }
+ free(s_status_active.setappl_selected_package_name);
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, _status_active_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_STARTER_SEQUENCE, _status_active_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_STARTER_SEQUENCE);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SYSMAN_POWER_OFF_STATUS, _status_active_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SYSMAN_POWER_OFF_STATUS);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_LANGSET, _status_active_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_LANGSET);
+ }
+ free(s_status_active.langset);
+
+#if 0
+ if (vconf_ignore_key_changed(, _status_active_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", );
+ }
+#endif
+
+ /* Passive events */
+#ifdef TIZEN_PROFILE_WEARABLE
+ if (vconf_ignore_key_changed(VCONFKEY_WMS_WAKEUP_BY_GESTURE_SETTING, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_WMS_WAKEUP_BY_GESTURE_SETTING);
+ }
+#endif
+
+ if (vconf_ignore_key_changed(VCONFKEY_PM_KEY_IGNORE, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_PM_KEY_IGNORE);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_CALL_STATE, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_CALL_STATE);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_IDLE_LOCK_STATE, _status_passive_change_cb) < 0) {
+ _E("Faield to unregister the callback for %s", VCONFKEY_IDLE_LOCK_STATE);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_PASSWORD_ATTEMPTS_LEFT_INT, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SETAPPL_PASSWORD_ATTEMPTS_LEFT_INT);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_REMOTE_LOCK_ISLOCKED, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_REMOTE_LOCK_ISLOCKED);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_PSMODE, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SETAPPL_PSMODE);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_STARTER_RESERVED_APPS_STATUS, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_STARTER_RESERVED_APPS_STATUS);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_SOUND_LOCK_BOOL, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SETAPPL_SOUND_LOCK_BOOL);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_MOTION_ACTIVATION, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SETAPPL_MOTION_ACTIVATION);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_USE_PICK_UP, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SETAPPL_USE_PICK_UP);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_LOCK_TIME_INT, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SETAPPL_ACCESSIBILITY_LOCK_TIME_INT);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_BOOT_ANIMATION_FINISHED, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_BOOT_ANIMATION_FINISHED);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL);
+ }
+
+ if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister ther callback for %s", VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR);
+ }
+ free(s_status_passive.setappl_3rd_lock_pkg_name_str);
+
+#if 0
+ if (vconf_ignore_key_changed(, _status_passive_change_cb) < 0) {
+ _E("Failed to unregister the callback for %s", );
+ }
+#endif
+}
+