Signal for DHCP start point has been added.
And the interface name is also delivered to distinguish devices.
Change-Id: I30ac4a48309c5324efb66a36c9dd431e0c847f5e
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
return dhcp_client->ifindex;
}
+#if defined TIZEN_EXT
+char *g_dhcp_client_get_interface(GDHCPClient *dhcp_client)
+{
+ return dhcp_client->interface;
+}
+#endif
+
char *g_dhcp_client_get_server_address(GDHCPClient *dhcp_client)
{
if (!dhcp_client)
#if defined TIZEN_EXT
int g_dhcp_client_get_dhcp_lease_duration(GDHCPClient *client);
+char *g_dhcp_client_get_interface(GDHCPClient *dhcp_client);
#endif
char *g_dhcp_client_get_address(GDHCPClient *client);
bool __connman_network_get_weakness(struct connman_network *network);
bool __connman_network_native_autoconnect(struct connman_network *network);
#if defined TIZEN_EXT
-dbus_bool_t __connman_network_notify_dhcp_changed(const char *key, void *val);
+dbus_bool_t __connman_network_notify_dhcp_changed(const char *key, const char *val);
bool connman_network_get_psk_sha256(struct connman_network *network);
void connman_network_set_psk_sha256(struct connman_network *network, bool is_psk_sha256);
#endif
#if defined TIZEN_EXT
if (dhcp->network &&
connman_network_get_bool(dhcp->network, "WiFi.RoamingDHCP")) {
- int lease_time = 0;
connman_network_set_bool(dhcp->network, "WiFi.RoamingDHCP", false);
__connman_network_enable_ipconfig(dhcp->network, dhcp->ipconfig);
- __connman_network_notify_dhcp_changed("DHCP_FAIL", &lease_time);
+ __connman_network_notify_dhcp_changed("DHCP_FAIL",
+ g_dhcp_client_get_interface(dhcp_client));
return;
}
if (connman_setting_get_bool("EnableAutoIp") == false) {
DBG("link-local address autoconfiguration is disabled.");
+
if (dhcp->network) {
- int lease_time = 0;
DBG("[DHCP-C] auto ip is not used, set dhcp-fail error and disconnect");
- __connman_network_notify_dhcp_changed("DHCP_FAIL", &lease_time);
+ __connman_network_notify_dhcp_changed("DHCP_FAIL",
+ g_dhcp_client_get_interface(dhcp_client));
connman_network_set_error(dhcp->network, CONNMAN_NETWORK_ERROR_DHCP_FAIL);
}
return;
#if defined TIZEN_EXT
__connman_ipconfig_set_dhcp_lease_duration(dhcp->ipconfig, dhcp_lease_duration);
- __connman_network_notify_dhcp_changed(DHCP_SUCCESS, &dhcp_lease_duration);
+ __connman_network_notify_dhcp_changed(DHCP_SUCCESS,
+ g_dhcp_client_get_interface(dhcp_client));
#endif
/*
g_free(address);
g_free(netmask);
+
+#if defined TIZEN_EXT
+ __connman_network_notify_dhcp_changed("DHCP_FAIL",
+ g_dhcp_client_get_interface(ipv4ll_client));
+#endif
}
static int dhcp_initialize(struct connman_dhcp *dhcp)
dhcp->user_data = user_data;
#if defined TIZEN_EXT
+ __connman_network_notify_dhcp_changed("DHCP_STARTED",
+ g_dhcp_client_get_interface(dhcp->dhcp_client));
+
if (network && connman_network_get_bool(network, "WiFi.RoamingDHCP")) {
const char *last_addr = __connman_ipconfig_get_dhcp_address(ipconfig);
}
#if defined TIZEN_EXT
-dbus_bool_t __connman_network_notify_dhcp_changed(const char *key, void *val)
+dbus_bool_t __connman_network_notify_dhcp_changed(const char *key, const char *val)
{
- int *value = (int *) val;
DBusMessage *signal;
DBusMessageIter iter;
dbus_bool_t result = FALSE;
- DBG("key %s, val %d", key, *value);
+ if (val)
+ DBG("key %s, val %s", key, val);
+ else
+ DBG("key %s, val NULL", key);
signal = dbus_message_new_signal(CONNMAN_MANAGER_PATH,
CONNMAN_MANAGER_INTERFACE, "DhcpChanged");
return result;
dbus_message_iter_init_append(signal, &iter);
- connman_dbus_property_append_basic(&iter, key, DBUS_TYPE_INT32, val);
+ connman_dbus_property_append_basic(&iter, key, DBUS_TYPE_STRING, &val);
result = dbus_connection_send(connection, signal, NULL);
if (result)