Initial refactoring merge 98/19098/1 accepted/tizen_3.0.2014.q3_common accepted/tizen_3.0.m14.3_ivi accepted/tizen_generic accepted/tizen_ivi_panda tizen_3.0.2014.q3_common tizen_3.0.2014.q4_common tizen_3.0.2015.q1_common tizen_3.0.m14.2_ivi tizen_3.0.m14.3_ivi tizen_3.0_ivi accepted/tizen/generic/20140408.094913 accepted/tizen/ivi/20140410.192358 accepted/tizen/ivi/panda/20140408.203147 accepted/tizen/mobile/20140409.082555 submit/tizen/20140408.080635 submit/tizen_mobile/20141120.000000 tizen_3.0.2014.q3_common_release tizen_3.0.m14.2_ivi_release tizen_3.0.m14.3_ivi_release tizen_3.0_ivi_release
authorDongchul Lim <dc7.lim@samsung.com>
Mon, 7 Apr 2014 10:53:55 +0000 (19:53 +0900)
committerDongchul Lim <dc7.lim@samsung.com>
Mon, 7 Apr 2014 10:54:16 +0000 (19:54 +0900)
Change-Id: I680d9ad2048bb30be725bcf523aaa69ab0c04e61

AUTHORS [deleted file]
CMakeLists.txt
packaging/tel-plugin-vconf.spec
src/desc-vconf.c

diff --git a/AUTHORS b/AUTHORS
deleted file mode 100644 (file)
index 0e9faa9..0000000
--- a/AUTHORS
+++ /dev/null
@@ -1,6 +0,0 @@
-Jongman Park <jman.park@samsung.com>
-Ja-young Gu <jygu@samsung.com>
-Kyeongchul Kim <kyeongchul.kim@samsung.com>
-DongHoo Park <donghoo.park@samsung.>
-Youngman Park <youngman.park@samsung.com>
-Inho Oh <inho48.oh@samsung.com>
index 60b45a3..fe204c8 100644 (file)
@@ -20,7 +20,7 @@ ENDFOREACH(flag)
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/)
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align")
 
 ADD_DEFINITIONS("-DFEATURE_DLOG_DEBUG")
 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"TEL_PLUGIN_VCONF\"")
index 26302f3..8b06f64 100644 (file)
@@ -1,6 +1,7 @@
-%define major 0
-%define minor 1
-%define patchlevel 32
+%define major 3
+%define minor 0
+%define patchlevel 1
+
 Name:       tel-plugin-vconf
 Summary:    Telephony Vconf storage plugin
 Version:    %{major}.%{minor}.%{patchlevel}
@@ -58,14 +59,8 @@ vconftool set -t int memory/telephony/call_state 0 -i -f
 vconftool set -t int db/telephony/call_forward_state 0 -i -f
 vconftool set -t int memory/telephony/tapi_state 0 -i -f
 vconftool set -t int memory/telephony/spn_disp_condition 0 -i -f
-vconftool set -t int memory/telephony/zuhause_zone 0 -i -f
 vconftool set -t string memory/telephony/spn "" -i -f
 vconftool set -t string memory/telephony/nw_name "" -i -f
-vconftool set -t string memory/telephony/imei "" -i -f
-vconftool set -t string memory/telephony/szSubscriberNumber "" -i -f
-vconftool set -t string memory/telephony/szSWVersion "" -i -f
-vconftool set -t string memory/telephony/szHWVersion "" -i -f
-vconftool set -t string db/private/tel-plugin-vconf/imsi "" -f
 vconftool set -t int db/telephony/emergency 0 -i -f
 vconftool set -t bool memory/telephony/telephony_ready 0 -i -f
 vconftool set -t int memory/telephony/nitz_gmt 0 -i -f
index 0ec4f55..f32379c 100644 (file)
@@ -1,9 +1,7 @@
 /*
  * tel-plugin-vconf
  *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
+ * Copyright (c) 2013 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.
  * limitations under the License.
  */
 
-#include <stdio.h>
-#include <string.h>
-#include <pthread.h>
-#include <unistd.h>
 #include <stdlib.h>
-#include <time.h>
-
 #include <glib.h>
 #include <vconf.h>
 
@@ -33,6 +25,7 @@
 #include <plugin.h>
 #include <storage.h>
 #include <co_network.h>
+#include <co_sim.h>
 
 #ifndef PLUGIN_VERSION
 #define PLUGIN_VERSION 1
@@ -42,432 +35,301 @@ static void reset_vconf();
 
 static TcoreStorageDispatchCallback callback_dispatch;
 
