W3C home > Mailing lists > Public > public-web-bluetooth-log@w3.org > August 2016

Re: [web-bluetooth] Treat sites as not bonded to their devices.

From: Jeffrey Yasskin via GitHub <sysbot+gh@w3.org>
Date: Fri, 12 Aug 2016 22:09:28 +0000
To: public-web-bluetooth-log@w3.org
Message-ID: <issue_comment.created-239571741-1471039766-sysbot+gh@w3.org>
Yes, folks will need to write a custom `connect()` function that 
discovers the attributes they need on each connection. Something like:

```js
let device;
let characteristic;

function reconnect() {
  if (device.gatt.connected) return Promise.resolve();
  return device.gatt.connect()
      .then(server => server.getPrimaryService('battery_service'))
      .then(service => service.getCharacteristic('battery_level'))
      .then(char => { characteristic = char; });
}

function doSomething() {
  let dp = Promise.resolve();
  if (!device) {
    dp = navigator.bluetooth.requestDevice({
        filters: [{
          services: ['battery_service']
        }]
      })
      .then(d => device = d.gatt.connect());
  }
  return dp.then(() => reconnect())
    .then(_ => characteristic.readValue());
}
```

-- 
GitHub Notification of comment by jyasskin
Please view or discuss this issue at 
https://github.com/WebBluetoothCG/web-bluetooth/pull/273#issuecomment-239571741
 using your GitHub account
Received on Friday, 12 August 2016 22:09:35 UTC

This archive was generated by hypermail 2.3.1 : Friday, 12 August 2016 22:09:35 UTC