diff options
| author | Alok Barsode <alok.barsode@azingo.com> | 2008-07-22 19:08:03 +0530 | 
|---|---|---|
| committer | Luiz Augusto von Dentz <luiz.dentz@indt.org.br> | 2008-07-28 10:48:10 -0300 | 
| commit | d9ff801460ee610f98b97571311e4af13bb8e1a1 (patch) | |
| tree | 2751a1d2b368ee3dbec08b245ad3c29130e5a279 | |
| parent | b76fbc7d29f28a95a9ea25aae1f6f2d9c10adb19 (diff) | |
Adding adapter_create.
Signed-off-by: Alok Barsode <alok.barsode@azingo.com>
| -rw-r--r-- | hcid/adapter.c | 21 | ||||
| -rw-r--r-- | hcid/adapter.h | 1 | ||||
| -rw-r--r-- | hcid/manager.c | 22 | 
3 files changed, 27 insertions, 17 deletions
| diff --git a/hcid/adapter.c b/hcid/adapter.c index 2d0d6e21..f760ebd0 100644 --- a/hcid/adapter.c +++ b/hcid/adapter.c @@ -2539,3 +2539,24 @@ int adapter_update_ssp_mode(struct adapter *adapter, int dd, uint8_t mode)  	return 0;  } + +struct adapter *adapter_create(int id) +{ +	char path[MAX_PATH_LENGTH]; +	struct adapter *adapter; + +	snprintf(path, sizeof(path), "/hci%d", id); + +	adapter = g_try_new0(struct adapter, 1); +	if (!adapter) { +		error("Failed to alloc memory to D-Bus path register data (%s)", +				path); +		return NULL; +	} + +	adapter->dev_id = id; +	adapter->pdiscov_resolve_names = 1; +	adapter->path = g_strdup(path); + +	return adapter; +} diff --git a/hcid/adapter.h b/hcid/adapter.h index 4afe04af..d4d962f5 100644 --- a/hcid/adapter.h +++ b/hcid/adapter.h @@ -174,3 +174,4 @@ void adapter_remove_auth_request(struct adapter *adapter, bdaddr_t *dba);  struct pending_auth_info *adapter_new_auth_request(struct adapter *adapter,  							bdaddr_t *dba,  							auth_type_t type); +struct adapter *adapter_create(int id); diff --git a/hcid/manager.c b/hcid/manager.c index f7760dc9..91cb93bc 100644 --- a/hcid/manager.c +++ b/hcid/manager.c @@ -423,30 +423,18 @@ static void manager_remove_adapter(struct adapter *adapter)  int manager_register_adapter(int id)  { -	char path[MAX_PATH_LENGTH]; -	struct adapter *adapter; - -	snprintf(path, sizeof(path), "/hci%d", id); +	struct adapter *adapter = adapter_create(id); -	adapter = g_try_new0(struct adapter, 1); -	if (!adapter) { -		error("Failed to alloc memory to D-Bus path register data (%s)", -				path); +	if(!adapter)  		return -1; -	} - -	adapter->dev_id = id; -	adapter->pdiscov_resolve_names = 1; -	if (!adapter_init(connection, path, adapter)) { -		error("Adapter interface init failed on path %s", path); +	if (!adapter_init(connection, adapter->path, adapter)) { +		error("Adapter interface init failed on path %s", adapter->path);  		g_free(adapter);  		return -1;  	} -	adapter->path = g_strdup(path); - -	__probe_servers(path); +	__probe_servers(adapter->path);  	manager_add_adapter(adapter); | 