-static const gchar* convert_strgkey_to_vconf(enum tcore_storage_key key)
+static const gchar *convert_strgkey_to_vconf(TcoreStorageKey key)
 {
        switch (key) {
-               case STORAGE_KEY_TELEPHONY_PLMN:
-                       return VCONFKEY_TELEPHONY_PLMN;
-               case STORAGE_KEY_TELEPHONY_LAC:
-                       return VCONFKEY_TELEPHONY_LAC;
-               case STORAGE_KEY_TELEPHONY_CELLID:
-                       return VCONFKEY_TELEPHONY_CELLID;
-               case STORAGE_KEY_TELEPHONY_SVCTYPE:
-                       return VCONFKEY_TELEPHONY_SVCTYPE;
-               case STORAGE_KEY_TELEPHONY_SVC_CS:
-                       return VCONFKEY_TELEPHONY_SVC_CS;
-               case STORAGE_KEY_TELEPHONY_SVC_PS:
-                       return VCONFKEY_TELEPHONY_SVC_PS;
-               case STORAGE_KEY_TELEPHONY_SVC_ROAM:
-                       return VCONFKEY_TELEPHONY_SVC_ROAM;
-               case STORAGE_KEY_TELEPHONY_SIM_PB_INIT:
-                       return VCONFKEY_TELEPHONY_SIM_PB_INIT;
-               case STORAGE_KEY_TELEPHONY_CALL_STATE:
-                       return VCONFKEY_TELEPHONY_CALL_STATE;
-               case STORAGE_KEY_TELEPHONY_CALL_FORWARD_STATE:
-                       return VCONFKEY_TELEPHONY_CALL_FORWARD_STATE;
-               case STORAGE_KEY_TELEPHONY_TAPI_STATE:
-                       return VCONFKEY_TELEPHONY_TAPI_STATE;
-               case STORAGE_KEY_TELEPHONY_SPN_DISP_CONDITION:
-                       return VCONFKEY_TELEPHONY_SPN_DISP_CONDITION;
-               case STORAGE_KEY_TELEPHONY_ZONE_ZUHAUSE:
-                       return VCONFKEY_TELEPHONY_ZONE_ZUHAUSE;
-               case STORAGE_KEY_TELEPHONY_RSSI:
-                       return VCONFKEY_TELEPHONY_RSSI;
-               case STORAGE_KEY_TELEPHONY_READY:
-                       return VCONFKEY_TELEPHONY_READY;
-               case STORAGE_KEY_TELEPHONY_SIM_SLOT:
-                       return VCONFKEY_TELEPHONY_SIM_SLOT;
-               case STORAGE_KEY_PM_STATE:
-                       return VCONFKEY_PM_STATE;
-               case STORAGE_KEY_PACKET_SERVICE_STATE:
-                       return VCONFKEY_DNET_STATE;
-               case STORAGE_KEY_PACKET_INDICATOR_STATE:
-                       return VCONFKEY_PACKET_STATE;
-               case STORAGE_KEY_MESSAGE_NETWORK_MODE:
-                       return VCONFKEY_MESSAGE_NETWORK_MODE;
-               case STORAGE_KEY_3G_ENABLE:
-                       return VCONFKEY_3G_ENABLE;
-               case STORAGE_KEY_SETAPPL_STATE_DATA_ROAMING_BOOL:
-                       return VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL;
-               case STORAGE_KEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL:
-                       return VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL;
-               case STORAGE_KEY_TELEPHONY_NWNAME:
-                       return VCONFKEY_TELEPHONY_NWNAME;
-               case STORAGE_KEY_TELEPHONY_SPN_NAME:
-                       return VCONFKEY_TELEPHONY_SPN_NAME;
-               case STORAGE_KEY_TELEPHONY_IMEI:
-                       return VCONFKEY_TELEPHONY_IMEI;
-               case STORAGE_KEY_TELEPHONY_SUBSCRIBER_NUMBER:
-                       return VCONFKEY_TELEPHONY_SUBSCRIBER_NUMBER;
-               case STORAGE_KEY_TELEPHONY_SWVERSION:
-                       return VCONFKEY_TELEPHONY_SWVERSION;
-               case STORAGE_KEY_TELEPHONY_HWVERSION:
-                       return VCONFKEY_TELEPHONY_HWVERSION;
-               case STORAGE_KEY_TELEPHONY_IMEI_FACTORY_REBOOT:
-                       return VCONFKEY_TELEPHONY_IMEI_FACTORY_REBOOT;
-               case STORAGE_KEY_TELEPHONY_SIM_FACTORY_MODE:
-                       return VCONFKEY_TELEPHONY_SIM_FACTORY_MODE;
-               case STORAGE_KEY_TELEPHONY_FACTORY_KSTRINGB:
-                       return VCONFKEY_TELEPHONY_FACTORY_KSTRINGB;
-               case STORAGE_KEY_TELEPHONY_IMSI:
-                       return "db/private/tel-plugin-vconf/imsi";
-               case STORAGE_KEY_CELLULAR_STATE:
-                       return VCONFKEY_NETWORK_CELLULAR_STATE;
-               case STORAGE_KEY_CELLULAR_PKT_TOTAL_RCV:
-                       return VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_RCV;
-               case STORAGE_KEY_CELLULAR_PKT_TOTAL_SNT:
-                       return VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_SNT;
-               case STORAGE_KEY_CELLULAR_PKT_LAST_RCV:
-                       return VCONFKEY_NETWORK_CELLULAR_PKT_LAST_RCV;
-               case STORAGE_KEY_CELLULAR_PKT_LAST_SNT:
-                       return VCONFKEY_NETWORK_CELLULAR_PKT_LAST_SNT;
-               case STORAGE_KEY_LANGUAGE_SET:
-                       return VCONFKEY_LANGSET;
-               case STORAGE_KEY_FLIGHT_MODE_BOOL:
-                       return VCONFKEY_TELEPHONY_FLIGHT_MODE;
-               case STORAGE_KEY_IDLE_SCREEN_LAUNCHED_BOOL:
-                       return VCONFKEY_IDLE_SCREEN_LAUNCHED;
-               case STORAGE_KEY_CISSAPPL_SHOW_MY_NUMBER_INT:
-                       return VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT;
-               default:
-                       break;
-       }
-
+       case STORAGE_KEY_PLMN:
+               return VCONFKEY_TELEPHONY_PLMN;
+       case STORAGE_KEY_LAC:
+               return VCONFKEY_TELEPHONY_LAC;
+       case STORAGE_KEY_CELLID:
+               return VCONFKEY_TELEPHONY_CELLID;
+       case STORAGE_KEY_SVCTYPE:
+               return VCONFKEY_TELEPHONY_SVCTYPE;
+       case STORAGE_KEY_SVC_CS:
+               return VCONFKEY_TELEPHONY_SVC_CS;
+       case STORAGE_KEY_SVC_PS:
+               return VCONFKEY_TELEPHONY_SVC_PS;
+       case STORAGE_KEY_SVC_ROAM:
+               return VCONFKEY_TELEPHONY_SVC_ROAM;
+       case STORAGE_KEY_SIM_PB_INIT:
+               return VCONFKEY_TELEPHONY_SIM_PB_INIT;
+       case STORAGE_KEY_CALL_FORWARD_STATE:
+               return VCONFKEY_TELEPHONY_CALL_FORWARD_STATE;
+       case STORAGE_KEY_TAPI_STATE:
+               return VCONFKEY_TELEPHONY_TAPI_STATE;
+       case STORAGE_KEY_SPN_DISP_CONDITION:
+               return VCONFKEY_TELEPHONY_SPN_DISP_CONDITION;
+       case STORAGE_KEY_RSSI:
+               return VCONFKEY_TELEPHONY_RSSI;
+       case STORAGE_KEY_READY:
+               return VCONFKEY_TELEPHONY_READY;
+       case STORAGE_KEY_SIM_SLOT:
+               return VCONFKEY_TELEPHONY_SIM_SLOT;
+       case STORAGE_KEY_PM_STATE:
+               return VCONFKEY_PM_STATE;
+       case STORAGE_KEY_PACKET_SERVICE_STATE:
+               return VCONFKEY_DNET_STATE;
+       case STORAGE_KEY_PACKET_INDICATOR_STATE:
+               return VCONFKEY_PACKET_STATE;
+       case STORAGE_KEY_DATA_ENABLE:
+               return VCONFKEY_3G_ENABLE;
+       case STORAGE_KEY_SETAPPL_STATE_DATA_ROAMING:
+               return VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL;
+       case STORAGE_KEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE:
+               return VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL;
+       case STORAGE_KEY_NWNAME:
+               return VCONFKEY_TELEPHONY_NWNAME;
+       case STORAGE_KEY_SPN_NAME:
+               return VCONFKEY_TELEPHONY_SPN_NAME;
+       case STORAGE_KEY_CELLULAR_STATE:
+               return VCONFKEY_NETWORK_CELLULAR_STATE;
+       case STORAGE_KEY_CELLULAR_PKT_TOTAL_RCV:
+               return VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_RCV;
+       case STORAGE_KEY_CELLULAR_PKT_TOTAL_SNT:
+               return VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_SNT;
+       case STORAGE_KEY_CELLULAR_PKT_LAST_RCV:
+               return VCONFKEY_NETWORK_CELLULAR_PKT_LAST_RCV;
+       case STORAGE_KEY_CELLULAR_PKT_LAST_SNT:
+               return VCONFKEY_NETWORK_CELLULAR_PKT_LAST_SNT;
+       case STORAGE_KEY_LANGUAGE_SET:
+               return VCONFKEY_LANGSET;
+       case STORAGE_KEY_FLIGHT_MODE:
+               return VCONFKEY_TELEPHONY_FLIGHT_MODE;
+       case STORAGE_KEY_IDLE_SCREEN_LAUNCHED:
+               return VCONFKEY_IDLE_SCREEN_LAUNCHED;
+       default:
+               break;
+       }
+
+       err("Unknown storage key");
        return NULL;
 }
 
-static enum tcore_storage_key convert_vconf_to_strgkey(const gchar* key)
+static TcoreStorageKey convert_vconf_to_strgkey(const gchar *key)
 {
        if (g_str_equal(key, VCONFKEY_TELEPHONY_PLMN) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_PLMN;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_LAC) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_LAC;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_CELLID) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_CELLID;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SVCTYPE) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SVCTYPE;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SVC_CS) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SVC_CS;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SVC_PS) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SVC_PS;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SVC_ROAM) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SVC_ROAM;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SIM_PB_INIT) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SIM_PB_INIT;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_CALL_STATE) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_CALL_STATE;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_CALL_FORWARD_STATE) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_CALL_FORWARD_STATE;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_TAPI_STATE) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_TAPI_STATE;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SPN_DISP_CONDITION) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SPN_DISP_CONDITION;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_ZONE_ZUHAUSE) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_ZONE_ZUHAUSE;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_RSSI) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_RSSI;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_READY) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_READY;
-       }
-       else if (g_str_equal(key, VCONFKEY_3G_ENABLE) == TRUE) {
-               return STORAGE_KEY_3G_ENABLE;
-       }
-       else if (g_str_equal(key, VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL) == TRUE) {
-               return STORAGE_KEY_SETAPPL_STATE_DATA_ROAMING_BOOL;
-       }
-       else if (g_str_equal(key, VCONFKEY_PM_STATE) == TRUE) {
+               return STORAGE_KEY_PLMN;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_LAC) == TRUE) {
+               return STORAGE_KEY_LAC;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_CELLID) == TRUE) {
+               return STORAGE_KEY_CELLID;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_SVCTYPE) == TRUE) {
+               return STORAGE_KEY_SVCTYPE;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_SVC_CS) == TRUE) {
+               return STORAGE_KEY_SVC_CS;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_SVC_PS) == TRUE) {
+               return STORAGE_KEY_SVC_PS;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_SVC_ROAM) == TRUE) {
+               return STORAGE_KEY_SVC_ROAM;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_SIM_PB_INIT) == TRUE) {
+               return STORAGE_KEY_SIM_PB_INIT;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_CALL_FORWARD_STATE) == TRUE) {
+               return STORAGE_KEY_CALL_FORWARD_STATE;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_TAPI_STATE) == TRUE) {
+               return STORAGE_KEY_TAPI_STATE;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_SPN_DISP_CONDITION) == TRUE) {
+               return STORAGE_KEY_SPN_DISP_CONDITION;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_RSSI) == TRUE) {
+               return STORAGE_KEY_RSSI;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_READY) == TRUE) {
+               return STORAGE_KEY_READY;
+       } else if (g_str_equal(key, VCONFKEY_3G_ENABLE) == TRUE) {
+               return STORAGE_KEY_DATA_ENABLE;
+       } else if (g_str_equal(key, VCONFKEY_SETAPPL_STATE_DATA_ROAMING_BOOL) == TRUE) {
+               return STORAGE_KEY_SETAPPL_STATE_DATA_ROAMING;
+       } else if (g_str_equal(key, VCONFKEY_PM_STATE) == TRUE) {
                return STORAGE_KEY_PM_STATE;
-       }
-       else if (g_str_equal(key, VCONFKEY_MESSAGE_NETWORK_MODE) == TRUE) {
-               return STORAGE_KEY_MESSAGE_NETWORK_MODE;
-       }
-       else if (g_str_equal(key, VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL) == TRUE) {
-               return STORAGE_KEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SIM_SLOT) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SIM_SLOT;
-       }
-       else if (g_str_equal(key, VCONFKEY_DNET_STATE) == TRUE) {
+       } else if (g_str_equal(key, VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL) == TRUE) {
+               return STORAGE_KEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_SIM_SLOT) == TRUE) {
+               return STORAGE_KEY_SIM_SLOT;
+       } else if (g_str_equal(key, VCONFKEY_DNET_STATE) == TRUE) {
                return STORAGE_KEY_PACKET_SERVICE_STATE;
-       }
-       else if (g_str_equal(key, VCONFKEY_PACKET_STATE) == TRUE) {
+       } else if (g_str_equal(key, VCONFKEY_PACKET_STATE) == TRUE) {
                return STORAGE_KEY_PACKET_INDICATOR_STATE;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_NWNAME) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_NWNAME;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SPN_NAME) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SPN_NAME;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_IMEI) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_IMEI;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SUBSCRIBER_NUMBER) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SUBSCRIBER_NUMBER;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SWVERSION) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SWVERSION;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_HWVERSION) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_HWVERSION;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_IMEI_FACTORY_REBOOT) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_IMEI_FACTORY_REBOOT;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_SIM_FACTORY_MODE) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_SIM_FACTORY_MODE;
