summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlok Barsode <alok.barsode@azingo.com>2008-07-22 19:08:03 +0530
committerLuiz Augusto von Dentz <luiz.dentz@indt.org.br>2008-07-28 10:48:10 -0300
commitd9ff801460ee610f98b97571311e4af13bb8e1a1 (patch)
tree2751a1d2b368ee3dbec08b245ad3c29130e5a279
parentb76fbc7d29f28a95a9ea25aae1f6f2d9c10adb19 (diff)
Adding adapter_create.
Signed-off-by: Alok Barsode <alok.barsode@azingo.com>
-rw-r--r--hcid/adapter.c21
-rw-r--r--hcid/adapter.h1
-rw-r--r--hcid/manager.c22
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);