2 * Copyright (C) 2023 Mohamad Al-Jaf
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #pragma winrt ns_prefix
23 import
"inspectable.idl";
24 import
"asyncinfo.idl";
25 import
"eventtoken.idl";
26 import
"windowscontracts.idl";
27 import
"windows.foundation.idl";
28 /* import "windows.devices.bluetooth.genericattributeprofile.idl"; */
29 /* import "windows.devices.bluetooth.rfcomm.idl"; */
30 import
"windows.devices.enumeration.idl";
31 import
"windows.devices.radios.idl";
32 /* import "windows.networking.idl"; */
33 import
"windows.storage.streams.idl";
35 namespace Windows.Devices.Bluetooth
{
36 interface IBluetoothAdapter
;
37 interface IBluetoothAdapter2
;
38 interface IBluetoothAdapter3
;
39 interface IBluetoothAdapterStatics
;
41 runtimeclass BluetoothAdapter
;
44 interface Windows.Foundation.AsyncOperationCompletedHandler
<Windows.Devices.Bluetooth.BluetoothAdapter
*>;
45 interface Windows.Foundation.IAsyncOperation
<Windows.Devices.Bluetooth.BluetoothAdapter
*>;
49 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
50 exclusiveto
(Windows.Devices.Bluetooth.BluetoothAdapter
),
51 uuid(7974f04c
-5f7a
-4a34
-9225-a855f84b1a8b
)
53 interface IBluetoothAdapter
: IInspectable
55 [propget] HRESULT DeviceId
([out, retval] HSTRING
*value
);
56 [propget] HRESULT BluetoothAddress
([out, retval] UINT64
*value
);
57 [propget] HRESULT IsClassicSupported
([out, retval] boolean *value
);
58 [propget] HRESULT IsLowEnergySupported
([out, retval] boolean *value
);
59 [propget] HRESULT IsPeripheralRoleSupported
([out, retval] boolean *value
);
60 [propget] HRESULT IsCentralRoleSupported
([out, retval] boolean *value
);
61 [propget] HRESULT IsAdvertisementOffloadSupported
([out, retval] boolean *value
);
62 HRESULT GetRadioAsync
([out, retval] Windows.Foundation.IAsyncOperation
<Windows.Devices.Radios.Radio
*> **operation
);
66 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
67 exclusiveto
(Windows.Devices.Bluetooth.BluetoothAdapter
),
68 uuid(8b02fb6a
-ac4c
-4741-8661-8eab7d17ea9f
)
70 interface IBluetoothAdapterStatics
: IInspectable
72 HRESULT GetDeviceSelector
([out, retval] HSTRING
*result
);
73 HRESULT FromIdAsync
([in] HSTRING
id, [out, retval] Windows.Foundation.IAsyncOperation
<Windows.Devices.Bluetooth.BluetoothAdapter
*> **operation
);
74 HRESULT GetDefaultAsync
([out, retval] Windows.Foundation.IAsyncOperation
<Windows.Devices.Bluetooth.BluetoothAdapter
*> **operation
);
78 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
79 marshaling_behavior
(agile
),
80 static
(Windows.Devices.Bluetooth.IBluetoothAdapterStatics
, Windows.Foundation.UniversalApiContract
, 4.0),
83 runtimeclass BluetoothAdapter
85 [default] interface Windows.Devices.Bluetooth.IBluetoothAdapter
;
86 [contract
(Windows.Foundation.UniversalApiContract
, 6.0)] interface Windows.Devices.Bluetooth.IBluetoothAdapter2
;
87 [contract
(Windows.Foundation.UniversalApiContract
, 10.0)] interface Windows.Devices.Bluetooth.IBluetoothAdapter3
;