Return-Path: MIME-Version: 1.0 In-Reply-To: <8DCFA6B89B9E70418E47A2348D55495A479074C8@banasiexm01.ASIA.ROOT.PRI> References: <8DCFA6B89B9E70418E47A2348D55495A479074C8@banasiexm01.ASIA.ROOT.PRI> Date: Fri, 21 Oct 2011 11:07:44 -0300 Message-ID: Subject: Re: Query regarding BLE GetPrimaryServices() From: Claudio Takahasi To: Ajay Pillai Cc: Anderson Lizardo , Vijaykumar Dadmode , "linux-bluetooth@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi Ajay, On Fri, Oct 21, 2011 at 10:04 AM, Ajay Pillai wrote: >>You cannot do this by hand. It is done right after connection (or >>pairing, if using CreatePairedDevice). For more information on how to >>read the services and characteristics over D-Bus, see >>doc/attribute-api.txt. > > Does this mean that it is not possible for an Application to just come up, and list the primary services of a remote LE device that is already connected(due to another application)? (via DBUS) > Is this something that we can just add as a new API (listPrimaryServices) to the " org.bluez.Device" interface of the device object? > Applications can access the primary service using the Generic Attribute API. After pairing, bluetoothd executes discover all primary services. Check the "Services" property in the Device to discovery, it contains an array of paths for the primary services. Use the test/test-attrib script to understand how it works. Using d-feet you can also access the primary services and characteristics. BR, Claudio