Skip to content

Commit

Permalink
Add WebBluetooth to unstable directory (#2311)
Browse files Browse the repository at this point in the history
Add WebBluetooth IDL (taken from WebBluetooth spec), as well as
generated files and feature updates. Currently in unstable as
WebBluetooth is not on standards track yet.
  • Loading branch information
qdot authored Sep 18, 2020
1 parent 6dd8f1c commit d639960
Show file tree
Hide file tree
Showing 26 changed files with 3,006 additions and 1 deletion.
24 changes: 23 additions & 1 deletion crates/web-sys/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ AesKeyAlgorithm = []
AesKeyGenParams = []
Algorithm = []
AlignSetting = []
AllowedBluetoothDevice = []
AnalyserNode = ["AudioNode", "EventTarget"]
AnalyserOptions = []
AngleInstancedArrays = []
Expand Down Expand Up @@ -111,6 +112,23 @@ BlobEvent = ["Event"]
BlobEventInit = []
BlobPropertyBag = []
BlockParsingOptions = []
Bluetooth = ["EventTarget"]
BluetoothAdvertisingEvent = ["Event"]
BluetoothAdvertisingEventInit = []
BluetoothCharacteristicProperties = []
BluetoothDataFilterInit = []
BluetoothDevice = ["EventTarget"]
BluetoothLeScanFilterInit = []
BluetoothManufacturerDataMap = []
BluetoothPermissionDescriptor = []
BluetoothPermissionResult = ["EventTarget", "PermissionStatus"]
BluetoothPermissionStorage = []
BluetoothRemoteGattCharacteristic = ["EventTarget"]
BluetoothRemoteGattDescriptor = []
BluetoothRemoteGattServer = []
BluetoothRemoteGattService = ["EventTarget"]
BluetoothServiceDataMap = []
BluetoothUuid = []
BoxQuadOptions = []
BroadcastChannel = ["EventTarget"]
BrowserElementDownloadOptions = []
Expand Down Expand Up @@ -892,6 +910,7 @@ Request = []
RequestCache = []
RequestCredentials = []
RequestDestination = []
RequestDeviceOptions = []
RequestInit = []
RequestMediaKeySystemAccessNotification = []
RequestMode = []
Expand Down Expand Up @@ -1222,6 +1241,8 @@ UserProximityEvent = ["Event"]
UserProximityEventInit = []
UserVerificationRequirement = []
ValidityState = []
ValueEvent = ["Event"]
ValueEventInit = []
VideoConfiguration = []
VideoFacingModeEnum = []
VideoPlaybackQuality = []
Expand All @@ -1245,6 +1266,7 @@ VrStageParameters = []
VrSubmitFrameResult = []
VttCue = ["EventTarget", "TextTrackCue"]
VttRegion = []
WatchAdvertisementsOptions = []
WaveShaperNode = ["AudioNode", "EventTarget"]
WaveShaperOptions = []
WebGl2RenderingContext = []
Expand Down Expand Up @@ -1342,4 +1364,4 @@ XrWebGlLayer = []
XrWebGlLayerInit = []
XsltProcessor = []
console = []
css = []
css = []
100 changes: 100 additions & 0 deletions crates/web-sys/src/features/gen_AllowedBluetoothDevice.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
#![allow(unused_imports)]
use super::*;
use wasm_bindgen::prelude::*;
#[cfg(web_sys_unstable_apis)]
#[wasm_bindgen]
extern "C" {
# [wasm_bindgen (extends = :: js_sys :: Object , js_name = AllowedBluetoothDevice)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[doc = "The `AllowedBluetoothDevice` dictionary."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `AllowedBluetoothDevice`*"]
#[doc = ""]
#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
pub type AllowedBluetoothDevice;
}
#[cfg(web_sys_unstable_apis)]
impl AllowedBluetoothDevice {
#[doc = "Construct a new `AllowedBluetoothDevice`."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `AllowedBluetoothDevice`*"]
#[doc = ""]
#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
pub fn new(
allowed_services: &::wasm_bindgen::JsValue,
device_id: &str,
may_use_gatt: bool,
) -> Self {
#[allow(unused_mut)]
let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
ret.allowed_services(allowed_services);
ret.device_id(device_id);
ret.may_use_gatt(may_use_gatt);
ret
}
#[cfg(web_sys_unstable_apis)]
#[doc = "Change the `allowedServices` field of this object."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `AllowedBluetoothDevice`*"]
#[doc = ""]
#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
pub fn allowed_services(&mut self, val: &::wasm_bindgen::JsValue) -> &mut Self {
use wasm_bindgen::JsValue;
let r = ::js_sys::Reflect::set(
self.as_ref(),
&JsValue::from("allowedServices"),
&JsValue::from(val),
);
debug_assert!(
r.is_ok(),
"setting properties should never fail on our dictionary objects"
);
let _ = r;
self
}
#[cfg(web_sys_unstable_apis)]
#[doc = "Change the `deviceId` field of this object."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `AllowedBluetoothDevice`*"]
#[doc = ""]
#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
pub fn device_id(&mut self, val: &str) -> &mut Self {
use wasm_bindgen::JsValue;
let r = ::js_sys::Reflect::set(
self.as_ref(),
&JsValue::from("deviceId"),
&JsValue::from(val),
);
debug_assert!(
r.is_ok(),
"setting properties should never fail on our dictionary objects"
);
let _ = r;
self
}
#[cfg(web_sys_unstable_apis)]
#[doc = "Change the `mayUseGATT` field of this object."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `AllowedBluetoothDevice`*"]
#[doc = ""]
#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
pub fn may_use_gatt(&mut self, val: bool) -> &mut Self {
use wasm_bindgen::JsValue;
let r = ::js_sys::Reflect::set(
self.as_ref(),
&JsValue::from("mayUseGATT"),
&JsValue::from(val),
);
debug_assert!(
r.is_ok(),
"setting properties should never fail on our dictionary objects"
);
let _ = r;
self
}
}
Loading

0 comments on commit d639960

Please sign in to comment.