2012-02-20 19:15:19 +04:00
|
|
|
/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
|
2012-08-17 06:53:45 +04:00
|
|
|
/* vim: set ts=2 et sw=2 tw=80: */
|
2012-02-20 19:15:19 +04:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
2012-02-23 19:55:48 +04:00
|
|
|
#include "nsIDOMEventTarget.idl"
|
2012-02-20 19:15:19 +04:00
|
|
|
|
2012-07-18 07:41:54 +04:00
|
|
|
interface nsIDOMDOMRequest;
|
|
|
|
interface nsIDOMBluetoothDevice;
|
|
|
|
|
2012-09-17 10:15:12 +04:00
|
|
|
[scriptable, builtinclass, uuid(4ea7d312-f37c-4777-8114-fc7312890199)]
|
2012-02-23 19:55:48 +04:00
|
|
|
interface nsIDOMBluetoothAdapter : nsIDOMEventTarget
|
2012-02-20 19:15:19 +04:00
|
|
|
{
|
2012-07-18 07:41:54 +04:00
|
|
|
readonly attribute DOMString address;
|
|
|
|
[binaryname(AdapterClass)] readonly attribute unsigned long class;
|
|
|
|
readonly attribute bool enabled;
|
|
|
|
readonly attribute bool discovering;
|
|
|
|
|
|
|
|
[implicit_jscontext]
|
|
|
|
readonly attribute jsval devices;
|
|
|
|
|
2012-08-01 08:53:04 +04:00
|
|
|
[implicit_jscontext]
|
|
|
|
readonly attribute jsval uuids;
|
|
|
|
|
2012-07-18 07:41:54 +04:00
|
|
|
readonly attribute DOMString name;
|
|
|
|
readonly attribute bool discoverable;
|
|
|
|
// Unit: sec
|
|
|
|
readonly attribute unsigned long discoverableTimeout;
|
|
|
|
|
2012-08-01 08:53:04 +04:00
|
|
|
nsIDOMDOMRequest setName(in DOMString name);
|
|
|
|
nsIDOMDOMRequest setDiscoverable(in bool discoverable);
|
|
|
|
nsIDOMDOMRequest setDiscoverableTimeout(in unsigned long timeout);
|
2012-07-18 07:41:54 +04:00
|
|
|
nsIDOMDOMRequest startDiscovery();
|
|
|
|
nsIDOMDOMRequest stopDiscovery();
|
2012-08-17 14:35:59 +04:00
|
|
|
nsIDOMDOMRequest pair(in nsIDOMBluetoothDevice aDevice);
|
|
|
|
nsIDOMDOMRequest unpair(in nsIDOMBluetoothDevice aDevice);
|
2012-08-17 06:53:45 +04:00
|
|
|
nsIDOMDOMRequest getPairedDevices();
|
2012-08-17 14:35:59 +04:00
|
|
|
void setPinCode(in DOMString aDeviceAddress, in DOMString aPinCode);
|
|
|
|
void setPasskey(in DOMString aDeviceAddress, in unsigned long aPasskey);
|
|
|
|
void setPairingConfirmation(in DOMString aDeviceAddress, in bool aConfirmation);
|
|
|
|
void setAuthorization(in DOMString aDeviceAddress, in bool aAllow);
|
|
|
|
|
2012-07-18 07:41:54 +04:00
|
|
|
// Fired when discoverying and any device is discovered.
|
2012-08-31 07:45:16 +04:00
|
|
|
[implicit_jscontext] attribute jsval ondevicefound;
|
2012-07-18 07:41:54 +04:00
|
|
|
// Fired when any device is out of discoverable range.
|
2012-08-31 07:45:16 +04:00
|
|
|
[implicit_jscontext] attribute jsval ondevicedisappeared;
|
2012-07-18 07:41:54 +04:00
|
|
|
// Fired when a property of the adapter is changed
|
2012-08-31 07:45:16 +04:00
|
|
|
[implicit_jscontext] attribute jsval onpropertychanged;
|
2012-08-17 14:35:59 +04:00
|
|
|
// Pairing related events
|
2012-08-31 07:45:16 +04:00
|
|
|
[implicit_jscontext] attribute jsval onrequestconfirmation;
|
|
|
|
[implicit_jscontext] attribute jsval onrequestpincode;
|
|
|
|
[implicit_jscontext] attribute jsval onrequestpasskey;
|
|
|
|
[implicit_jscontext] attribute jsval onauthorize;
|
|
|
|
[implicit_jscontext] attribute jsval oncancel;
|
2012-02-20 19:15:19 +04:00
|
|
|
};
|