diff options
author | Alok Barsode <alok.barsode@azingo.com> | 2008-07-25 21:35:36 +0530 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.dentz@indt.org.br> | 2008-07-29 10:53:46 -0300 |
commit | 490926952610cc3415335871d3a8a60a7566451b (patch) | |
tree | 44fee3336f19c335e6bb0b480ae29080aabdac39 | |
parent | 1946813bd002a64a37feb7044d7b1eb88992c2f6 (diff) |
Adding adapter_set_scan_mode and adapter_get_scan_mode.
Signed-off-by: Alok Barsode <alok.barsode@azingo.com>
-rw-r--r-- | hcid/adapter.c | 25 | ||||
-rw-r--r-- | hcid/adapter.h | 4 | ||||
-rw-r--r-- | hcid/dbus-hci.c | 8 |
3 files changed, 26 insertions, 11 deletions
diff --git a/hcid/adapter.c b/hcid/adapter.c index 32b9039f..cb2eba0a 100644 --- a/hcid/adapter.c +++ b/hcid/adapter.c @@ -368,7 +368,7 @@ static DBusMessage *set_mode(DBusConnection *conn, DBusMessage *msg, { struct adapter *adapter = data; uint8_t scan_enable; - uint8_t current_scan = adapter->scan_enable; + uint8_t current_scan = adapter->scan_mode; bdaddr_t local; gboolean limited; int err, dd; @@ -560,7 +560,7 @@ static DBusMessage *set_discoverable_timeout(DBusConnection *conn, adapter->discov_timeout_id = 0; } - if ((timeout != 0) && (adapter->scan_enable & SCAN_INQUIRY)) + if ((timeout != 0) && (adapter->scan_mode & SCAN_INQUIRY)) adapter->discov_timeout_id = g_timeout_add(timeout * 1000, discov_timeout_handler, adapter); @@ -2223,9 +2223,9 @@ static void adapter_up(struct adapter *adapter, int dd) adapter->discov_timeout = get_discoverable_timeout(adapter->dev_id); adapter->discov_type = DISCOVER_TYPE_NONE; - adapter->scan_enable = get_startup_scan(adapter->dev_id); + adapter->scan_mode = get_startup_scan(adapter->dev_id); hci_send_cmd(dd, OGF_HOST_CTL, OCF_WRITE_SCAN_ENABLE, - 1, &adapter->scan_enable); + 1, &adapter->scan_mode); adapter->mode = get_startup_mode(adapter->dev_id); if (adapter->mode == MODE_LIMITED) @@ -2474,7 +2474,7 @@ int adapter_stop(struct adapter *adapter) DBUS_TYPE_STRING, &mode); adapter->up = 0; - adapter->scan_enable = SCAN_DISABLED; + adapter->scan_mode = SCAN_DISABLED; adapter->mode = MODE_OFF; adapter->discov_active = 0; adapter->pdiscov_active = 0; @@ -2597,7 +2597,7 @@ gboolean discov_timeout_handler(void *data) struct adapter *adapter = data; struct hci_request rq; int dd; - uint8_t scan_enable = adapter->scan_enable; + uint8_t scan_enable = adapter->scan_mode; uint8_t status = 0; gboolean retval = TRUE; uint16_t dev_id = adapter->dev_id; @@ -2665,3 +2665,16 @@ void adapter_remove_discov_timeout(struct adapter *adapter) g_source_remove(adapter->discov_timeout_id); adapter->discov_timeout_id = 0; } + +void adapter_set_scan_mode(struct adapter *adapter, uint8_t scan_mode) +{ + if (!adapter) + return; + + adapter->scan_mode = scan_mode; +} + +uint8_t adapter_get_scan_mode(struct adapter *adapter) +{ + return adapter->scan_mode; +} diff --git a/hcid/adapter.h b/hcid/adapter.h index 98eaf8fe..27da5cfa 100644 --- a/hcid/adapter.h +++ b/hcid/adapter.h @@ -105,7 +105,7 @@ struct adapter { char address[18]; /* adapter Bluetooth Address */ guint discov_timeout_id; /* discoverable timeout id */ uint32_t discov_timeout; /* discoverable time(msec) */ - uint8_t scan_enable; /* scan mode: SCAN_DISABLED, SCAN_PAGE, SCAN_INQUIRY */ + uint8_t scan_mode; /* scan mode: SCAN_DISABLED, SCAN_PAGE, SCAN_INQUIRY */ uint8_t mode; /* off, connectable, discoverable, limited */ uint8_t global_mode; /* last valid global mode */ int discov_active; /* standard discovery active: includes name resolution step */ @@ -181,3 +181,5 @@ const gchar *adapter_get_address(struct adapter *adapter); void adapter_free(struct adapter *adapter); void adapter_set_discov_timeout(struct adapter *adapter, guint interval); void adapter_remove_discov_timeout(struct adapter *adapter); +void adapter_set_scan_mode(struct adapter *adapter, uint8_t scan_mode); +uint8_t adapter_get_scan_mode(struct adapter *adapter); diff --git a/hcid/dbus-hci.c b/hcid/dbus-hci.c index f4e5b884..e499aca2 100644 --- a/hcid/dbus-hci.c +++ b/hcid/dbus-hci.c @@ -261,14 +261,14 @@ DBusMessage *new_authentication_return(DBusMessage *msg, uint8_t status) } } -static void adapter_mode_changed(struct adapter *adapter, uint8_t scan_enable) +static void adapter_mode_changed(struct adapter *adapter, uint8_t scan_mode) { const char *mode; const gchar *path = adapter_get_path(adapter); - adapter->scan_enable = scan_enable; + adapter_set_scan_mode(adapter, scan_mode); - switch (scan_enable) { + switch (scan_mode) { case SCAN_DISABLED: mode = "off"; adapter->mode = MODE_OFF; @@ -1683,7 +1683,7 @@ void hcid_dbus_setscan_enable_complete(bdaddr_t *local) adapter_remove_discov_timeout(adapter); - if (adapter->scan_enable != rp.enable) + if (adapter_get_scan_mode(adapter) != rp.enable) adapter_mode_changed(adapter, rp.enable); failed: |