void wfd_asp_session_config_request(unsigned int session_id, int get_pin, char *pin);
void wfd_asp_connect_status(unsigned char *session_mac,
unsigned int session_id, int status, char *deferred);
-
+void wfd_asp_session_peer_ip(unsigned char *session_mac,
+ unsigned int session_id, unsigned char *service_mac,
+ unsigned char *session_ip);
#ifdef __cplusplus
}
#endif
Name: wifi-direct-manager
Summary: Wi-Fi Direct manger
-Version: 1.2.199
+Version: 1.2.200
Release: 1
Group: Network & Connectivity/Wireless
License: Apache-2.0
wfd_manager_dbus_emit_signal(WFD_MANAGER_ASP_INTERFACE, "ConnectStatus", parameter);
return;
}
+
+void wfd_asp_session_peer_ip(unsigned char *session_mac,
+ unsigned int session_id, unsigned char *service_mac,
+ unsigned char *session_ip)
+{
+ GVariantBuilder *builder = NULL;
+ GVariant *parameter = NULL;
+ char assigned_ip_address[IPSTR_LEN+1] = {0,};
+ g_snprintf(assigned_ip_address, IPSTR_LEN, IPSTR, IP2STR(session_ip));
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+ g_variant_builder_add(builder, "{sv}",
+ "session_mac",
+ wfd_manager_dbus_pack_ay(session_mac, MACADDR_LEN));
+ g_variant_builder_add(builder, "{sv}",
+ "session_id",
+ g_variant_new_uint32(session_id));
+ g_variant_builder_add(builder, "{sv}",
+ "service_mac",
+ wfd_manager_dbus_pack_ay(service_mac, MACADDR_LEN));
+ g_variant_builder_add(builder, "{sv}",
+ "assigned_ip_address",
+ g_variant_new_string(assigned_ip_address));
+ parameter = g_variant_new("(a{sv})", builder);
+ g_variant_builder_unref(builder);
+
+ wfd_manager_dbus_emit_signal(WFD_MANAGER_ASP_INTERFACE,
+ "SessionPeerIPAssigned", parameter);
+ return;
+}
WFD_EVENT_CONNECTION_RSP,
peer_mac_address));
#if defined(TIZEN_FEATURE_ASP)
- if (!ISZEROMACADDR(session->session_mac))
+ if (!ISZEROMACADDR(session->session_mac)) {
wfd_asp_connect_status(session->session_mac,
session->session_id,
ASP_CONNECT_STATUS_GROUP_FORMATION_COMPLETED,
NULL);
+ wfd_asp_session_peer_ip(session->session_mac, session->session_id,
+ session->service_mac, peer->ip_addr);
+ }
#endif
wfd_state_set(manager, WIFI_DIRECT_STATE_CONNECTED);
wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTED);
g_variant_new("(ss)", peer_mac_address,
assigned_ip_address));
#if defined(TIZEN_FEATURE_ASP)
- if (!ISZEROMACADDR(session->session_mac))
+ if (!ISZEROMACADDR(session->session_mac)) {
wfd_asp_connect_status(session->session_mac,
session->session_id,
ASP_CONNECT_STATUS_GROUP_FORMATION_COMPLETED,
NULL);
+
+ wfd_asp_session_peer_ip(session->session_mac, session->session_id,
+ session->service_mac, peer->ip_addr);
+ }
#endif
} else
#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */
"<signal name='SessionStatus'>"
"<arg type='a{sv}' name='parameters'/>"
"</signal>"
+ "<signal name='SessionPeerIPAssigned'>"
+ "<arg type='a{sv}' name='parameters'/>"
+ "</signal>"
"</interface>"
#endif
"</node>"