-       }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_FACTORY_KSTRINGB) == TRUE) {
-               return STORAGE_KEY_TELEPHONY_FACTORY_KSTRINGB;
-       }
-       else if (g_str_equal(key, "db/private/tel-plugin-vconf/imsi") == TRUE) {
-               return STORAGE_KEY_TELEPHONY_IMSI;
-       }
-       else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_STATE) == TRUE) {
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_NWNAME) == TRUE) {
+               return STORAGE_KEY_NWNAME;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_SPN_NAME) == TRUE) {
+               return STORAGE_KEY_SPN_NAME;
+       } else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_STATE) == TRUE) {
                return STORAGE_KEY_CELLULAR_STATE;
-       }
-       else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_RCV) == TRUE) {
+       } else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_RCV) == TRUE) {
                return STORAGE_KEY_CELLULAR_PKT_TOTAL_RCV;
-       }
-       else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_SNT) == TRUE) {
+       } else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_SNT) == TRUE) {
                return STORAGE_KEY_CELLULAR_PKT_TOTAL_SNT;
-       }
-       else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_PKT_LAST_RCV) == TRUE) {
+       } else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_PKT_LAST_RCV) == TRUE) {
                return STORAGE_KEY_CELLULAR_PKT_LAST_RCV;
-       }
-       else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_PKT_LAST_SNT) == TRUE) {
+       } else if (g_str_equal(key, VCONFKEY_NETWORK_CELLULAR_PKT_LAST_SNT) == TRUE) {
                return STORAGE_KEY_CELLULAR_PKT_LAST_SNT;
-       }
-       else if (g_str_equal(key, VCONFKEY_LANGSET) == TRUE) {
+       } else if (g_str_equal(key, VCONFKEY_LANGSET) == TRUE) {
                return STORAGE_KEY_LANGUAGE_SET;
+       } else if (g_str_equal(key, VCONFKEY_TELEPHONY_FLIGHT_MODE) == TRUE) {
+               return STORAGE_KEY_FLIGHT_MODE;
+       } else if (g_str_equal(key, VCONFKEY_IDLE_SCREEN_LAUNCHED) == TRUE) {
+               return STORAGE_KEY_IDLE_SCREEN_LAUNCHED;
        }
-       else if (g_str_equal(key, VCONFKEY_TELEPHONY_FLIGHT_MODE) == TRUE) {
-               return STORAGE_KEY_FLIGHT_MODE_BOOL;
-       }
-       else if (g_str_equal(key, VCONFKEY_IDLE_SCREEN_LAUNCHED) == TRUE) {
-               return STORAGE_KEY_IDLE_SCREEN_LAUNCHED_BOOL;
-       }
-       else if (g_str_equal(key, VCONFKEY_CISSAPPL_SHOW_MY_NUMBER_INT) == TRUE) {
-               return STORAGE_KEY_CISSAPPL_SHOW_MY_NUMBER_INT;
-       }
-       return 0;
-}
-
-static void* create_handle(Storage *strg, const char *path)
-{
-       void *tmp = NULL;
-       if(!strg)
-               return NULL;
-
-       tmp = malloc(sizeof(char));
-       return tmp;
-}
-
-static gboolean remove_handle(Storage *strg, void *handle)
-{
-       if(!strg || !handle)
-               return FALSE;
 
-       free(handle);
-       return TRUE;
+       err("Unknown vconf key");
+       return 0;
 }
 
-static gboolean set_int(Storage *strg, enum tcore_storage_key key, int value)
+static gboolean set_int(TcoreStorage *strg, TcoreStorageKey key, gint value)
 {
+       gint ret = -1;
        const gchar *s_key = NULL;
+       tcore_check_return_value_assert(strg != NULL, FALSE);
 
-       if (!strg)
-               return FALSE;
-
-       if(key & STORAGE_KEY_INT)
-               s_key = convert_strgkey_to_vconf(key);
-
-       if(!s_key)
-               return FALSE;
+       s_key = convert_strgkey_to_vconf(key);
+       tcore_check_return_value_assert(s_key != NULL, FALSE);
 
-       vconf_set_int(s_key, value);
+       ret = vconf_set_int(s_key, value);
+       tcore_check_return_value(ret == 0, FALSE);
        return TRUE;
 }
 
-static gboolean set_bool(Storage *strg, enum tcore_storage_key key, gboolean value)
+static gboolean set_bool(TcoreStorage *strg, TcoreStorageKey key, gboolean value)
 {
+       gint ret = -1;
        const gchar *s_key = NULL;
+       tcore_check_return_value_assert(strg != NULL, FALSE);
 
-       if (!strg)
-               return FALSE;
-
-       if(key & STORAGE_KEY_BOOL)
-               s_key = convert_strgkey_to_vconf(key);
-
-       if(!s_key)
-               return FALSE;
+       s_key = convert_strgkey_to_vconf(key);
+       tcore_check_return_value_assert(s_key != NULL, FALSE);
 
-       vconf_set_bool(s_key, value);
+       ret = vconf_set_bool(s_key, value);
+       tcore_check_return_value(ret == 0, FALSE);
        return TRUE;
 }
 
-static gboolean set_string(Storage *strg, enum tcore_storage_key key, const char *value)
+static gboolean set_string(TcoreStorage *strg, TcoreStorageKey key, const gchar *value)
 {
+       gint ret = -1;
        const gchar *s_key = NULL;
+       tcore_check_return_value_assert(strg != NULL, FALSE);
 
-       if (!strg)
-               return FALSE;
-
-       if(key & STORAGE_KEY_STRING)
-               s_key = convert_strgkey_to_vconf(key);
-
-       if(!s_key)
-               return FALSE;
+       s_key = convert_strgkey_to_vconf(key);
+       tcore_check_return_value_assert(s_key != NULL, FALSE);
 
-       vconf_set_str(s_key, value);
+       ret = vconf_set_str(s_key, value);
+       tcore_check_return_value(ret == 0, FALSE);
        return TRUE;
 }
 
-static int get_int(Storage *strg, enum tcore_storage_key key)
+static gint get_int(TcoreStorage *strg, TcoreStorageKey key)
 {
-       int value = -1;
+       gint ret = -1;
+       gint value = -1;
        const gchar *s_key = NULL;
+       tcore_check_return_value_assert(strg != NULL, -1);
 
-       if (!strg)
-               return value;
-
-       if(key & STORAGE_KEY_INT)
-               s_key = convert_strgkey_to_vconf(key);
-
-       if(s_key != NULL)
-               vconf_get_int(s_key, &value);
+       s_key = convert_strgkey_to_vconf(key);
+       tcore_check_return_value_assert(s_key != NULL, -1);
 
+       ret = vconf_get_int(s_key, &value);
+       tcore_check_return_value(ret == 0, -1);
        return value;
 }
 
-static gboolean get_bool(Storage *strg, enum tcore_storage_key key)
+static gboolean get_bool(TcoreStorage *strg, TcoreStorageKey key)
 {
+       gint ret = -1;
        gboolean value = FALSE;
        const gchar *s_key = NULL;
+       tcore_check_return_value_assert(strg != NULL, FALSE);
 
-       if (!strg)
-               return value;
-
-       if(key & STORAGE_KEY_BOOL)
-               s_key = convert_strgkey_to_vconf(key);
-
-       if(s_key != NULL)
-               vconf_get_bool(s_key, &value);
+       s_key = convert_strgkey_to_vconf(key);
+       tcore_check_return_value_assert(s_key != NULL, FALSE);
 
+       ret = vconf_get_bool(s_key, &value);
+       tcore_check_return_value(ret == 0, FALSE);
        return value;
 }
 
