summaryrefslogtreecommitdiff
path: root/profiles/scanparam
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2012-09-25 12:26:42 -0300
committerJohan Hedberg <johan.hedberg@intel.com>2012-09-28 13:04:46 +0300
commitdd86a0cc3a625315988395db8013a3e8c52b878d (patch)
treef027dd1d0438fd3a75277374cd5af27796a57fa1 /profiles/scanparam
parente5e2b1186262bc7315acc342c01e4200ddcc8981 (diff)
downloadbluez-dd86a0cc3a625315988395db8013a3e8c52b878d.tar.gz
scan: Avoid discover if scan handle is known
This patch avoids the characteristic discovery for Scan Interval Window if the attribute value handle was discovered on a previous interaction.
Diffstat (limited to 'profiles/scanparam')
-rw-r--r--profiles/scanparam/scan.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/profiles/scanparam/scan.c b/profiles/scanparam/scan.c
index 50fef4317..491b50ddc 100644
--- a/profiles/scanparam/scan.c
+++ b/profiles/scanparam/scan.c
@@ -208,11 +208,16 @@ static void attio_connected_cb(GAttrib *attrib, gpointer user_data)
struct scan *scan = user_data;
bt_uuid_t iwin_uuid, refresh_uuid;
+ scan->attrib = g_attrib_ref(attrib);
+
+ if (scan->iwhandle) {
+ write_scan_params(scan->attrib, scan->iwhandle);
+ return;
+ }
+
bt_uuid16_create(&iwin_uuid, SCAN_INTERVAL_WIN_UUID);
bt_uuid16_create(&refresh_uuid, SCAN_REFRESH_UUID);
- scan->attrib = g_attrib_ref(attrib);
-
gatt_discover_char(scan->attrib, scan->range.start, scan->range.end,
&iwin_uuid, iwin_discovered_cb, scan);