mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-25 21:24:16 +08:00
Adding device_get_address.
Signed-off-by: Alok Barsode <alok.barsode@azingo.com>
This commit is contained in:
parent
dcf5298e81
commit
aec749f073
@ -278,6 +278,7 @@ static struct bonding_request_info *bonding_request_new(DBusConnection *conn,
|
||||
struct bonding_request_info *bonding;
|
||||
struct device *device;
|
||||
const char *name = dbus_message_get_sender(msg);
|
||||
const gchar *destination;
|
||||
|
||||
debug("bonding_request_new(%s)", address);
|
||||
|
||||
@ -285,10 +286,13 @@ static struct bonding_request_info *bonding_request_new(DBusConnection *conn,
|
||||
if (!device)
|
||||
return NULL;
|
||||
|
||||
destination = device_get_address(device);
|
||||
device->agent = agent_create(adapter, name, agent_path,
|
||||
capability, device_agent_removed, device);
|
||||
capability,
|
||||
device_agent_removed,
|
||||
device);
|
||||
debug("Temporary agent registered for hci%d/%s at %s:%s",
|
||||
adapter->dev_id, device->address, name,
|
||||
adapter->dev_id, destination, name,
|
||||
agent_path);
|
||||
|
||||
bonding = g_new0(struct bonding_request_info, 1);
|
||||
@ -737,11 +741,12 @@ void adapter_remove_device(DBusConnection *conn, struct adapter *adapter,
|
||||
struct device *device)
|
||||
{
|
||||
bdaddr_t src;
|
||||
const gchar *destination = device_get_address(device);
|
||||
|
||||
str2ba(adapter->address, &src);
|
||||
delete_entry(&src, "profiles", device->address);
|
||||
delete_entry(&src, "profiles", destination);
|
||||
|
||||
remove_bonding(conn, NULL, device->address, adapter);
|
||||
remove_bonding(conn, NULL, destination, adapter);
|
||||
|
||||
if (!device->temporary) {
|
||||
g_dbus_emit_signal(conn, adapter->path,
|
||||
|
@ -726,6 +726,7 @@ static void pincode_cb(struct agent *agent, DBusError *err, const char *pincode,
|
||||
size_t len;
|
||||
int dev;
|
||||
struct pending_auth_info *auth;
|
||||
const gchar *destination = device_get_address(device);
|
||||
|
||||
/* No need to reply anything if the authentication already failed */
|
||||
if (adapter->bonding && adapter->bonding->hci_status)
|
||||
@ -739,7 +740,7 @@ static void pincode_cb(struct agent *agent, DBusError *err, const char *pincode,
|
||||
}
|
||||
|
||||
str2ba(adapter->address, &sba);
|
||||
str2ba(device->address, &dba);
|
||||
str2ba(destination, &dba);
|
||||
|
||||
auth = adapter_find_auth_request(adapter, &dba);
|
||||
|
||||
@ -814,6 +815,7 @@ static void confirm_cb(struct agent *agent, DBusError *err, void *user_data)
|
||||
user_confirm_reply_cp cp;
|
||||
int dd;
|
||||
struct pending_auth_info *auth;
|
||||
const gchar *destination = device_get_address(device);
|
||||
|
||||
/* No need to reply anything if the authentication already failed */
|
||||
if (adapter->bonding && adapter->bonding->hci_status)
|
||||
@ -826,7 +828,7 @@ static void confirm_cb(struct agent *agent, DBusError *err, void *user_data)
|
||||
}
|
||||
|
||||
memset(&cp, 0, sizeof(cp));
|
||||
str2ba(device->address, &cp.bdaddr);
|
||||
str2ba(destination, &cp.bdaddr);
|
||||
|
||||
auth = adapter_find_auth_request(adapter, &cp.bdaddr);
|
||||
|
||||
@ -854,6 +856,7 @@ static void passkey_cb(struct agent *agent, DBusError *err, uint32_t passkey,
|
||||
bdaddr_t dba;
|
||||
int dd;
|
||||
struct pending_auth_info *auth;
|
||||
const gchar *destination = device_get_address(device);
|
||||
|
||||
/* No need to reply anything if the authentication already failed */
|
||||
if (adapter->bonding && adapter->bonding->hci_status)
|
||||
@ -865,7 +868,7 @@ static void passkey_cb(struct agent *agent, DBusError *err, uint32_t passkey,
|
||||
return;
|
||||
}
|
||||
|
||||
str2ba(device->address, &dba);
|
||||
str2ba(destination, &dba);
|
||||
|
||||
memset(&cp, 0, sizeof(cp));
|
||||
bacpy(&cp.bdaddr, &dba);
|
||||
@ -1805,6 +1808,7 @@ void hcid_dbus_disconn_complete(bdaddr_t *local, uint8_t status,
|
||||
GSList *l;
|
||||
gboolean connected = FALSE;
|
||||
struct pending_auth_info *auth;
|
||||
const gchar *destination;
|
||||
|
||||
if (status) {
|
||||
error("Disconnection failed: 0x%02x", status);
|
||||
@ -1866,12 +1870,13 @@ void hcid_dbus_disconn_complete(bdaddr_t *local, uint8_t status,
|
||||
|
||||
device = adapter_find_device(adapter, paddr);
|
||||
if (device) {
|
||||
destination = device_get_address(device);
|
||||
dbus_connection_emit_property_changed(connection,
|
||||
device->path, DEVICE_INTERFACE,
|
||||
"Connected", DBUS_TYPE_BOOLEAN,
|
||||
&connected);
|
||||
if (device->temporary) {
|
||||
debug("Removing temporary device %s", device->address);
|
||||
debug("Removing temporary device %s", destination);
|
||||
adapter_remove_device(connection, adapter, device);
|
||||
}
|
||||
}
|
||||
|
@ -936,6 +936,14 @@ struct adapter *device_get_adapter(struct device *device)
|
||||
return device->adapter;
|
||||
}
|
||||
|
||||
const gchar *device_get_address(struct device *device)
|
||||
{
|
||||
if (!device)
|
||||
return NULL;
|
||||
|
||||
return device->address;
|
||||
}
|
||||
|
||||
int btd_register_device_driver(struct btd_device_driver *driver)
|
||||
{
|
||||
const char **uuid;
|
||||
|
@ -57,6 +57,7 @@ int device_browse(struct device *device, DBusConnection *conn,
|
||||
DBusMessage *msg, uuid_t *search);
|
||||
void device_probe_drivers(struct device *device, GSList *uuids);
|
||||
struct adapter *device_get_adapter(struct device *device);
|
||||
const gchar *device_get_address(struct device *device);
|
||||
|
||||
#define BTD_UUIDS(args...) ((const char *[]) { args, NULL } )
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user