-static char *get_string(Storage *strg, enum tcore_storage_key key)
+static gchar *get_string(TcoreStorage *strg, TcoreStorageKey key)
 {
+       gchar *value = NULL;
        const gchar *s_key = NULL;
+       tcore_check_return_value_assert(strg != NULL, NULL);
 
-       if (!strg)
-               return NULL;
-
-       if(key & STORAGE_KEY_STRING)
-               s_key = convert_strgkey_to_vconf(key);
-
-       if(s_key != NULL)
-               return vconf_get_str(s_key);
+       s_key = convert_strgkey_to_vconf(key);
+       tcore_check_return_value_assert(s_key != NULL, NULL);
 
-       return NULL;
+       value = vconf_get_str(s_key);
+       return value;
 }
 
-static void __vconfkey_callback(keynode_t* node, void* data)
+static void __vconfkey_callback(keynode_t *node, void *data)
 {
-       int type = 0;
-       char *vkey = NULL;
+       gint type = 0;
+       const gchar *vkey = NULL;
        GVariant *value = NULL;
-       enum tcore_storage_key s_key = 0;
-       Storage *strg = NULL;
+       TcoreStorageKey s_key = 0;
+       TcoreStorage *strg = NULL;
 
-       strg = (Storage *)data;
+       strg = (TcoreStorage *)data;
        vkey = vconf_keynode_get_name(node);
        type = vconf_keynode_get_type(node);
        s_key = convert_vconf_to_strgkey(vkey);
+       tcore_check_return_assert(s_key != 0);
 
-       if(type == VCONF_TYPE_STRING){
+       if (type == VCONF_TYPE_STRING) {
                gchar *tmp;
                tmp = (gchar *)vconf_keynode_get_str(node);
-               value = g_variant_new_string( tmp );
-       }
-       else if(type == VCONF_TYPE_INT){
+               value = g_variant_new_string(tmp);
+       } else if (type == VCONF_TYPE_INT) {
                gint32 tmp = 0;
                tmp = vconf_keynode_get_int(node);
-               value = g_variant_new_int32( tmp );
-       }
-       else if(type == VCONF_TYPE_DOUBLE){
+               value = g_variant_new_int32(tmp);
+       } else if (type == VCONF_TYPE_DOUBLE) {
                gdouble tmp = 0;
                tmp = vconf_keynode_get_dbl(node);
-               value = g_variant_new_double( tmp );
-       }
-       else if(type == VCONF_TYPE_BOOL){
+               value = g_variant_new_double(tmp);
+       } else if (type == VCONF_TYPE_BOOL) {
                gboolean tmp = FALSE;
                tmp = vconf_keynode_get_bool(node);
-               value = g_variant_new_boolean( tmp );
+               value = g_variant_new_boolean(tmp);
+       } else {
+               err("Not supported type");
        }
 
-
-       if(callback_dispatch != NULL)
+       if (callback_dispatch != NULL)
                callback_dispatch(strg, s_key, value);
-
-       return;
 }
 
-static gboolean set_key_callback(Storage *strg, enum tcore_storage_key key, TcoreStorageDispatchCallback cb)
+static gboolean set_key_callback(TcoreStorage *strg, TcoreStorageKey key,
+               TcoreStorageDispatchCallback cb)
 {
        const gchar *s_key = NULL;
-
-       if (!strg)
-               return FALSE;
+       tcore_check_return_value_assert(strg != NULL, FALSE);
 
        s_key = convert_strgkey_to_vconf(key);
-       dbg("s_key (%s)", s_key);
+       tcore_check_return_value_assert(s_key != NULL, FALSE);
 
-       if(s_key == NULL)
-               return FALSE;
+       dbg("s_key (%s)", s_key);
 
-       if(callback_dispatch == NULL)
+       if (callback_dispatch == NULL)
                callback_dispatch = cb;
 
        vconf_notify_key_changed(s_key, __vconfkey_callback, strg);
        return TRUE;
 }
 
-static gboolean remove_key_callback(Storage *strg, enum tcore_storage_key key)
+static gboolean remove_key_callback(TcoreStorage *strg, TcoreStorageKey key)
 {
        const gchar *s_key = NULL;
-
-       if (!strg)
-               return FALSE;
+       tcore_check_return_value_assert(strg != NULL, FALSE);
 
        s_key = convert_strgkey_to_vconf(key);
-       dbg("s_key (%s)", s_key);
+       tcore_check_return_value_assert(s_key != NULL, FALSE);
 
-       if(s_key == NULL)
-               return FALSE;
+       dbg("s_key (%s)", s_key);
 
        vconf_ignore_key_changed(s_key, __vconfkey_callback);
        return TRUE;
 }
 
-struct storage_operations ops = {
-       .create_handle = create_handle,
-       .remove_handle = remove_handle,
+static TcoreStorageOperations ops = {
        .set_int = set_int,
        .set_string = set_string,
        .set_bool = set_bool,
@@ -478,317 +340,464 @@ struct storage_operations ops = {
        .remove_key_callback = remove_key_callback,
 };
 
-static void _update_vconf_network_name(CoreObject *o, const char *plmn)
+static void __vconf_set_service_type(const TelNetworkRegStatusInfo *reg_status)
 {
-       struct tcore_network_operator_info *noi = NULL;
-       char *tmp;
-       enum telephony_network_service_type svc_type;
-       enum telephony_network_access_technology svc_act;
-       enum tcore_network_name_priority network_name_priority;
-       char mcc[4] = { 0, };
-       char mnc[4] = { 0, };
-       char *plmn_str = NULL;
-
-       if (plmn)
-               plmn_str = (char *)plmn;
-       else
-               plmn_str = tcore_network_get_plmn(o);
-
-       if (plmn_str) {
-               snprintf(mcc, 4, "%s", plmn_str);
-               snprintf(mnc, 4, "%s", plmn_str+3);
-
-               if (mnc[2] == '#')
-                       mnc[2] = '\0';
-       }
-
-       tcore_network_get_service_type(o, &svc_type);
-       if (svc_type != NETWORK_SERVICE_TYPE_3G) {
-               int current = 0;
-
-               vconf_get_int(VCONFKEY_TELEPHONY_PSTYPE, &current);
-               if (current != 0) {
-                       dbg("force hsdpa state off");
-                       vconf_set_int(VCONFKEY_TELEPHONY_PSTYPE, VCONFKEY_TELEPHONY_PSTYPE_NONE);
-               }
-       }
-
-       tcore_network_get_access_technology(o, &svc_act);
-       vconf_set_int(VCONFKEY_TELEPHONY_SVC_ACT, svc_act);
-
-       tcore_network_get_network_name_priority(o, &network_name_priority);
-       switch (network_name_priority) {
-               case TCORE_NETWORK_NAME_PRIORITY_SPN:
-                       vconf_set_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, VCONFKEY_TELEPHONY_DISP_SPN);
-                       break;
-
-               case TCORE_NETWORK_NAME_PRIORITY_NETWORK:
-                       vconf_set_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, VCONFKEY_TELEPHONY_DISP_PLMN);
-                       break;
-
-               case TCORE_NETWORK_NAME_PRIORITY_ANY:
-                       vconf_set_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, VCONFKEY_TELEPHONY_DISP_SPN_PLMN);
-                       break;
-
-               default:
-                       vconf_set_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, VCONFKEY_TELEPHONY_DISP_INVALID);
-                       break;
-       }
+       guint type_key = VCONFKEY_TELEPHONY_SVCTYPE_NONE;
+
+       switch (reg_status->act) {
+       case TEL_NETWORK_ACT_UNKNOWN:
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_NONE;
+               break;
+       case TEL_NETWORK_ACT_GSM:
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_2G;
+               break;
+       case TEL_NETWORK_ACT_GPRS:
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_2_5G;
+               break;
+       case TEL_NETWORK_ACT_EGPRS:
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_2_5G_EDGE;
+               break;
+       case TEL_NETWORK_ACT_UMTS:
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_3G;
+               break;
+       case TEL_NETWORK_ACT_HSDPA:
+       case TEL_NETWORK_ACT_HSUPA:
+       case TEL_NETWORK_ACT_HSPA:
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_HSDPA;
+               break;
+       case TEL_NETWORK_ACT_LTE:
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_LTE;
+               break;
+       default:
+               err("Unknown Access Technology");
+               break;
+       }
+
+       if (reg_status->cs_status == TEL_NETWORK_REG_STATUS_REGISTERED
+                       || reg_status->cs_status == TEL_NETWORK_REG_STATUS_ROAMING
+                       || reg_status->ps_status == TEL_NETWORK_REG_STATUS_REGISTERED
+                       || reg_status->ps_status == TEL_NETWORK_REG_STATUS_ROAMING) {
+               /* No Change */
+       } else if (reg_status->cs_status == TEL_NETWORK_REG_STATUS_UNREGISTERED
+                       && reg_status->ps_status == TEL_NETWORK_REG_STATUS_UNREGISTERED) {
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_NOSVC;
+       } else if (reg_status->cs_status == TEL_NETWORK_REG_STATUS_SEARCHING
+                       || reg_status->ps_status == TEL_NETWORK_REG_STATUS_SEARCHING) {
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_SEARCH;
+       } else if (reg_status->cs_status == TEL_NETWORK_REG_STATUS_DENIED
+                       || reg_status->ps_status == TEL_NETWORK_REG_STATUS_DENIED) {
+               type_key = VCONFKEY_TELEPHONY_SVCTYPE_EMERGENCY;
+       }
+
+       vconf_set_int(VCONFKEY_TELEPHONY_SVCTYPE, type_key);
+}
 
