#include "log.h"
#include "emulator.h"
#include "util.h"
+#include "netdbus.h"
static gboolean netconfig_is_emulated = FALSE;
char ip[30] = { 0, };
int sockfd = 0;
struct ifreq ifr;
+ GVariantBuilder *builder;
+ GVariant *params;
sockfd = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
if (sockfd < 0) {
inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr), 30);
vconf_set_str(VCONFKEY_NETWORK_IP, ip);
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+ g_variant_builder_add(builder, "{sv}", "IPv4Address",
+ g_variant_new_string(ip));
+
+ params = g_variant_new("(@a{sv})", g_variant_builder_end(builder));
+
+ netconfig_dbus_emit_signal(NULL, NETCONFIG_NETWORK_PATH,
+ NETCONFIG_NETWORK_INTERFACE, "NetworkConfigChanged", params);
}
static void __netconfig_emulator_set_proxy(void)
{
const char HTTP_PROXY[] = "http_proxy";
char *proxy = NULL;
+ GVariantBuilder *builder;
+ GVariant *params;
proxy = netconfig_get_env(HTTP_PROXY);
DBG("Get system proxy: %s", proxy);
- if (proxy != NULL){
+ if (proxy != NULL) {
vconf_set_str(VCONFKEY_NETWORK_PROXY, proxy);
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+ g_variant_builder_add(builder, "{sv}", "ProxyAddress",
+ g_variant_new_string(proxy));
+
+ params = g_variant_new("(@a{sv})", g_variant_builder_end(builder));
+
+ netconfig_dbus_emit_signal(NULL, NETCONFIG_NETWORK_PATH,
+ NETCONFIG_NETWORK_INTERFACE, "NetworkConfigChanged",
+ params);
+
free(proxy);
}
}
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);
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+
+ g_variant_builder_add(builder, "{sv}", "NetworkStatus",
+ g_variant_new_int32(VCONFKEY_NETWORK_ETHERNET));
+
+ params = g_variant_new("(@a{sv})", g_variant_builder_end(builder));
+
+ netconfig_dbus_emit_signal(NULL, NETCONFIG_NETWORK_PATH,
+ NETCONFIG_NETWORK_INTERFACE, "NetworkConfigChanged", params);
}
static void __netconfig_emulator_config_emul_env(void)
__netconfig_emulator_set_network_state();
}
-gboolean netconfig_emulator_is_emulated(void)
+gboolean emulator_is_emulated(void)
{
return netconfig_is_emulated;
}
-void netconfig_emulator_test_and_start(void)
+void emulator_test_and_start(void)
{
netconfig_is_emulated = __netconfig_emulator_test_emulation_env();
- DBG("Emulation environment tested: %s", netconfig_is_emulated ?
- "It's emulated" : "Not emulated");
+ DBG("Emulation environment tested: %s", netconfig_is_emulated ? "It's emulated" : "Not emulated");
if (netconfig_is_emulated == TRUE)
__netconfig_emulator_config_emul_env();