The patch exists in the bluez-5.12 tizen version.
Bluetooth-Frwk need the signal to notify the upper app.
Change-Id: I584a80c7d3970e6e85f3f143a861ae2ca559057f
Signed-off-by: Wu Zheng <wu.zheng@intel.com>
&na->setup->dst) < 0)
goto reply;
&na->setup->dst) < 0)
goto reply;
+ rsp = BNEP_SUCCESS;
+
+{
+ const gchar *adapter_path = adapter_get_path(na->adapter);
+ const char *pdev = na->setup->dev;
+ char address[24] = {0};
+ char *paddr = address;
+
+ ba2str(&na->setup->dst, paddr);
+
+ DBG("send peerconnected signal");
+
+ g_dbus_emit_signal(btd_get_dbus_connection(), adapter_path,
+ NETWORK_SERVER_INTERFACE, "PeerConnected",
+ DBUS_TYPE_STRING, &pdev,
+ DBUS_TYPE_STRING, &paddr,
+ DBUS_TYPE_INVALID);
+}
reply:
bnep_send_ctrl_rsp(sk, BNEP_CONTROL, BNEP_SETUP_CONN_RSP, rsp);
reply:
bnep_send_ctrl_rsp(sk, BNEP_CONTROL, BNEP_SETUP_CONN_RSP, rsp);
continue;
bnep_server_delete(ns->bridge, session->dev, &session->dst);
continue;
bnep_server_delete(ns->bridge, session->dev, &session->dst);
+
+ DBG("send peerdisconnected signal");
+
+ g_dbus_emit_signal(btd_get_dbus_connection(),
+ adapter_get_path(ns->na->adapter),
+ NETWORK_SERVER_INTERFACE, "PeerDisconnected",
+ DBUS_TYPE_STRING, &session->dev,
+ DBUS_TYPE_STRING, &session->dst,
+ DBUS_TYPE_INVALID);
}
g_slist_free_full(ns->sessions, session_free);
}
g_slist_free_full(ns->sessions, session_free);
+static GDBusSignalTable server_signals[] = {
+ { GDBUS_SIGNAL("PeerConnected",
+ GDBUS_ARGS({ "device", "s" }, { "address", "s" })) },
+ { GDBUS_SIGNAL("PeerDisconnected",
+ GDBUS_ARGS({ "device", "s" }, { "address", "s" })) },
+ { }
+};
+
static const GDBusMethodTable server_methods[] = {
{ GDBUS_METHOD("Register",
GDBUS_ARGS({ "uuid", "s" }, { "bridge", "s" }), NULL,
static const GDBusMethodTable server_methods[] = {
{ GDBUS_METHOD("Register",
GDBUS_ARGS({ "uuid", "s" }, { "bridge", "s" }), NULL,
if (!g_dbus_register_interface(btd_get_dbus_connection(),
path, NETWORK_SERVER_INTERFACE,
if (!g_dbus_register_interface(btd_get_dbus_connection(),
path, NETWORK_SERVER_INTERFACE,
- server_methods, NULL, NULL,
+ server_methods, server_signals,
+ NULL,
na, path_unregister)) {
error("D-Bus failed to register %s interface",
na, path_unregister)) {
error("D-Bus failed to register %s interface",
- NETWORK_SERVER_INTERFACE);
+ NETWORK_SERVER_INTERFACE);
server_free(ns);
return -1;
}
server_free(ns);
return -1;
}