-       switch (svc_type) {
-               case NETWORK_SERVICE_TYPE_2G:
-               case NETWORK_SERVICE_TYPE_2_5G:
-               case NETWORK_SERVICE_TYPE_2_5G_EDGE:
-               case NETWORK_SERVICE_TYPE_3G:
-               case NETWORK_SERVICE_TYPE_HSDPA:
-                       /* spn */
-                       tmp = tcore_network_get_network_name(o, TCORE_NETWORK_NAME_TYPE_SPN);
-                       if (tmp) {
-                               dbg("SPN[%s]", tmp);
-                               vconf_set_str(VCONFKEY_TELEPHONY_SPN_NAME, tmp);
-                               free(tmp);
-                       }
-
-                       /* nitz */
-                       tmp = tcore_network_get_network_name(o, TCORE_NETWORK_NAME_TYPE_FULL);
-                       if (tmp && strlen(tmp) > 0) {
-                               dbg("NWNAME = NITZ_FULL[%s]", tmp);
-                               vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, tmp);
-                               free(tmp);
-                               break;
-                       }
-                       else {
-                               tmp = tcore_network_get_network_name(o, TCORE_NETWORK_NAME_TYPE_SHORT);
-                               if (tmp) {
-                                       dbg("NWNAME = NITZ_SHORT[%s]", tmp);
-                                       vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, tmp);
-                                       free(tmp);
-                                       break;
-                               }
-                       }
-
-                       /* pre-define table */
-                       noi = tcore_network_operator_info_find(o, mcc, mnc);
-                       if (noi) {
-                               dbg("%s-%s: country=[%s], oper=[%s]", mcc, mnc, noi->country, noi->name);
-                               dbg("NWNAME = pre-define table[%s]", noi->name);
-                               vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, noi->name);
-                       }
-                       else {
-                               dbg("%s-%s: no network operator name", mcc, mnc);
-                               vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, plmn_str);
-                       }
-                       break;
+static void __vconf_set_service_act(const TelNetworkAct act)
+{
+       guint act_key = VCONFKEY_TELEPHONY_SVC_ACT_NONE;
+
+       switch (act) {
+       case TEL_NETWORK_ACT_UNKNOWN:
+               act_key = VCONFKEY_TELEPHONY_SVC_ACT_NONE;
+               break;
+       case TEL_NETWORK_ACT_GSM:
+               act_key = VCONFKEY_TELEPHONY_SVC_ACT_GSM;
+               break;
+       case TEL_NETWORK_ACT_GPRS:
+               act_key = VCONFKEY_TELEPHONY_SVC_ACT_GPRS;
+               break;
+       case TEL_NETWORK_ACT_EGPRS:
+               act_key = VCONFKEY_TELEPHONY_SVC_ACT_EGPRS;
+               break;
+       case TEL_NETWORK_ACT_UMTS:
+               act_key = VCONFKEY_TELEPHONY_SVC_ACT_UMTS;
+               break;
+       case TEL_NETWORK_ACT_HSDPA:
+       case TEL_NETWORK_ACT_HSUPA:
+       case TEL_NETWORK_ACT_HSPA:
+               /* SVC ACT VCONF does not have HSPA. so, set to UMTS */
+               act_key = VCONFKEY_TELEPHONY_SVC_ACT_UMTS;
+               break;
+       case TEL_NETWORK_ACT_LTE:
+               act_key = VCONFKEY_TELEPHONY_SVC_ACT_LTE;
+               break;
+       default:
+               err("Unknown Access Technology");
+               break;
+       }
+
+       vconf_set_int(VCONFKEY_TELEPHONY_SVC_ACT, act_key);
+}
 
-               default:
-                       break;
+static void __vconf_set_spn_and_disp_condition(TcorePlugin *plugin)
+{
+       CoreObject *co_sim;
+       TelSimSpnDispCondition disp_condition;
+       gchar *sim_spn = NULL;
+
+       co_sim = tcore_plugin_ref_core_object(plugin, CORE_OBJECT_TYPE_SIM);
+       tcore_sim_get_disp_condition(co_sim, &disp_condition);
+
+       /* Set VCONFKEY_TELEPHONY_SPN_DISP_CONDITION */
+       switch (disp_condition) {
+       case TEL_SIM_DISP_SPN:
+               vconf_set_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION,
+                       VCONFKEY_TELEPHONY_DISP_SPN);
+               break;
+       case TEL_SIM_DISP_PLMN:
+               vconf_set_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION,
+                       VCONFKEY_TELEPHONY_DISP_PLMN);
+               break;
+       case TEL_SIM_DISP_SPN_PLMN:
+               vconf_set_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION,
+                       VCONFKEY_TELEPHONY_DISP_SPN_PLMN);
+               break;
+       case TEL_SIM_DISP_INVALID:
+               vconf_set_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION,
+                       VCONFKEY_TELEPHONY_DISP_INVALID);
+               break;
+       }
+
+       /* Set VCONFKEY_TELEPHONY_SPN_NAME */
+       tcore_sim_get_spn(co_sim, &sim_spn);
+       if (sim_spn != NULL) {
+               dbg("Service Provider Name: [%s]", sim_spn);
+               vconf_set_str(VCONFKEY_TELEPHONY_SPN_NAME, sim_spn);
+               tcore_free(sim_spn);
        }
-
-       if (!plmn)
-               free(plmn_str);
 }
 
-static enum tcore_hook_return on_hook_network_location_cellinfo(Server *s, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, void *data, void *user_data)
+static TcoreHookReturn on_hook_network_location_cellinfo(TcorePlugin *source,
+               TcoreNotification command, guint data_len, void *data,
+               void *user_data)
 {
-       const struct tnoti_network_location_cellinfo *info = data;
+       const TelNetworkCellInfo *cell_info = data;
+       tcore_check_return_value_assert(cell_info != NULL,
+               TCORE_HOOK_RETURN_STOP_PROPAGATION);
 
-       dbg("vconf set");
+       dbg("Entry, cell_id: [%d], lac: [%d]",
+               cell_info->cell_id, cell_info->lac);
 
-       vconf_set_int(VCONFKEY_TELEPHONY_CELLID, info->cell_id);
-       vconf_set_int(VCONFKEY_TELEPHONY_LAC, info->lac);
+       vconf_set_int(VCONFKEY_TELEPHONY_CELLID, cell_info->cell_id);
+       vconf_set_int(VCONFKEY_TELEPHONY_LAC, cell_info->lac);
 
        return TCORE_HOOK_RETURN_CONTINUE;
 }
 
-static enum tcore_hook_return on_hook_network_icon_info(Server *s, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, void *data, void *user_data)
+static TcoreHookReturn on_hook_network_rssi(TcorePlugin *source,
+               TcoreNotification command, guint data_len, void *data,
+               void *user_data)
 {
-       const struct tnoti_network_icon_info *info = data;
+       const guint rssi = *(guint *)data;
 
-       dbg("vconf set (rssi=%d)", info->rssi);
+       dbg("Entry, rssi: [%d]", rssi);
 
-       vconf_set_int(VCONFKEY_TELEPHONY_RSSI, info->rssi);
+       vconf_set_int(VCONFKEY_TELEPHONY_RSSI, rssi);
 
        return TCORE_HOOK_RETURN_CONTINUE;
 }
 
