All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Pawlowski <jpawlowski@google.com>
To: linux-bluetooth@vger.kernel.org
Cc: Jakub Pawlowski <jpawlowski@google.com>
Subject: [PATCH BlueZ v5] doc/adapter-api.txt: StartFilteredDiscovery method.
Date: Mon,  9 Feb 2015 16:34:54 -0800	[thread overview]
Message-ID: <1423528495-13173-1-git-send-email-jpawlowski@google.com> (raw)

This patch proposes new method, StartFilteredDiscovery to D-Bus Adapter
API for desktop bluetoothd. It will allow for rapid discovery of nearby
devices that advertise services.

It also adds FilteredDiscovery property, that is set to true when any
StartFilteredDiscovery session is active.

Signed-off-by: Jakub Pawlowski <jpawlowski@google.com>
---
 doc/adapter-api.txt | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
index 74d235a..b59019d 100644
--- a/doc/adapter-api.txt
+++ b/doc/adapter-api.txt
@@ -22,6 +22,50 @@ Methods		void StartDiscovery()
 			Possible errors: org.bluez.Error.NotReady
 					 org.bluez.Error.Failed
 
+		void StartFilteredDiscovery(dict filter)
+
+			This method starts the device discovery session with
+			filtering by uuids, and rssi or pathloss value. Use
+			StopDiscovery to release the sessions acquired.
+
+ 			Parameters that can be set in filter dictionary include
+ 			the following:
+
+			array{string} UUIDs : filtered service UUIDs (required)
+			int16 RSSI	: RSSI threshold value (optional)
+			uint16 pathloss	: Pathloss threshold value (optional)
+			string transport: type of scan to run
+
+			When a device is found that advertise any UUID from
+			UUIDs, it will be reported if:
+			- pathloss and RSSI are both empty,
+			- only pathloss param is set, device advertise TX pwer,
+			  and computed pathloss is less than pathloss param,
+			- only RSSI param is set, and received RSSI is higher
+			  than RSSI param,
+
+			transport parameter determines the type of scan:
+				"auto"	- interleaved scan
+				"bredr"	- br/edr inquiry
+				"le"	- le only scan, default value
+
+			This process will start creating Device objects as new
+			devices matching criteria are discovered. It will also
+			emit PropertiesChanged signal for already existing
+			Device objects, with updated RSSI value.
+
+			StartDiscovery (SD) takes precedence over
+			StartFilteredDiscovery (SFD). That means that you should
+			check Discovering property before calling SFD, otherwise
+			it would fail when any SD session is in progress.
+			Calling SD when SFD is in progress pause all SFD
+			sessions, and start them back when all SD sessions are
+			finished. When filtered discovery state is changed,
+			FilteredDiscovery variable is updated accordingly.
+
+			Possible errors: org.bluez.Error.NotReady
+					 org.bluez.Error.Failed
+
 		void StopDiscovery()
 
 			This method will cancel any previous StartDiscovery
@@ -144,6 +188,11 @@ Properties	string Address [readonly]
 
 			Indicates that a device discovery procedure is active.
 
+		boolean FilteredDiscovery [readonly]
+
+			Indicates that a filtered device discovery procedure is
+			active.
+
 		array{string} UUIDs [readonly]
 
 			List of 128-bit UUIDs that represents the available
-- 
2.2.0.rc0.207.ga3a616c


             reply	other threads:[~2015-02-10  0:34 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-10  0:34 Jakub Pawlowski [this message]
2015-02-16  8:46 ` [PATCH BlueZ v5] doc/adapter-api.txt: StartFilteredDiscovery method Luiz Augusto von Dentz
2015-02-20 17:09   ` Jakub Pawlowski
2015-02-23 13:09   ` Johan Hedberg
2015-02-23 16:41     ` Jakub Pawlowski
2015-02-23 18:43       ` Jakub Pawlowski
2015-02-23 21:43         ` Arman Uguray
2015-02-23 22:44           ` Jakub Pawlowski
2015-02-23 23:07             ` Arman Uguray
2015-02-24  0:01               ` Jakub Pawlowski
2015-02-24 10:51                 ` Johan Hedberg
2015-02-24 10:37       ` Johan Hedberg
2015-02-24 20:23         ` Jakub Pawlowski
2015-02-24 22:50           ` Marcel Holtmann
2015-02-24 23:12             ` Jakub Pawlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1423528495-13173-1-git-send-email-jpawlowski@google.com \
    --to=jpawlowski@google.com \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.