Update the host's vconf value to the container 86/267886/2 accepted/tizen/unified/20211216.155842 submit/tizen/20211215.063645
authorJaehyun Kim <jeik01.kim@samsung.com>
Mon, 13 Dec 2021 02:52:27 +0000 (11:52 +0900)
committerJaehyun Kim <jeik01.kim@samsung.com>
Mon, 13 Dec 2021 09:35:09 +0000 (18:35 +0900)
Change-Id: Ice9856d3144fc8089faeb55fbd022865dce3674c
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
12 files changed:
include/netdbus.h
include/network-state.h
include/signal-handler.h
include/util.h
include/wifi-power.h
src/dbus/netdbus.c
src/main.c
src/network-state.c
src/signal-handler.c
src/utils/emulator.c
src/utils/util.c
src/wifi-power.c

index 502f865..ed2175b 100755 (executable)
@@ -69,6 +69,9 @@ extern "C" {
 #define NETCONFIG_ETHERNET_PATH                "/net/netconfig/ethernet"
 #define NETCONFIG_ETHERNET_INTERFACE   "net.netconfig.ethernet"
 
+#define CONTAINER_FILE "/run/systemd/container"
+#define DBUS_HOST_SYSTEM_BUS_ADDRESS "unix:path=/run/host/dbus/system_bus_socket"
+
 #define DBUS_PATH_MAX_BUFLEN           512
 #define DBUS_STATE_MAX_BUFLEN          64
 
index b7bff2c..3b6aa12 100755 (executable)
@@ -25,6 +25,8 @@ extern "C" {
 #endif
 
 void netconfig_network_notify_ethernet_cable_state(const char *key);
+int netconfig_dbus_get_vconf_value(const char *key,
+               const char *type, int *ret, int *int_value, char **str_value);
 
 const char *netconfig_get_default_profile(void);
 const char *netconfig_get_default_ifname(void);
@@ -44,6 +46,7 @@ void netconfig_set_default_is_internet(gboolean state);
 
 void netconfig_update_default(void);
 void netconfig_update_default_profile(void);
+void netconfig_update_initial_container_vconf(void);
 const char *netconfig_get_ifname(const char *profile);
 
 void state_object_create_and_init(void);
index 37a6bff..9f55f61 100755 (executable)
@@ -24,6 +24,8 @@
 extern "C" {
 #endif
 
+void register_gdbus_signal_container(void);
+void deregister_gdbus_signal_container(void);
 void register_gdbus_signal(void);
 void deregister_gdbus_signal(void);
 
index 09e4359..ae6a260 100755 (executable)
@@ -36,6 +36,7 @@ extern "C" {
 
 #define MAC_ADDRESS_MAX_LEN   18
 #define MAX_SIZE_ERROR_BUFFER 256
+#define VCONF_ETH_MAC_ADDRESS  "db/dnet/mac_address"
 
 #define ETHERNET_FEATURE "http://tizen.org/feature/network.ethernet"
 #define TETHERING_FEATURE "http://tizen.org/feature/network.tethering"
@@ -93,10 +94,15 @@ int netconfig_send_message_to_net_popup(const char *title,
 int netconfig_send_restriction_to_net_popup(const char *title,
                const char *type, const char *restriction);
 void netconfig_set_system_event(int sys_evt, int evt_key, int evt_val);
-void netconfig_set_vconf_int(const char * key, int value, gboolean log);
-void netconfig_set_vconf_str(const char * key, const char * value, gboolean log);
-int netconfig_vconf_get_int(const char * key, int *value);
-int netconfig_vconf_get_bool(const char * key, int *value);
+void netconfig_set_vconf_int(const char *key, int value, gboolean log);
+void netconfig_set_vconf_str(const char *key, const char *value, gboolean log);
+int netconfig_vconf_get_int(const char *key, int *value);
+int netconfig_vconf_get_bool(const char *key, int *value);
+
+char *netconfig_vconf_get_str_dbus(const char *key);
+int netconfig_vconf_get_int_dbus(const char *key, int *value);
+int netconfig_vconf_get_bool_dbus(const char *key, int *value);
+
 char* netconfig_get_env(const char *key);
 void netconfig_set_mac_address_to_vconf(const char *def_mac);
 void netconfig_set_mac_address_from_file(void);
index 77a4ae5..033d8b3 100755 (executable)
@@ -26,6 +26,10 @@ extern "C" {
 
 #include "wifi.h"
 
+#define VCONF_WIFI_OFF_STATE_BY_AIRPLANE       "file/private/wifi/wifi_off_by_airplane"
+#define VCONF_WIFI_OFF_STATE_BY_RESTRICTED     "file/private/wifi/wifi_off_by_restricted"
+#define VCONF_WIFI_OFF_STATE_BY_EMERGENCY      "file/private/wifi/wifi_off_by_emergency"
+
 void wifi_power_initialize(void);
 void wifi_power_deinitialize(void);
 
index 4e06230..3136ddb 100755 (executable)
@@ -123,7 +123,14 @@ int _create_gdbus_call(GDBusConnection *conn)
                return -1;
        }
 
-       gconn_data.connection = conn;
+       if (access(CONTAINER_FILE, F_OK) == 0) {
+               gconn_data.connection = g_dbus_connection_new_for_address_sync(
+                               DBUS_HOST_SYSTEM_BUS_ADDRESS,
+                               G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT | G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION,
+                               NULL, NULL, NULL);
+       } else
+               gconn_data.connection = conn;
+
        if (gconn_data.connection == NULL) {
                ERR("Failed to connect to the D-BUS daemon");
                return -1;
index 19eee08..f1832c7 100755 (executable)
@@ -48,7 +48,6 @@ static GMainLoop *main_loop = NULL;
 
 /*Poll the ethernet Cable Plug-in /Plug-out status at every 1000 ms*/
 #define ETH_POLLING_TIME       1000
-#define CONTAINER_FILE "/run/systemd/container"
 
 /* Callback to Poll the Ethernet Status*/
 gboolean __net_ethernet_cable_status_polling_callback(gpointer data)
@@ -57,6 +56,12 @@ gboolean __net_ethernet_cable_status_polling_callback(gpointer data)
        return TRUE;
 }
 
+void _got_name_cb_container(void)
+{
+       register_gdbus_signal_container();
+       netconfig_update_initial_container_vconf();
+}
+
 void _got_name_cb(void)
 {
        wifi_object_create_and_init();
@@ -121,14 +126,18 @@ int main(int argc, char *argv[])
        }
 
        if (access(CONTAINER_FILE, F_OK) == 0) {
-               ret = setup_gdbus(NULL);
+               ret = setup_gdbus(_got_name_cb_container);
                if (ret != 0) {
                        ERR("_netconfig_setup_gdbus is failed\n");
                        return 0;
                }
+
                g_main_loop_run(main_loop);
+
                cleanup_gdbus();
                log_cleanup();
+               deregister_gdbus_signal_container();
+
                return 0;
        }
 
index 586ef7f..79a663e 100755 (executable)
@@ -115,6 +115,40 @@ struct netconfig_default_connection {
        gboolean is_internet;
 };
 
+struct netconfig_vconf_key_t {
+       const char *key;
+       enum vconf_t type;
+};
+
+static struct netconfig_vconf_key_t network_vconf_keys[] = {
+       {VCONFKEY_NETWORK_IP, VCONF_TYPE_STRING},
+       {VCONFKEY_NETWORK_PROXY, VCONF_TYPE_STRING},
+       {VCONFKEY_NETWORK_IP6, VCONF_TYPE_STRING},
+       {VCONF_ETH_MAC_ADDRESS, VCONF_TYPE_STRING},
+       {VCONFKEY_WIFI_CONNECTED_AP_NAME, VCONF_TYPE_STRING},
+       {VCONFKEY_WIFI_BSSID_ADDRESS, VCONF_TYPE_STRING},
+       {VCONFKEY_NETWORK_CONFIGURATION_CHANGE_IND, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_STATUS, VCONF_TYPE_INT},
+       {VCONFKEY_DNET_STATE, VCONF_TYPE_INT},
+       {VCONF_WIFI_OFF_STATE_BY_EMERGENCY, VCONF_TYPE_INT},
+       {VCONF_WIFI_OFF_STATE_BY_AIRPLANE, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_WIFI_OFF_BY_AIRPLANE, VCONF_TYPE_INT},
+       {VCONFKEY_WIFI_TRANSFER_STATE, VCONF_TYPE_INT},
+       {VCONF_WIFI_OFF_STATE_BY_RESTRICTED, VCONF_TYPE_INT},
+       {VCONFKEY_WIFI_STRENGTH, VCONF_TYPE_INT},
+       {VCONFKEY_WIFI_STATE, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_WIFI_STATE, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_CELLULAR_PKT_LAST_RCV, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_CELLULAR_PKT_LAST_SNT, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_RCV, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_CELLULAR_PKT_TOTAL_SNT, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_WIFI_PKT_TOTAL_RCV, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_WIFI_PKT_LAST_RCV, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_WIFI_PKT_TOTAL_SNT, VCONF_TYPE_INT},
+       {VCONFKEY_NETWORK_WIFI_PKT_LAST_SNT, VCONF_TYPE_INT},
+       {NULL, }
+};
+
 static struct netconfig_default_connection
                                netconfig_default_connection_info = { NULL, };
 
@@ -1118,6 +1152,33 @@ static char *__netconfig_get_mac_address(const char *profile)
        return g_strdup(mac_str);
 }
 
+int netconfig_dbus_get_vconf_value(const char *key,
+               const char *type, int *ret, int *int_value, char **str_value)
+{
+       GVariant *result = NULL;
+       GVariant *params = NULL;
+
+       params = g_variant_new("(ss)", key, type);
+
+       result = netconfig_invoke_dbus_method(NETCONFIG_SERVICE,
+                       NETCONFIG_NETWORK_PATH, NETCONFIG_NETWORK_INTERFACE,
+                       "RequestVconfValue", params);
+
+       if (result == NULL) {
+               ERR("netconfig_invoke_dbus_method failed");
+               return FALSE;
+       }
+
+       g_variant_get(result, "(iis)", ret, int_value, str_value);
+
+       INFO("Vconf key: %s, type: %s, ret: %d, int_value: %d, str_value: %s",
+                       key, type, *ret, *int_value, *str_value);
+
+       g_variant_unref(result);
+
+       return TRUE;
+}
+
 const char *netconfig_get_default_profile(void)
 {
        return netconfig_default_connection_info.profile;
@@ -1215,6 +1276,32 @@ void netconfig_update_default(void)
        }
 }
 
+void netconfig_update_initial_container_vconf(void)
+{
+       char *str_value = NULL;
+       int int_value = 0;
+       int idx = 0;
+
+       while (network_vconf_keys[idx].key) {
+               switch (network_vconf_keys[idx].type) {
+               case VCONF_TYPE_STRING:
+                       str_value = netconfig_vconf_get_str_dbus(network_vconf_keys[idx].key);
+                       if (str_value)
+                               vconf_set_str(network_vconf_keys[idx].key, str_value);
+                       g_free(str_value);
+                       break;
+               case VCONF_TYPE_INT:
+                       if (netconfig_vconf_get_int_dbus(network_vconf_keys[idx].key, &int_value) == VCONF_OK)
+                               vconf_set_int(network_vconf_keys[idx].key, int_value);
+                       break;
+               default:
+                       break;
+               }
+
+               idx++;
+       }
+}
+
 const char *netconfig_get_ifname(const char *profile)
 {
        const char *ifname = NULL;
index 1e45908..15c6e65 100755 (executable)
@@ -83,6 +83,8 @@
 #define CONNMAN_SIGNAL_DEVICE_CHANGED          "DeviceChanged"
 #define CONNMAN_SIGNAL_DEVICE_DETECTED         "DeviceDetected"
 #define SIGNAL_NAME_OWNER_CHANGED              "NameOwnerChanged"
+#define NETCONFIG_SIGNAL_VCONF_CHANGED "VconfChanged"
+
 
 #define MAX_SIG_LEN 64
 #define TOTAL_CONN_SIGNALS 7
@@ -156,6 +158,7 @@ static int supp_subscription_ids[SIG_MAX] = {0};
 #if defined TIZEN_DEBUG_ENABLE
 static int dumpservice_subscription_id = 0;
 #endif
+static int netconfig_subscription_id = 0;
 
 typedef void (*supplicant_signal_cb)(GDBusConnection *conn,
                const gchar *name, const gchar *path, const gchar *interface,
@@ -187,11 +190,11 @@ static void __netconfig_extract_ipv4_signal_data(GVariant *dictionary,
 
                                if (value != NULL) {
                                        netconfig_set_default_ipaddress(value);
-                                       vconf_set_str(VCONFKEY_NETWORK_IP, value);
+                                       netconfig_set_vconf_str(VCONFKEY_NETWORK_IP, value, TRUE);
                                        g_variant_builder_add(builder, "{sv}", "IPv4Address",
                                                                  g_variant_new_string(value));
                                } else if (old_ip != NULL && strlen(old_ip) > 0) {
-                                       vconf_set_str(VCONFKEY_NETWORK_IP, "");
+                                       netconfig_set_vconf_str(VCONFKEY_NETWORK_IP, "",TRUE);
                                        g_variant_builder_add(builder, "{sv}", "IPv4Address",
                                                                  g_variant_new_string(""));
                                }
@@ -233,11 +236,11 @@ static void __netconfig_extract_ipv6_signal_data(GVariant *dictionary,
 
                                if (value != NULL) {
                                        netconfig_set_default_ipaddress6(value);
-                                       vconf_set_str(VCONFKEY_NETWORK_IP6, value);
+                                       netconfig_set_vconf_str(VCONFKEY_NETWORK_IP6, value, TRUE);
                                        g_variant_builder_add(builder, "{sv}", "IPv6Address",
                                                                  g_variant_new_string(value));
                                } else if (old_ip6 != NULL && strlen(old_ip6) > 0) {
-                                       vconf_set_str(VCONFKEY_NETWORK_IP6, "");
+                                       netconfig_set_vconf_str(VCONFKEY_NETWORK_IP6, "", TRUE);
                                        g_variant_builder_add(builder, "{sv}", "IPv6Address",
                                                                  g_variant_new_string(""));
                                }
@@ -570,7 +573,7 @@ static void _service_signal_cb(GDBusConnection *conn,
                                        builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
 
                                        netconfig_set_default_proxy(value);
-                                       vconf_set_str(VCONFKEY_NETWORK_PROXY, value);
+                                       netconfig_set_vconf_str(VCONFKEY_NETWORK_PROXY, value, TRUE);
 
                                        g_variant_builder_add(builder, "{sv}", "ProxyAddress",
                                                                        g_variant_new_string(value));
@@ -596,7 +599,7 @@ static void _service_signal_cb(GDBusConnection *conn,
                                                builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
 
                                                netconfig_set_default_proxy("");
-                                               vconf_set_str(VCONFKEY_NETWORK_PROXY, "");
+                                               netconfig_set_vconf_str(VCONFKEY_NETWORK_PROXY, "", TRUE);
 
                                                g_variant_builder_add(builder, "{sv}", "ProxyAddress",
                                                                        g_variant_new_string(""));
@@ -691,6 +694,39 @@ static void _dbus_name_changed_cb(GDBusConnection *conn,
        return;
 }
 
+static void _dbus_vconf_changed_cb(GDBusConnection *conn,
+               const gchar *Name, const gchar *path, const gchar *interface,
+               const gchar *sig, GVariant *param, gpointer user_data)
+{
+       gchar *key = NULL;
+       gchar *type = NULL;
+       gchar *str_val = NULL;
+       int int_val = 0;
+
+       if (param == NULL)
+               return;
+
+       g_variant_get(param, "(sssi)", &key, &type, &str_val, &int_val);
+
+       if (!key || key[0] == '\0')
+               goto done;
+
+       DBG("VconfChanged key: %s, type: %s, str_val: %s, int_val: %d",
+                                               key, type, str_val, int_val);
+
+       if (g_strcmp0(type, "string") == 0 && str_val)
+               vconf_set_str(key, str_val);
+       else if (g_strcmp0(type, "int") == 0)
+               vconf_set_int(key, int_val);
+       else if (g_strcmp0(type, "bool") == 0)
+               vconf_set_bool(key, int_val);
+
+done:
+       g_free(key);
+       g_free(type);
+       g_free(str_val);
+}
+
 static void _scan_changed_cb(GDBusConnection *conn,
                const gchar *name, const gchar *path, const gchar *interface,
                const gchar *sig, GVariant *param, gpointer user_data)
@@ -1455,6 +1491,31 @@ static supplicant_signal_cb supplicant_cbs[SIG_MAX] = {
                _supplicant_dpp_conf_obj,
 };
 
+void register_gdbus_signal_container(void)
+{
+       GDBusConnection *connection = NULL;
+       connection = netdbus_get_connection();
+
+       if (connection == NULL) {
+               ERR("Failed to get GDbus Connection");
+               return;
+       }
+
+       netconfig_subscription_id = g_dbus_connection_signal_subscribe(
+                       connection,
+                       NETCONFIG_SERVICE,
+                       NETCONFIG_NETWORK_INTERFACE,
+                       NETCONFIG_SIGNAL_VCONF_CHANGED,
+                       NETCONFIG_NETWORK_PATH,
+                       NULL,
+                       G_DBUS_SIGNAL_FLAGS_NONE,
+                       _dbus_vconf_changed_cb,
+                       NULL,
+                       NULL);
+
+       INFO("Successfully register host net-config DBus signal filter");
+}
+
 void register_gdbus_signal(void)
 {
        GDBusConnection *connection = NULL;
@@ -1601,6 +1662,21 @@ void register_gdbus_signal(void)
        netconfig_update_default();
 }
 
+void deregister_gdbus_signal_container(void)
+{
+       GDBusConnection *connection = NULL;
+
+       connection = netdbus_get_connection();
+       if (!connection) {
+               ERR("Already de-registered. Nothing to be done");
+               return;
+       }
+
+       if (netconfig_subscription_id)
+               g_dbus_connection_signal_unsubscribe(connection,
+                               netconfig_subscription_id);
+}
+
 void deregister_gdbus_signal(void)
 {
        GDBusConnection *connection = NULL;
index 49a2b90..2d3f659 100755 (executable)
@@ -87,7 +87,7 @@ static void __netconfig_emulator_set_ip(void)
        g_strlcpy(ip,
                        inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr), 30);
 
-       vconf_set_str(VCONFKEY_NETWORK_IP, ip);
+       netconfig_set_vconf_str(VCONFKEY_NETWORK_IP, ip, TRUE);
 
        builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
        g_variant_builder_add(builder, "{sv}", "IPv4Address",
@@ -111,7 +111,7 @@ static void __netconfig_emulator_set_proxy(void)
        DBG("Get system proxy: %s", proxy);
 
        if (proxy != NULL) {
-               vconf_set_str(VCONFKEY_NETWORK_PROXY, proxy);
+               netconfig_set_vconf_str(VCONFKEY_NETWORK_PROXY, proxy, TRUE);
 
                builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
                g_variant_builder_add(builder, "{sv}", "ProxyAddress",
@@ -133,9 +133,9 @@ static void __netconfig_emulator_set_network_state(void)
        GVariantBuilder *builder;
        GVariant *params;
 
-       vconf_set_int(VCONFKEY_NETWORK_CONFIGURATION_CHANGE_IND, 1);
-       vconf_set_int(VCONFKEY_NETWORK_STATUS, VCONFKEY_NETWORK_ETHERNET);
-       vconf_set_int(VCONFKEY_DNET_STATE, VCONFKEY_DNET_NORMAL_CONNECTED);
+       netconfig_set_vconf_int(VCONFKEY_NETWORK_CONFIGURATION_CHANGE_IND, 1, TRUE);
+       netconfig_set_vconf_int(VCONFKEY_NETWORK_STATUS, VCONFKEY_NETWORK_ETHERNET, TRUE);
+       netconfig_set_vconf_int(VCONFKEY_DNET_STATE, VCONFKEY_DNET_NORMAL_CONNECTED, TRUE);
 
        builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
 
index 1a18a4a..4eba47a 100755 (executable)
@@ -44,6 +44,7 @@
 #include "util.h"
 #include "neterror.h"
 #include "wifi-state.h"
+#include "network-state.h"
 #include "netdbus.h"
 
 #define DBUS_SERVICE_DBUS              "org.freedesktop.DBus"
@@ -1236,9 +1237,10 @@ void netconfig_notify_online_state(char *ifname, gboolean online_state)
        online_monitor_plugin->notify_online_state(ifname, online_state);
 }
 
-void netconfig_set_vconf_int(const char * key, int value, gboolean log)
+void netconfig_set_vconf_int(const char *key, int value, gboolean log)
 {
        int ret = 0;
+       GVariant *params = NULL;
 
        if (log)
                DBG("[%s: %d]", key, value);
@@ -1246,11 +1248,18 @@ void netconfig_set_vconf_int(const char * key, int value, gboolean log)
        ret = vconf_set_int(key, value);
        if (ret != VCONF_OK)
                ERR("Failed to set");
+
+       params = g_variant_new("(sssi)", key, "int", "", value);
+       if (netconfig_dbus_emit_signal(NULL, NETCONFIG_NETWORK_PATH,
+                       NETCONFIG_NETWORK_INTERFACE, "VconfChanged",
+                       params) == FALSE)
+               ERR("Failed to emit VconfChanged signal");
 }
 
-void netconfig_set_vconf_str(const char * key, const char * value, gboolean log)
+void netconfig_set_vconf_str(const char *key, const char *value, gboolean log)
 {
        int ret = 0;
+       GVariant *params = NULL;
 
        if (log)
                DBG("[%s: %s]", key, value);
@@ -1258,9 +1267,15 @@ void netconfig_set_vconf_str(const char * key, const char * value, gboolean log)
        ret = vconf_set_str(key, value);
        if (ret != VCONF_OK)
                ERR("Failed to set");
+
+       params = g_variant_new("(sssi)", key, "string", value, 0);
+       if (netconfig_dbus_emit_signal(NULL, NETCONFIG_NETWORK_PATH,
+                       NETCONFIG_NETWORK_INTERFACE, "VconfChanged",
+                       params) == FALSE)
+               ERR("Failed to emit VconfChanged signal");
 }
 
-int netconfig_vconf_get_int(const char * key, int *value)
+int netconfig_vconf_get_int(const char *key, int *value)
 {
        int ret = 0;
 
@@ -1273,7 +1288,7 @@ int netconfig_vconf_get_int(const char * key, int *value)
        return 0;
 }
 
-int netconfig_vconf_get_bool(const char * key, int *value)
+int netconfig_vconf_get_bool(const char *key, int *value)
 {
        int ret = 0;
 
@@ -1286,6 +1301,52 @@ int netconfig_vconf_get_bool(const char * key, int *value)
        return 0;
 }
 
+char *netconfig_vconf_get_str_dbus(const char *key)
+{
+       int ret = 0;
+       int int_value = 0;
+       char *str_value = NULL;
+
+       if (!netconfig_dbus_get_vconf_value(key, "string", &ret, &int_value, &str_value))
+               return NULL;
+
+       return str_value;
+}
+
+int netconfig_vconf_get_int_dbus(const char *key, int *value)
+{
+       int ret = 0;
+       int int_value = 0;
+       char *str_value = NULL;
+
+       if (!netconfig_dbus_get_vconf_value(key, "int", &ret, &int_value, &str_value))
+               return VCONF_ERROR;
+
+       *value = int_value;
+
+       if (str_value)
+               g_free(str_value);
+
+       return ret;
+}
+
+int netconfig_vconf_get_bool_dbus(const char *key, int *value)
+{
+       int ret = 0;
+       int int_value = 0;
+       char *str_value = NULL;
+
+       if (!netconfig_dbus_get_vconf_value(key, "bool", &ret, &int_value, &str_value))
+               return VCONF_ERROR;
+
+       *value = int_value;
+
+       if (str_value)
+               g_free(str_value);
+
+       return ret;
+}
+
 char* netconfig_get_env(const char *key)
 {
        FILE *fp;
index fe8f48c..0cdfd8e 100755 (executable)
 #define WLAN_SUPPLICANT_SCRIPT         "/usr/bin/wpa_supp.sh"
 #define P2P_SUPPLICANT_SCRIPT          "/usr/bin/p2p_supp.sh"
 
-#define VCONF_WIFI_OFF_STATE_BY_AIRPLANE       "file/private/wifi/wifi_off_by_airplane"
-#define VCONF_WIFI_OFF_STATE_BY_RESTRICTED     "file/private/wifi/wifi_off_by_restricted"
-#define VCONF_WIFI_OFF_STATE_BY_EMERGENCY      "file/private/wifi/wifi_off_by_emergency"
 #if !defined TIZEN_WEARABLE
 #define VCONFKEY_SETAPPL_NETWORK_PERMIT_WITH_LCD_OFF_LIMIT     "db/setting/network_with_lcd_off_limit"
 #endif
 
 #define WLAN_MAC_ADDR_MAX 20
 #define ETH_MAC_ADDR_SIZE 6
-#define VCONF_ETH_MAC_ADDRESS  "db/dnet/mac_address"
 #define NET_EXEC_PATH "/sbin/ifconfig"
 #define OS_RANDOM_FILE "/dev/urandom"