-static enum tcore_hook_return on_hook_network_registration_status(Server *s, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, void *data, void *user_data)
+static TcoreHookReturn on_hook_network_registration_status(TcorePlugin *source,
+               TcoreNotification command, guint data_len, void *data,
+               void *user_data)
 {
-       const struct tnoti_network_registration_status *info = data;
-       int current;
-       int status;
-
-       dbg("vconf set");
-
-       /* CS */
-       if (info->cs_domain_status == NETWORK_SERVICE_DOMAIN_STATUS_FULL)
-               status = 2;
-       else
-               status = 1;
-
-       vconf_get_int(VCONFKEY_TELEPHONY_SVC_CS, &current);
-       if (current != status)
-               vconf_set_int(VCONFKEY_TELEPHONY_SVC_CS, status);
-
-       /* PS */
-       if (info->ps_domain_status == NETWORK_SERVICE_DOMAIN_STATUS_FULL)
-               status = 2;
-       else
-               status = 1;
-
-       vconf_get_int(VCONFKEY_TELEPHONY_SVC_PS, &current);
-       if (current != status)
-               vconf_set_int(VCONFKEY_TELEPHONY_SVC_PS, status);
-
-       /* Service type */
-       vconf_get_int(VCONFKEY_TELEPHONY_SVCTYPE, &current);
-       if (current != (int) info->service_type)
-               vconf_set_int(VCONFKEY_TELEPHONY_SVCTYPE, info->service_type);
-
-       switch(info->service_type) {
-               case NETWORK_SERVICE_TYPE_UNKNOWN:
-               case NETWORK_SERVICE_TYPE_NO_SERVICE:
-                       vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, "No Service");
+       const TelNetworkRegStatusInfo *reg_status = data;
+       guint cs_key = VCONFKEY_TELEPHONY_SVC_CS_OFF;
+       guint ps_key = VCONFKEY_TELEPHONY_SVC_PS_OFF;
+       gboolean roaming_status = FALSE;
+       gchar *network_name = NULL;
+       guint ps_type = VCONFKEY_TELEPHONY_PSTYPE_NONE;
+       tcore_check_return_value_assert(reg_status != NULL,
+               TCORE_HOOK_RETURN_STOP_PROPAGATION);
+
+       dbg("Entry, cs_status: [%d], ps_status: [%d], act: [%d]",
+               reg_status->cs_status, reg_status->ps_status, reg_status->act);
+
+       /* Set VCONFKEY_TELEPHONY_SVC_CS, VCONFKEY_TELEPHONY_SVC_ROAM */
+       if (reg_status->cs_status == TEL_NETWORK_REG_STATUS_REGISTERED) {
+               dbg("Circuit Switched ON");
+               cs_key = VCONFKEY_TELEPHONY_SVC_CS_ON;
+       } else if (reg_status->cs_status == TEL_NETWORK_REG_STATUS_ROAMING) {
+               dbg("Circuit Switched ON, Roaming ON");
+               cs_key = VCONFKEY_TELEPHONY_SVC_CS_ON;
+               roaming_status = TRUE;
+       }
+       vconf_set_int(VCONFKEY_TELEPHONY_SVC_CS, cs_key);
+       vconf_set_int(VCONFKEY_TELEPHONY_SVC_ROAM, roaming_status);
+
+       /* Set VCONFKEY_TELEPHONY_SVC_PS */
+       if (reg_status->ps_status == TEL_NETWORK_REG_STATUS_REGISTERED
+                       || reg_status->ps_status == TEL_NETWORK_REG_STATUS_ROAMING) {
+               dbg("Packet Switched ON");
+               ps_key = VCONFKEY_TELEPHONY_SVC_PS_ON;
+       }
+       vconf_set_int(VCONFKEY_TELEPHONY_SVC_PS, ps_key);
+
+       /* Set VCONFKEY_TELEPHONY_SVCTYPE */
+       __vconf_set_service_type(reg_status);
+
+       /* Set VCONFKEY_TELEPHONY_SVC_ACT */
+       __vconf_set_service_act(reg_status->act);
+
+       /* Set VCONFKEY_TELEPHONY_NWNAME in case of NOT registered */
+       switch (reg_status->cs_status) {
+       case TEL_NETWORK_REG_STATUS_UNKNOWN:
+               network_name = g_strdup("Unknown");
+               break;
+       case TEL_NETWORK_REG_STATUS_UNREGISTERED:
+               network_name = g_strdup("No Service");
+               break;
+       case TEL_NETWORK_REG_STATUS_SEARCHING:
+               network_name = g_strdup("Searching...");
+               break;
+       case TEL_NETWORK_REG_STATUS_DENIED:
+               network_name = g_strdup("EMERGENCY");
+               break;
+       case TEL_NETWORK_REG_STATUS_REGISTERED:
+       case TEL_NETWORK_REG_STATUS_ROAMING:
+               break;
+       }
+       if (network_name != NULL) {
+               vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, network_name);
+               tcore_free(network_name);
+       }
+
+       /* Set VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, VCONFKEY_TELEPHONY_SPN_NAME */
+       __vconf_set_spn_and_disp_condition(source);
+
+       /* Set VCONFKEY_TELEPHONY_PSTYPE */
+       if (reg_status->ps_status == TEL_NETWORK_REG_STATUS_REGISTERED
+                       || reg_status->ps_status == TEL_NETWORK_REG_STATUS_ROAMING) {
+               switch (reg_status->act) {
+               case TEL_NETWORK_ACT_HSDPA:
+                       ps_type = VCONFKEY_TELEPHONY_PSTYPE_HSDPA;
                        break;
-
-               case NETWORK_SERVICE_TYPE_EMERGENCY:
-                       vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, "EMERGENCY");
+               case TEL_NETWORK_ACT_HSUPA:
+                       ps_type = VCONFKEY_TELEPHONY_PSTYPE_HSUPA;
                        break;
-
-               case NETWORK_SERVICE_TYPE_SEARCH:
-                       vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, "Searching...");
+               case TEL_NETWORK_ACT_HSPA:
+                       ps_type = VCONFKEY_TELEPHONY_PSTYPE_HSPA;
                        break;
                default:
+                       /* ps_type is NONE */
                        break;
+               }
        }
-
-       vconf_set_int(VCONFKEY_TELEPHONY_SVC_ROAM, info->roaming_status);
-
-       _update_vconf_network_name(source, NULL);
+       vconf_set_int(VCONFKEY_TELEPHONY_PSTYPE, ps_type);
 
        return TCORE_HOOK_RETURN_CONTINUE;
 }
 
-static enum tcore_hook_return on_hook_network_change(Server *s, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, void *data, void *user_data)
+static TcoreHookReturn on_hook_network_identity(TcorePlugin *source,
+               TcoreNotification command, guint data_len, void *data,
+               void *user_data)
 {
-       const struct tnoti_network_change *info = data;
+       const TelNetworkIdentityInfo *net_identity = data;
+       gchar *network_name = NULL;
+       tcore_check_return_value_assert(net_identity != NULL,
+               TCORE_HOOK_RETURN_STOP_PROPAGATION);
 
-       dbg("vconf set");
+       dbg("Entry, plmn: [%s], short_name: [%s], long_name: [%s]",
+               net_identity->plmn, net_identity->short_name, net_identity->long_name);
 
-       vconf_set_int(VCONFKEY_TELEPHONY_PLMN, atoi(info->plmn));
-       vconf_set_int(VCONFKEY_TELEPHONY_LAC, info->gsm.lac);
+       /* Set VCONFKEY_TELEPHONY_PLMN */
+       if (net_identity->plmn && strlen(net_identity->plmn) > 0)
+               vconf_set_int(VCONFKEY_TELEPHONY_PLMN, atoi(net_identity->plmn));
+       else
+               err("No PLMN");
+
+       /* Set VCONFKEY_TELEPHONY_NWNAME
+        * Network name priority: long name > short name > name from db table > plmn
+        */
+       if (net_identity->long_name && strlen(net_identity->long_name) > 0) {
+               network_name = g_strdup(net_identity->long_name);
+       } else if (net_identity->short_name && strlen(net_identity->short_name) > 0) {
+               network_name = g_strdup(net_identity->short_name);
+       } else if (net_identity->plmn && strlen(net_identity->plmn) > 0) {
+               CoreObject *co_network;
+               gchar *operator_name = NULL;
+               co_network = tcore_plugin_ref_core_object(source, CORE_OBJECT_TYPE_NETWORK);
+               tcore_network_get_operator_name(co_network, net_identity->plmn, &operator_name);
+               if (operator_name != NULL) {
+                       dbg("PLMN: [%s], Operator Name: [%s]", net_identity->plmn, operator_name);
+                       network_name = g_strdup(operator_name);
+                       tcore_free(operator_name);
+               } else {
+                       dbg("No Operator Name(PLMN: [%s])", net_identity->plmn);
+                       network_name = g_strdup(net_identity->plmn);
+               }
+       } else {
+               err("No Notification Data");
+       }
 
-       _update_vconf_network_name(source, info->plmn);
+       /* Set VCONFKEY_TELEPHONY_NWNAME */
+       if (network_name != NULL) {
+               vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, network_name);
+               tcore_free(network_name);
+       }
 
        return TCORE_HOOK_RETURN_CONTINUE;
 }
 
