diff options
| author | Alok Barsode <alok.barsode@azingo.com> | 2008-09-08 13:39:38 +0530 | 
|---|---|---|
| committer | Alok Barsode <alok.barsode@azingo.com> | 2008-09-08 14:31:43 +0530 | 
| commit | 2a8fb41c4c57b24a22f3adaab472b416faae122e (patch) | |
| tree | 930c56d79ffd39c5143ccb07b817b38c558fc1bb | |
| parent | 9de95d439b89c8003d953d0f82b94edc27c50bbc (diff) | |
Redefining adapter_get_address to take bdaddr_t as parameter.
| -rw-r--r-- | audio/manager.c | 9 | ||||
| -rw-r--r-- | input/manager.c | 18 | ||||
| -rw-r--r-- | network/manager.c | 9 | ||||
| -rw-r--r-- | plugins/service.c | 4 | ||||
| -rw-r--r-- | serial/manager.c | 5 | ||||
| -rw-r--r-- | src/adapter.c | 7 | ||||
| -rw-r--r-- | src/adapter.h | 2 | ||||
| -rw-r--r-- | src/agent.c | 5 | ||||
| -rw-r--r-- | src/dbus-hci.c | 3 | ||||
| -rw-r--r-- | src/device.c | 75 | ||||
| -rw-r--r-- | src/manager.c | 8 | 
11 files changed, 75 insertions, 70 deletions
| diff --git a/audio/manager.c b/audio/manager.c index d824548e..a53d2d19 100644 --- a/audio/manager.c +++ b/audio/manager.c @@ -673,14 +673,13 @@ static int audio_probe(struct btd_device *device, GSList *records)  {  	struct btd_adapter *adapter = device_get_adapter(device);  	const gchar *path = device_get_path(device); -	const char *source, *destination; +	const char *destination;  	bdaddr_t src, dst;  	struct audio_device *dev; -	source = adapter_get_address(adapter); +	adapter_get_address(adapter, &src);  	destination = device_get_address(device); -	str2ba(source, &src);  	str2ba(destination, &dst);  	dev = manager_find_device(&dst, NULL, FALSE); @@ -728,11 +727,9 @@ static struct audio_adapter *get_audio_adapter(struct btd_adapter *adapter)  {  	struct audio_adapter *adp;  	const gchar *path = adapter_get_path(adapter); -	const char *source;  	bdaddr_t src; -	source = adapter_get_address(adapter); -	str2ba(source, &src); +	adapter_get_address(adapter, &src);  	adp = find_adapter(adapters, path);  	if (!adp) { diff --git a/input/manager.c b/input/manager.c index 8de717ba..57871a34 100644 --- a/input/manager.c +++ b/input/manager.c @@ -170,7 +170,7 @@ static int hid_device_probe(struct btd_device *device, GSList *records)  {  	struct btd_adapter *adapter = device_get_adapter(device);  	const gchar *path = device_get_path(device); -	const char *source, *destination; +	const char *destination;  	struct hidp_connadd_req hidp;  	bdaddr_t src, dst; @@ -178,10 +178,9 @@ static int hid_device_probe(struct btd_device *device, GSList *records)  	memset(&hidp, 0, sizeof(hidp)); -	source = adapter_get_address(adapter); +	adapter_get_address(adapter, &src);  	destination = device_get_address(device); -	str2ba(source, &src);  	str2ba(destination, &dst);  	if (load_stored(&src, &dst, &hidp) == 0) @@ -213,7 +212,7 @@ static int headset_probe(struct btd_device *device, GSList *records)  	sdp_record_t *record = records->data;  	sdp_list_t *protos;  	uint8_t ch; -	const char *source, *destination; +	const char *destination;  	bdaddr_t src, dst;  	DBG("path %s", path); @@ -232,10 +231,9 @@ static int headset_probe(struct btd_device *device, GSList *records)  		return -EINVAL;  	} -	source = adapter_get_address(adapter); +	adapter_get_address(adapter, &src);  	destination = device_get_address(device); -	str2ba(source, &src);  	str2ba(destination, &dst);  	return fake_input_register(connection, path, &src, &dst, @@ -249,22 +247,18 @@ static void headset_remove(struct btd_device *device)  static int hid_server_probe(struct btd_adapter *adapter)  { -	const char *addr;  	bdaddr_t src; -	addr = adapter_get_address(adapter); -	str2ba(addr, &src); +	adapter_get_address(adapter, &src);  	return server_start(&src);  }  static void hid_server_remove(struct btd_adapter *adapter)  { -	const char *addr;  	bdaddr_t src; -	addr = adapter_get_address(adapter); -	str2ba(addr, &src); +	adapter_get_address(adapter, &src);  	server_stop(&src);  } diff --git a/network/manager.c b/network/manager.c index cafb7442..0abd2ce9 100644 --- a/network/manager.c +++ b/network/manager.c @@ -196,15 +196,14 @@ static int network_probe(struct btd_device *device, GSList *records,  {  	struct btd_adapter *adapter = device_get_adapter(device);  	const gchar *path = device_get_path(device); -	const char *source, *destination; +	const char *destination;  	bdaddr_t src, dst;  	DBG("path %s", path); -	source = adapter_get_address(adapter); +	adapter_get_address(adapter, &src);  	destination = device_get_address(device); -	str2ba(source, &src);  	str2ba(destination, &dst);  	return connection_register(path, &src, &dst, id); @@ -252,7 +251,6 @@ static void nap_remove(struct btd_device *device)  static int network_server_probe(struct btd_adapter *adapter, uint16_t id)  {  	const gchar *path = adapter_get_path(adapter); -	const char *source;  	bdaddr_t src;  	DBG("path %s", path); @@ -260,8 +258,7 @@ static int network_server_probe(struct btd_adapter *adapter, uint16_t id)  	if (!conf.server_enabled)  		return 0; -	source = adapter_get_address(adapter); -	str2ba(source, &src); +	adapter_get_address(adapter, &src);  	return server_register(path, &src, id);  } diff --git a/plugins/service.c b/plugins/service.c index 97b35e64..12299769 100644 --- a/plugins/service.c +++ b/plugins/service.c @@ -442,7 +442,7 @@ static DBusMessage *add_service_record(DBusConnection *conn,  		return NULL;  	sender = dbus_message_get_sender(msg); -	str2ba(adapter_get_address(adapter), &src); +	adapter_get_address(adapter, &src);  	err = add_xml_record(conn, sender, &src, record, &handle);  	if (err < 0)  		return failed_strerror(msg, err); @@ -463,7 +463,7 @@ static DBusMessage *update_service_record(DBusConnection *conn,  	struct btd_adapter *adapter = data;  	bdaddr_t src; -	str2ba(adapter_get_address(adapter), &src); +	adapter_get_address(adapter, &src);  	return update_xml_record(conn, msg, &src);  } diff --git a/serial/manager.c b/serial/manager.c index f4687ccd..2df22e15 100644 --- a/serial/manager.c +++ b/serial/manager.c @@ -97,7 +97,7 @@ static int serial_probe(struct btd_device *device, sdp_record_t *rec,  		return -EINVAL;  	} -	str2ba(adapter_get_address(adapter), &src); +	adapter_get_address(adapter, &src);  	str2ba(device_get_address(device), &dst);  	return port_register(connection, path, &src, &dst, name, @@ -153,11 +153,10 @@ static struct btd_device_driver serial_dialup_driver = {  static int proxy_probe(struct btd_adapter *adapter)  {  	const char *path = adapter_get_path(adapter); -	const char *address = adapter_get_address(adapter);  	bdaddr_t src;  	DBG("path %s", path); -	str2ba(address, &src); +	adapter_get_address(adapter, &src);  	return proxy_register(connection, path, &src);  } diff --git a/src/adapter.c b/src/adapter.c index 7fa5adf0..7881a0bd 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -2671,12 +2671,9 @@ const gchar *adapter_get_path(struct btd_adapter *adapter)  	return adapter->path;  } -const gchar *adapter_get_address(struct btd_adapter *adapter) +void adapter_get_address(struct btd_adapter *adapter, bdaddr_t *bdaddr)  { -	if (!adapter) -		return NULL; - -	return adapter->address; +	str2ba(adapter->address, bdaddr);  }  static gboolean discov_timeout_handler(void *data) diff --git a/src/adapter.h b/src/adapter.h index 1071c69c..df9a59de 100644 --- a/src/adapter.h +++ b/src/adapter.h @@ -128,7 +128,7 @@ struct btd_adapter *adapter_create(DBusConnection *conn, int id);  void adapter_remove(struct btd_adapter *adapter);  uint16_t adapter_get_dev_id(struct btd_adapter *adapter);  const gchar *adapter_get_path(struct btd_adapter *adapter); -const gchar *adapter_get_address(struct btd_adapter *adapter); +void adapter_get_address(struct btd_adapter *adapter, bdaddr_t *bdaddr);  void adapter_remove(struct btd_adapter *adapter);  void adapter_set_discov_timeout(struct btd_adapter *adapter, guint interval);  void adapter_remove_discov_timeout(struct btd_adapter *adapter); diff --git a/src/agent.c b/src/agent.c index 44ce3b11..e8f9c651 100644 --- a/src/agent.c +++ b/src/agent.c @@ -371,7 +371,8 @@ static void pincode_reply(DBusPendingCall *call, void *user_data)  	bdaddr_t sba;  	size_t len;  	char *pin; -	const gchar *source = adapter_get_address(adapter); + +	adapter_get_address(adapter, &sba);  	/* steal_reply will always return non-NULL since the callback  	 * is only called after a reply has been received */ @@ -416,8 +417,6 @@ static void pincode_reply(DBusPendingCall *call, void *user_data)  		goto done;  	} -	str2ba(source, &sba); -  	set_pin_length(&sba, len);  	cb(agent, NULL, pin, req->user_data); diff --git a/src/dbus-hci.c b/src/dbus-hci.c index b559e148..77f768c1 100644 --- a/src/dbus-hci.c +++ b/src/dbus-hci.c @@ -126,7 +126,6 @@ static void pincode_cb(struct agent *agent, DBusError *err, const char *pincode,  	struct pending_auth_info *auth;  	const gchar *destination = device_get_address(device);  	uint16_t dev_id = adapter_get_dev_id(adapter); -	const gchar *source = adapter_get_address(adapter);  	struct bonding_request_info *bonding = adapter_get_bonding_info(adapter);  	/* No need to reply anything if the authentication already failed */ @@ -140,7 +139,7 @@ static void pincode_cb(struct agent *agent, DBusError *err, const char *pincode,  		return;  	} -	str2ba(source, &sba); +	adapter_get_address(adapter, &sba);  	str2ba(destination, &dba);  	auth = adapter_find_auth_request(adapter, &dba); diff --git a/src/device.c b/src/device.c index 2802b8e3..a4b26d52 100644 --- a/src/device.c +++ b/src/device.c @@ -124,12 +124,15 @@ static void device_free(gpointer user_data)  static gboolean device_is_paired(struct btd_device *device)  {  	struct btd_adapter *adapter = device->adapter; -	char filename[PATH_MAX + 1], *str; +	char filename[PATH_MAX + 1], *str, addr[18];  	gboolean ret; -	const gchar *source = adapter_get_address(adapter); +	bdaddr_t bdaddr; + +	adapter_get_address(adapter, &bdaddr); +	ba2str(&bdaddr, addr);  	create_name(filename, PATH_MAX, STORAGEDIR, -			source, "linkkeys"); +			addr, "linkkeys");  	str = textfile_caseget(filename, device->address);  	ret = str ? TRUE : FALSE;  	g_free(str); @@ -146,9 +149,9 @@ static DBusMessage *get_properties(DBusConnection *conn,  	DBusMessageIter iter;  	DBusMessageIter dict;  	bdaddr_t src, dst; -	char name[248]; +	char name[248], src_addr[18];  	char **uuids; -	const char *ptr, *source; +	const char *ptr;  	dbus_bool_t boolean;  	uint32_t class;  	int i; @@ -173,15 +176,16 @@ static DBusMessage *get_properties(DBusConnection *conn,  	/* Name */  	ptr = NULL;  	memset(name, 0, sizeof(name)); -	source = adapter_get_address(adapter); +	adapter_get_address(adapter, &src); +	ba2str(&src, src_addr); -	if (read_device_name(source, device->address, name) == 0) { +	if (read_device_name(src_addr, device->address, name) == 0) {  		ptr = name;  		dbus_message_iter_append_dict_entry(&dict, "Name",  				DBUS_TYPE_STRING, &ptr);  	} -	if (read_device_alias(source, device->address, name, sizeof(name)) > 0) +	if (read_device_alias(src_addr, device->address, name, sizeof(name)) > 0)  		ptr = name;  	/* Alias: use Name if Alias doesn't exist */ @@ -189,7 +193,6 @@ static DBusMessage *get_properties(DBusConnection *conn,  		dbus_message_iter_append_dict_entry(&dict, "Alias",  				DBUS_TYPE_STRING, &ptr); -	str2ba(source, &src);  	str2ba(device->address, &dst);  	/* Class */ @@ -241,11 +244,15 @@ static DBusMessage *set_alias(DBusConnection *conn, DBusMessage *msg,  {  	struct btd_device *device = data;  	struct btd_adapter *adapter = device->adapter; -	const gchar *source = adapter_get_address(adapter); +	char addr[18]; +	bdaddr_t bdaddr;  	int err; -	/* Remove alias if empty string */ -	err = write_device_alias(source, device->address, +	adapter_get_address(adapter, &bdaddr); +	ba2str(&bdaddr, addr); + +	 /* Remove alias if empty string */ +	err = write_device_alias(addr, device->address,  			g_str_equal(alias, "") ? NULL : alias);  	if (err < 0)  		return g_dbus_create_error(msg, @@ -264,9 +271,14 @@ static DBusMessage *set_trust(DBusConnection *conn, DBusMessage *msg,  {  	struct btd_device *device = data;  	struct btd_adapter *adapter = device->adapter; -	const gchar *source = adapter_get_address(adapter); +	char addr[18]; +	bdaddr_t bdaddr; + -	write_trust(source, device->address, GLOBAL_TRUST, value); +	adapter_get_address(adapter, &bdaddr); +	ba2str(&bdaddr, addr); + +	write_trust(addr, device->address, GLOBAL_TRUST, value);  	dbus_connection_emit_property_changed(conn, dbus_message_get_path(msg),  					DEVICE_INTERFACE, "Trusted", @@ -328,11 +340,11 @@ static void discover_services_req_exit(void *user_data)  	struct btd_device *device = user_data;  	struct btd_adapter *adapter = device->adapter;  	bdaddr_t src, dst; -	const gchar *source = adapter_get_address(adapter); + +	adapter_get_address(adapter, &src);  	debug("DiscoverDevices requestor exited"); -	str2ba(source, &src);  	str2ba(device->address, &dst);  	bt_cancel_discovery(&src, &dst); @@ -381,7 +393,8 @@ static DBusMessage *cancel_discover(DBusConnection *conn,  	struct btd_device *device = user_data;  	struct btd_adapter *adapter = device->adapter;  	bdaddr_t src, dst; -	const gchar *source = adapter_get_address(adapter); + +	adapter_get_address(adapter, &src);  	if (!device->discov_active)  		return g_dbus_create_error(msg, @@ -395,7 +408,6 @@ static DBusMessage *cancel_discover(DBusConnection *conn,  				ERROR_INTERFACE ".NotAuthorized",  				"Not Authorized"); - 	str2ba(source, &src);  	str2ba(device->address, &dst);  	if (bt_cancel_discovery(&src, &dst) < 0) @@ -621,9 +633,13 @@ void device_probe_drivers(struct btd_device *device, GSList *uuids, sdp_list_t *  void device_remove_drivers(struct btd_device *device, GSList *uuids, sdp_list_t *recs)  {  	struct btd_adapter *adapter = device_get_adapter(device); -	const gchar *src = adapter_get_address(adapter);  	const gchar *dst = device_get_address(device);  	GSList *list; +	char src_addr[18]; +	bdaddr_t src; + +	adapter_get_address(adapter, &src); +	ba2str(&src, src_addr);  	debug("Remove drivers for %s", device->path); @@ -649,7 +665,7 @@ void device_remove_drivers(struct btd_device *device, GSList *uuids, sdp_list_t  			if (!rec)  				continue; -			delete_record(src, dst, rec->handle); +			delete_record(src_addr, dst, rec->handle);  		}  	} @@ -779,9 +795,13 @@ static void update_services(struct browse_req *req, sdp_list_t *recs)  {  	struct btd_device *device = req->device;  	struct btd_adapter *adapter = device_get_adapter(device); -	const gchar *src = adapter_get_address(adapter);  	const gchar *dst = device_get_address(device);  	sdp_list_t *seq; +	char src_addr[18]; +	bdaddr_t src; + +	adapter_get_address(adapter, &src); +	ba2str(&src, src_addr);  	for (seq = recs; seq; seq = seq->next) {  		sdp_record_t *rec = (sdp_record_t *) seq->data; @@ -805,7 +825,7 @@ static void update_services(struct browse_req *req, sdp_list_t *recs)  		if (sdp_list_find(req->records, rec, rec_cmp))  			continue; -		store_record(src, dst, rec); +		store_record(src_addr, dst, rec);  		/* Copy record */  		if (sdp_gen_record_pdu(rec, &pdu) == 0) { @@ -838,9 +858,8 @@ static void store(struct btd_device *device)  	struct btd_adapter *adapter = device->adapter;  	bdaddr_t src, dst;  	char *str; -	const gchar *source = adapter_get_address(adapter); -	str2ba(source, &src); +	adapter_get_address(adapter, &src);  	str2ba(device->address, &dst);  	if (!device->uuids) { @@ -861,7 +880,8 @@ static void browse_cb(sdp_list_t *recs, int err, gpointer user_data)  	bdaddr_t src, dst;  	uuid_t uuid;  	DBusMessage *reply; -	const gchar *source = adapter_get_address(adapter); + +	adapter_get_address(adapter, &src);  	if (err < 0) {  		error("%s: error updating services: %s (%d)", @@ -877,7 +897,6 @@ static void browse_cb(sdp_list_t *recs, int err, gpointer user_data)  	if (uuid_list[++req->search_uuid]) {  		sdp_uuid16_create(&uuid, uuid_list[req->search_uuid]); -		str2ba(source, &src);  		str2ba(device->address, &dst);  		bt_search_service(&src, &dst, &uuid, browse_cb, user_data, NULL);  		return; @@ -955,14 +974,14 @@ int device_browse(struct btd_device *device, DBusConnection *conn,  	bdaddr_t src, dst;  	uuid_t uuid;  	GSList *l; -	const gchar *source = adapter_get_address(adapter); + +	adapter_get_address(adapter, &src);  	req = g_new0(struct browse_req, 1);  	req->conn = dbus_connection_ref(conn);  	req->msg = dbus_message_ref(msg);  	req->device = device; -	str2ba(source, &src);  	str2ba(device->address, &dst);  	if (search) { diff --git a/src/manager.c b/src/manager.c index 793cb497..537582ac 100644 --- a/src/manager.c +++ b/src/manager.c @@ -301,9 +301,13 @@ static gint adapter_address_cmp(gconstpointer a, gconstpointer b)  {  	struct btd_adapter *adapter = (struct btd_adapter *) a;  	const char *address = b; -	const gchar *source = adapter_get_address(adapter); +	bdaddr_t bdaddr; +	char addr[18]; -	return strcmp(source, address); +	adapter_get_address(adapter, &bdaddr); +	ba2str(&bdaddr, addr); +	 +	return strcmp(addr, address);  }  struct btd_adapter *manager_find_adapter(const bdaddr_t *sba) | 