-static enum tcore_hook_return on_hook_sim_init(Server *s, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, void *data, void *user_data)
+static TcoreHookReturn on_hook_sim_init(TcorePlugin *source,
+               TcoreNotification command, guint data_len, void *data,
+               void *user_data)
 {
-       const struct tnoti_sim_status *sim  = data;
-
-       dbg("vconf set (sim_status = %d)", sim->sim_status);
-
-       switch (sim->sim_status) {
-               case SIM_STATUS_CARD_ERROR:
-                       vconf_set_int(VCONFKEY_TELEPHONY_SIM_SLOT, VCONFKEY_TELEPHONY_SIM_CARD_ERROR);
-                       vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, "SIM Error");
-                       break;
-
-               case SIM_STATUS_CARD_NOT_PRESENT:
-               case SIM_STATUS_CARD_REMOVED:
-                       vconf_set_int(VCONFKEY_TELEPHONY_SIM_SLOT, VCONFKEY_TELEPHONY_SIM_NOT_PRESENT);
-                       vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, "NO SIM");
-                       break;
-
-               case SIM_STATUS_INIT_COMPLETED:
-                       vconf_set_int(VCONFKEY_TELEPHONY_SIM_SLOT, VCONFKEY_TELEPHONY_SIM_INSERTED);
-                       break;
-
-               case SIM_STATUS_INITIALIZING:
-               case SIM_STATUS_PIN_REQUIRED:
-               case SIM_STATUS_PUK_REQUIRED:
-               case SIM_STATUS_LOCK_REQUIRED:
-               case SIM_STATUS_CARD_BLOCKED:
-               case SIM_STATUS_NCK_REQUIRED:
-               case SIM_STATUS_NSCK_REQUIRED:
-               case SIM_STATUS_SPCK_REQUIRED:
-               case SIM_STATUS_CCK_REQUIRED:
-                       vconf_set_int(VCONFKEY_TELEPHONY_SIM_SLOT, VCONFKEY_TELEPHONY_SIM_INSERTED);
-                       break;
-
-               default:
-                       break;
+       const TelSimCardStatusInfo *sim_status_info = data;
+       guint sim_slot = VCONFKEY_TELEPHONY_SIM_UNKNOWN;
+       gchar *network_name = NULL;
+       tcore_check_return_value_assert(sim_status_info != NULL,
+               TCORE_HOOK_RETURN_STOP_PROPAGATION);
+
+       dbg("Entry, sim_status: [%d]", sim_status_info->status);
+
+       /* Set VCONFKEY_TELEPHONY_SIM_SLOT */
+       switch (sim_status_info->status) {
+       case TEL_SIM_STATUS_UNKNOWN:
+               sim_slot = VCONFKEY_TELEPHONY_SIM_UNKNOWN;
+               break;
+       case TEL_SIM_STATUS_CARD_ERROR:
+               sim_slot = VCONFKEY_TELEPHONY_SIM_CARD_ERROR;
+               network_name = g_strdup("SIM Error");
+               break;
+       case TEL_SIM_STATUS_CARD_NOT_PRESENT:
+       case TEL_SIM_STATUS_CARD_REMOVED:
+               sim_slot = VCONFKEY_TELEPHONY_SIM_NOT_PRESENT;
+               network_name = g_strdup("NO SIM");
+               break;
+       case TEL_SIM_STATUS_SIM_INIT_COMPLETED:
+       case TEL_SIM_STATUS_SIM_CARD_POWEROFF:
+       case TEL_SIM_STATUS_SIM_INITIALIZING:
+       case TEL_SIM_STATUS_SIM_PIN_REQUIRED:
+       case TEL_SIM_STATUS_SIM_PUK_REQUIRED:
+       case TEL_SIM_STATUS_SIM_LOCK_REQUIRED:
+       case TEL_SIM_STATUS_CARD_BLOCKED:
+       case TEL_SIM_STATUS_SIM_NCK_REQUIRED:
+       case TEL_SIM_STATUS_SIM_NSCK_REQUIRED:
+       case TEL_SIM_STATUS_SIM_SPCK_REQUIRED:
+       case TEL_SIM_STATUS_SIM_CCK_REQUIRED:
+               sim_slot = VCONFKEY_TELEPHONY_SIM_INSERTED;
+               break;
+       }
+       vconf_set_int(VCONFKEY_TELEPHONY_SIM_SLOT, sim_slot);
+
+       /* Set VCONFKEY_TELEPHONY_NWNAME in case of SIM NOT inserted */
+       if (network_name != NULL) {
+               vconf_set_str(VCONFKEY_TELEPHONY_NWNAME, network_name);
+               tcore_free(network_name);
        }
 
        return TCORE_HOOK_RETURN_CONTINUE;
 }
 
-static enum tcore_hook_return on_hook_pb_init(Server *s, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, void *data, void *user_data)
+static TcoreHookReturn on_hook_pb_init(TcorePlugin *source,
+               TcoreNotification command, guint data_len, void *data,
+               void *user_data)
 {
-       const struct tnoti_phonebook_status *pb  = data;
+       const TelPbInitInfo *init_info = data;
 
-       dbg("vconf set (pb->b_init = %d)", pb->b_init);
+       dbg("Entry, pb_status: [%s]", init_info->init_status ? "INIT COMPLETED" : "NONE");
 
-       if (vconf_set_int(VCONFKEY_TELEPHONY_SIM_PB_INIT, pb->b_init) != 0)
-               dbg("[FAIL] UPDATE VCONFKEY_TELEPHONY_SIM_PB_INIT");
+       /* Set VCONFKEY_TELEPHONY_SIM_PB_INIT */
+       vconf_set_int(VCONFKEY_TELEPHONY_SIM_PB_INIT, init_info->init_status);
 
        return TCORE_HOOK_RETURN_CONTINUE;
 }
 
-static enum tcore_hook_return on_hook_ps_protocol_status(Server *s, CoreObject *source,
-               enum tcore_notification_command command, unsigned int data_len, void *data, void *user_data)
+static TcoreHookReturn on_hook_modem_power(TcorePlugin *source,
+               TcoreNotification command, guint data_len, void *data,
+               void *user_data)
 {
-       enum telephony_network_service_type svc_type;
-       const struct tnoti_ps_protocol_status *noti = data;
-
-       dbg("vconf set (ps status = %d)", noti->status);
-
-       vconf_get_int(VCONFKEY_TELEPHONY_SVCTYPE, (int *)&svc_type);
-       if (svc_type < (enum telephony_network_service_type)VCONFKEY_TELEPHONY_SVCTYPE_2G) {
-               dbg("service state is not available");
-               vconf_set_int(VCONFKEY_TELEPHONY_PSTYPE, VCONFKEY_TELEPHONY_PSTYPE_NONE);
-               return TCORE_HOOK_RETURN_CONTINUE;
-       }
-
-       switch (noti->status) {
-               case TELEPHONY_HSDPA_OFF:
-                       vconf_set_int(VCONFKEY_TELEPHONY_PSTYPE, VCONFKEY_TELEPHONY_PSTYPE_NONE);
-                       break;
-
-               case TELEPHONY_HSDPA_ON:
-                       vconf_set_int(VCONFKEY_TELEPHONY_PSTYPE, VCONFKEY_TELEPHONY_PSTYPE_HSDPA);
-                       break;
-
-               case TELEPHONY_HSUPA_ON:
-                       vconf_set_int(VCONFKEY_TELEPHONY_PSTYPE, VCONFKEY_TELEPHONY_PSTYPE_HSUPA);
-                       break;
-
-               case TELEPHONY_HSPA_ON:
-                       vconf_set_int(VCONFKEY_TELEPHONY_PSTYPE, VCONFKEY_TELEPHONY_PSTYPE_HSPA);
-                       break;
+       const TelModemPowerStatus power_status = *(TelModemPowerStatus *)data;
+
+       dbg("Entry, power_status: [%d]", power_status);
+
+       /* Set VCONFKEY_TELEPHONY_TAPI_STATE */
+       switch (power_status) {
+       case TEL_MODEM_POWER_ON:
+               dbg("TAPI Ready");
+               vconf_set_int(VCONFKEY_TELEPHONY_TAPI_STATE,
+                       VCONFKEY_TELEPHONY_TAPI_STATE_READY);
+               break;
+       case TEL_MODEM_POWER_ERROR:
+               dbg("CP Crash, All Network setting will be reset");
+               reset_vconf();
+               break;
+       case TEL_MODEM_POWER_OFF:
+               dbg("TAPI None");
+               vconf_set_int(VCONFKEY_TELEPHONY_TAPI_STATE,
+                       VCONFKEY_TELEPHONY_TAPI_STATE_NONE);
+               break;
        }
 
        return TCORE_HOOK_RETURN_CONTINUE;
 }
 
-static enum tcore_hook_return on_hook_modem_power(Server *s, CoreObject *source, enum tcore_notification_command command, unsigned int data_len, void *data, void *user_data)
+static gboolean __vconf_add_notification_hook(TcorePlugin *modem_plugin)
 {
-       const struct tnoti_modem_power *power = data;
+       tcore_check_return_value_assert(modem_plugin != NULL, FALSE);
+
+       tcore_plugin_add_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_NETWORK_LOCATION_CELLINFO,
+               on_hook_network_location_cellinfo, NULL);
+       tcore_plugin_add_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_NETWORK_RSSI,
+               on_hook_network_rssi, NULL);
+       tcore_plugin_add_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_NETWORK_REGISTRATION_STATUS,
+               on_hook_network_registration_status, NULL);
+       tcore_plugin_add_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_NETWORK_IDENTITY,
+               on_hook_network_identity, NULL);
+       tcore_plugin_add_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_SIM_STATUS,
+               on_hook_sim_init, NULL);
+       tcore_plugin_add_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_PHONEBOOK_STATUS,
+               on_hook_pb_init, NULL);
+       tcore_plugin_add_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_MODEM_POWER,
+               on_hook_modem_power, NULL);
 
-       dbg("vconf set (power->state = %d)", power->state);
+       return TRUE;
+}
 
-       if (power->state == MODEM_STATE_ONLINE) {
-               dbg("tapi ready");
-               vconf_set_int(VCONFKEY_TELEPHONY_TAPI_STATE, VCONFKEY_TELEPHONY_TAPI_STATE_READY);
-       } else if (power->state == MODEM_STATE_ERROR) {
+static TcoreHookReturn on_hook_modem_plugin_added(Server *server,
+               TcoreServerNotification command, guint data_len, void *data,
+               void *user_data)
+{
+       __vconf_add_notification_hook((TcorePlugin *)data);
 
-               dbg("cp crash : all network setting will be reset");
-               reset_vconf();
+       return TCORE_HOOK_RETURN_CONTINUE;
+}
 
-       } else {
-               dbg("tapi none");
-               vconf_set_int(VCONFKEY_TELEPHONY_TAPI_STATE, VCONFKEY_TELEPHONY_TAPI_STATE_NONE);
-       }
+static TcoreHookReturn on_hook_modem_plugin_removed(Server *server,
+               TcoreServerNotification command, guint data_len, void *data,
+               void *user_data)
+{
+       TcorePlugin *modem_plugin = data;
+
+       tcore_plugin_remove_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_NETWORK_LOCATION_CELLINFO,
+               on_hook_network_location_cellinfo);
+       tcore_plugin_remove_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_NETWORK_RSSI,
+               on_hook_network_rssi);
+       tcore_plugin_remove_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_NETWORK_REGISTRATION_STATUS,
+               on_hook_network_registration_status);
+       tcore_plugin_remove_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_NETWORK_IDENTITY,
+               on_hook_network_identity);
+       tcore_plugin_remove_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_SIM_STATUS,
+               on_hook_sim_init);
+       tcore_plugin_remove_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_PHONEBOOK_STATUS,
+               on_hook_pb_init);
+       tcore_plugin_remove_notification_hook(modem_plugin,
+               TCORE_NOTIFICATION_MODEM_POWER,
+               on_hook_modem_power);
 
        return TCORE_HOOK_RETURN_CONTINUE;
 }
@@ -805,15 +814,10 @@ static void reset_vconf()
        vconf_set_int(VCONFKEY_TELEPHONY_SVC_ROAM, VCONFKEY_TELEPHONY_SVC_ROAM_OFF);
        vconf_set_int(VCONFKEY_TELEPHONY_SIM_SLOT, VCONFKEY_TELEPHONY_SIM_UNKNOWN);
        vconf_set_int(VCONFKEY_TELEPHONY_SIM_PB_INIT, VCONFKEY_TELEPHONY_SIM_PB_INIT_NONE);
-       vconf_set_int(VCONFKEY_TELEPHONY_CALL_STATE, VCONFKEY_TELEPHONY_CALL_CONNECT_IDLE);
        vconf_set_int(VCONFKEY_TELEPHONY_TAPI_STATE, VCONFKEY_TELEPHONY_TAPI_STATE_NONE);
        vconf_set_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, VCONFKEY_TELEPHONY_DISP_INVALID);
        vconf_set_str(VCONFKEY_TELEPHONY_SPN_NAME, "");
-       vconf_set_int(VCONFKEY_TELEPHONY_ZONE_ZUHAUSE, 0);
        vconf_set_int(VCONFKEY_TELEPHONY_RSSI, VCONFKEY_TELEPHONY_RSSI_0);
-       vconf_set_str(VCONFKEY_TELEPHONY_IMEI, "deprecated_vconf_imei");
-       vconf_set_str(VCONFKEY_TELEPHONY_SUBSCRIBER_NUMBER, "");
-       vconf_set_int(VCONFKEY_TELEPHONY_SIM_PB_INIT, VCONFKEY_TELEPHONY_SIM_PB_INIT_NONE);
        vconf_set_bool(VCONFKEY_TELEPHONY_READY, 0);
        vconf_set_int(VCONFKEY_TELEPHONY_NITZ_GMT, 0);
        vconf_set_int(VCONFKEY_TELEPHONY_NITZ_EVENT_GMT, 0);
@@ -827,48 +831,54 @@ static gboolean on_load()
        return TRUE;
 }
 
-static gboolean on_init(TcorePlugin *p)
+static gboolean on_init(TcorePlugin *plugin)
 {
-       Storage *strg;
-       Server *s;
-
-       if (!p)
-               return FALSE;
+       Server *server;
+       TcoreStorage *strg;
+       GSList *list;
+       tcore_check_return_value_assert(plugin != NULL, FALSE);
 
        dbg("i'm init!");
 
-       strg = tcore_storage_new(p, "vconf", &ops);
+       strg = tcore_storage_new(plugin, "vconf", &ops);
 
        reset_vconf();
 
-       vconf_set_int(VCONFKEY_TELEPHONY_SVC_ROAM, VCONFKEY_TELEPHONY_SVC_ROAM_OFF);
+       server = tcore_plugin_ref_server(plugin);
+       list = tcore_server_get_modem_plugin_list(server);
+       while (list) {
+               TcorePlugin *modem_plugin = list->data;
+               dbg("Register for pre-loaded Modem Plug-ins");
+               __vconf_add_notification_hook(modem_plugin);
+               list = g_slist_next(list);
+       }
+       g_slist_free(list);
 
-       s = tcore_plugin_ref_server(p);
-       tcore_server_add_notification_hook(s, TNOTI_NETWORK_LOCATION_CELLINFO, on_hook_network_location_cellinfo, strg);
-       tcore_server_add_notification_hook(s, TNOTI_NETWORK_ICON_INFO, on_hook_network_icon_info, strg);
-       tcore_server_add_notification_hook(s, TNOTI_NETWORK_REGISTRATION_STATUS, on_hook_network_registration_status, strg);
-       tcore_server_add_notification_hook(s, TNOTI_NETWORK_CHANGE, on_hook_network_change, strg);
-       tcore_server_add_notification_hook(s, TNOTI_SIM_STATUS, on_hook_sim_init, strg);
-       tcore_server_add_notification_hook(s, TNOTI_PHONEBOOK_STATUS, on_hook_pb_init, strg);
-       tcore_server_add_notification_hook(s, TNOTI_PS_PROTOCOL_STATUS, on_hook_ps_protocol_status, strg);
-       tcore_server_add_notification_hook(s, TNOTI_MODEM_POWER, on_hook_modem_power, strg);
+       dbg("Register for post-loaded Modem Plug-ins");
+       tcore_server_add_notification_hook(server,
+               TCORE_SERVER_NOTIFICATION_ADDED_MODEM_PLUGIN,
+               on_hook_modem_plugin_added, NULL);
+
+       tcore_server_add_notification_hook(server,
+               TCORE_SERVER_NOTIFICATION_REMOVED_MODEM_PLUGIN,
+               on_hook_modem_plugin_removed, NULL);
 
        return TRUE;
 }
 
-static void on_unload(TcorePlugin *p)
+static void on_unload(TcorePlugin *plugin)
 {
-       Storage *strg;
-
-       if (!p)
-               return;
+       Server *server;
+       TcoreStorage *strg;
+       tcore_check_return_assert(plugin != NULL);
 
        dbg("i'm unload");
 
-       strg = tcore_server_find_storage(tcore_plugin_ref_server(p), "vconf");
-       if (!strg)
-               return;
+       server = tcore_plugin_ref_server(plugin);
+       tcore_server_remove_notification_hook(server, on_hook_modem_plugin_added);
+       tcore_server_remove_notification_hook(server, on_hook_modem_plugin_removed);
 
+       strg = tcore_server_find_storage(tcore_plugin_ref_server(plugin), "vconf");
        tcore_storage_free(strg);
 }