wine/include/windows.devices.bluetooth.genericattributeprofile.idl

764 lines
42 KiB
Text

/*
* Copyright 2025 Vibhav Pant
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifdef __WIDL__
#pragma winrt ns_prefix
#endif
#ifndef DO_NO_IMPORTS
import "inspectable.idl";
import "asyncinfo.idl";
import "eventtoken.idl";
import "windowscontracts.idl";
import "windows.foundation.idl";
import "windows.storage.streams.idl";
import "windows.devices.bluetooth.idl";
import "windows.devices.enumeration.idl";
#endif
namespace Windows.Devices.Bluetooth {
typedef enum BluetoothCacheMode BluetoothCacheMode;
typedef enum BluetoothError BluetoothError;
runtimeclass BluetoothLEDevice;
runtimeclass BluetoothDeviceId;
}
namespace Windows.Devices.Bluetooth.GenericAttributeProfile {
typedef enum GattCommunicationStatus GattCommunicationStatus;
typedef enum GattCharacteristicProperties GattCharacteristicProperties;
typedef enum GattProtectionLevel GattProtectionLevel;
typedef enum GattWriteOption GattWriteOption;
typedef enum GattClientCharacteristicConfigurationDescriptorValue GattClientCharacteristicConfigurationDescriptorValue;
typedef enum GattSharingMode GattSharingMode;
typedef enum GattOpenStatus GattOpenStatus;
typedef enum GattSessionStatus GattSessionStatus;
interface IGattDeviceService;
interface IGattDeviceService2;
interface IGattDeviceService3;
interface IGattDeviceServiceStatics;
interface IGattDeviceServiceStatics2;
interface IGattDeviceServicesResult;
interface IGattSession;
interface IGattSessionStatusChangedEventArgs;
interface IGattSessionStatics;
interface IGattCharacteristic;
interface IGattCharacteristic2;
interface IGattCharacteristic3;
interface IGattCharacteristicStatics;
interface IGattDescriptorsResult;
interface IGattDescriptor;
interface IGattDescriptor2;
interface IGattDescriptorStatics;
interface IGattValueChangedEventArgs;
interface IGattReadResult;
interface IGattReadResult2;
interface IGattWriteResult;
interface IGattReadClientCharacteristicConfigurationDescriptorResult;
interface IGattReadClientCharacteristicConfigurationDescriptorResult2;
interface IGattPresentationFormat;
interface IGattPresentationFormatStatics;
interface IGattPresentationFormatStatics2;
runtimeclass GattDeviceService;
runtimeclass GattDeviceServicesResult;
runtimeclass GattSession;
runtimeclass GattSessionStatusChangedEventArgs;
runtimeclass GattCharacteristic;
runtimeclass GattDescriptorsResult;
runtimeclass GattDescriptor;
runtimeclass GattPresentationFormat;
runtimeclass GattValueChangedEventArgs;
runtimeclass GattWriteResult;
runtimeclass GattReadResult;
runtimeclass GattReadClientCharacteristicConfigurationDescriptorResult;
runtimeclass GattReadClientCharacteristicConfigurationDescriptorResult;
runtimeclass GattPresentationFormat;
runtimeclass GattCharacteristicsResult;
declare {
interface Windows.Foundation.Collections.IIterator<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic *>;
interface Windows.Foundation.Collections.IIterable<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic *>;
interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic *>;
interface Windows.Foundation.Collections.IIterator<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor *>;
interface Windows.Foundation.Collections.IIterable<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor *>;
interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor *>;
interface Windows.Foundation.Collections.IIterator<Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat *>;
interface Windows.Foundation.Collections.IIterable<Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat *>;
interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat *>;
interface Windows.Foundation.Collections.IIterator<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *>;
interface Windows.Foundation.Collections.IIterable<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *>;
interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult *>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult *>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult*>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult*>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult *>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult *>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Enumeration.DeviceAccessStatus>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceAccessStatus>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattOpenStatus>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattOpenStatus>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult *>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult *>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult *>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult *>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession *>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession *>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *>;
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult *>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult *>;
interface Windows.Foundation.TypedEventHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic *, Windows.Devices.Bluetooth.GenericAttributeProfile.GattValueChangedEventArgs *>;
interface Windows.Foundation.TypedEventHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession *, Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatusChangedEventArgs *>;
interface Windows.Foundation.TypedEventHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession *, IInspectable *>;
interface Windows.Foundation.IReference<BYTE>;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0)
]
enum GattCommunicationStatus
{
Success = 0,
Unreachable = 1,
[contract(Windows.Foundation.UniversalApiContract, 4.0)]
ProtocolError = 2,
[contract(Windows.Foundation.UniversalApiContract, 4.0)]
AccessDenied = 3,
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
flags
]
enum GattCharacteristicProperties
{
None = 0x0000,
Broadcast = 0x0001,
Read = 0x0002,
WriteWithoutResponse = 0x0004,
Write = 0x0008,
Notify = 0x0010,
Indicate = 0x0020,
AuthenticatedSignedWrites = 0x0040,
ExtendedProperties = 0x0080,
ReliableWrites = 0x0100,
WritableAuxiliaries = 0x0200,
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0)
]
enum GattProtectionLevel
{
Plain = 0,
AuthenticationRequired = 1,
EncryptionRequired = 2,
EncryptionAndAuthenticationRequired = 3,
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0)
]
enum GattWriteOption
{
WriteWithResponse = 0,
WriteWithoutResponse = 1,
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0)
]
enum GattClientCharacteristicConfigurationDescriptorValue
{
None = 0,
Notify = 1,
Indicate = 2,
};
[
contract(Windows.Foundation.UniversalApiContract, 4.0)
]
enum GattSharingMode
{
Unspecified = 0,
Exclusive = 1,
SharedReadOnly = 2,
SharedReadAndWrite = 3,
};
[
contract(Windows.Foundation.UniversalApiContract, 4.0)
]
enum GattOpenStatus
{
Unspecified = 0,
Success = 1,
AlreadyOpened = 2,
NotFound = 3,
SharingViolation = 4,
AccessDenied = 5,
};
[
contract(Windows.Foundation.UniversalApiContract, 4.0)
]
enum GattSessionStatus
{
Closed = 0,
Active = 1,
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService),
uuid(ac7b7c05-b33c-47cf-990f-6b8f5577df71)
]
interface IGattDeviceService : IInspectable requires Windows.Foundation.IClosable
{
HRESULT GetCharacteristics([in] GUID uuid,
[out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic *> **value);
HRESULT GetIncludedServices([in] GUID uuid,
[out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *> **value);
[propget] HRESULT DeviceId([out, retval] HSTRING *value);
[propget] HRESULT Uuid([out, retval] GUID *value);
[propget] HRESULT AttributeHandle([out, retval] UINT16 *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService),
uuid(fc54520b-0b0d-4708-bae0-9ffd9489bc59)
]
interface IGattDeviceService2 : IInspectable requires Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDeviceService, Windows.Foundation.IClosable
{
[propget] HRESULT Device([out, retval] Windows.Devices.Bluetooth.BluetoothLEDevice **value);
[propget] HRESULT ParentServices([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *> **value);
HRESULT GetAllCharacteristics([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic *> **value);
HRESULT GetAllIncludedServices([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *> **value);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService),
uuid(b293a950-0c53-437c-a9b3-5c3210c6e569),
]
interface IGattDeviceService3 : IInspectable
{
[propget] HRESULT DeviceAccessInformation([out, retval] Windows.Devices.Enumeration.DeviceAccessInformation **value);
[propget] HRESULT Session([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession **value);
[propget] HRESULT SharingMode([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattSharingMode *value);
HRESULT RequestAccessAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceAccessStatus> **async);
HRESULT OpenAsync([in] Windows.Devices.Bluetooth.GenericAttributeProfile.GattSharingMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattOpenStatus> **async);
[overload("GetCharacteristicsAsync")]
HRESULT GetCharacteristicsAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult *> **async);
[overload("GetCharacteristicsAsync")]
HRESULT GetCharacteristicsWithCacheModeAsync([in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult *> **async);
[overload("GetCharacteristicsForUuidAsync")]
HRESULT GetCharacteristicsForUuidAsync([in] GUID uuid,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult *> **async);
[overload("GetCharacteristicsForUuidAsync")]
HRESULT GetCharacteristicsForUuidWithCacheModeAsync([in] GUID uuid,
[in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult *> **async);
[overload("GetIncludedServicesAsync")]
HRESULT GetIncludedServicesAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult *> **async);
[overload("GetIncludedServicesAsync")]
HRESULT GetIncludedServicesWithCacheModeAsync([in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult *> **async);
[overload("GetIncludedServicesForUuidAsync")]
HRESULT GetIncludedServicesForUuidAsync([in] GUID uuid,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult *> **async);
[overload("GetIncludedServicesForUuidAsync")]
HRESULT GetIncludedServicesForUuidWithCacheModeAsync([in] GUID uuid,
[in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult *> **async);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService),
uuid(196d0022-faad-45dc-ae5b-2ac3184e84db)
]
interface IGattDeviceServiceStatics : IInspectable
{
[overload("FromIdAsync")]
HRESULT FromIdAsync([in] HSTRING id,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *> **async);
HRESULT GetDeviceSelectorFromUuid([in] GUID uuid, [out, retval] HSTRING *selector);
HRESULT GetDeviceSelectorFromShortId([in] UINT16 id, [out, retval] HSTRING *selector);
HRESULT ConvertShortIdToUuid([in] UINT16 id, [out, retval] GUID *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService),
uuid(0604186e-24a6-4b0d-a2f2-30cc01545d25)
]
interface IGattDeviceServiceStatics2 : IInspectable
{
[overload("FromIdAsync")]
HRESULT FromIdWithSharingModeAsync([in] HSTRING id,
[in] Windows.Devices.Bluetooth.GenericAttributeProfile.GattSharingMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *> **async);
[overload("GetDeviceSelectorForBluetoothDeviceId")]
HRESULT GetDeviceSelectorForBluetoothDeviceId([in] Windows.Devices.Bluetooth.BluetoothDeviceId *id,
[out, retval] HSTRING *selector);
[overload("GetDeviceSelectorForBluetoothDeviceId")]
HRESULT GetDeviceSelectorForBluetoothDeviceIdWithCacheMode([in] Windows.Devices.Bluetooth.BluetoothDeviceId *id,
[in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] HSTRING *selector);
[overload("GetDeviceSelectorForBluetoothDeviceIdAndUuid")]
HRESULT GetDeviceSelectorForBluetoothDeviceIdAndUuid([in] Windows.Devices.Bluetooth.BluetoothDeviceId *id,
[in] GUID uuid,
[out, retval] HSTRING *selector);
[overload("GetDeviceSelectorForBluetoothDeviceIdAndUuid")]
HRESULT GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode([in] Windows.Devices.Bluetooth.BluetoothDeviceId *id,
[in] GUID uuid,
[in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] HSTRING *selector);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
static(Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDeviceServiceStatics, Windows.Foundation.UniversalApiContract, 1.0),
static(Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDeviceServiceStatics2, Windows.Foundation.UniversalApiContract, 4.0),
threading(both)
]
runtimeclass GattDeviceService
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDeviceService;
interface Windows.Foundation.IClosable;
[contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDeviceService2;
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDeviceService3;
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult),
uuid(171dd3ee-016d-419d-838a-576cf475a3d8)
]
interface IGattDeviceServicesResult : IInspectable
{
[propget] HRESULT Status([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus *value);
[propget] HRESULT ProtocolError([out, retval] Windows.Foundation.IReference<BYTE> **value);
[propget] HRESULT Services([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService *> **value);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass GattDeviceServicesResult
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDeviceServicesResult;
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession),
uuid(d23b5143-e04e-4c24-999c-9c256f9856b1)
]
interface IGattSession : IInspectable
{
[propget] HRESULT DeviceId([out, retval] Windows.Devices.Bluetooth.BluetoothDeviceId **value);
[propget] HRESULT CanMaintainConnection([out, retval] boolean *value);
[propput] HRESULT MaintainConnection([in] boolean value);
[propget] HRESULT MaintainConnection([out, retval] boolean *value);
[propget] HRESULT MaxPduSize([out, retval] UINT16 * value);
[propget] HRESULT SessionStatus([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatus *value);
[eventadd] HRESULT MaxPduSizeChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession *, IInspectable *> *handler,
[out, retval] EventRegistrationToken *token);
[eventremove] HRESULT MaxPduSizeChanged([in] EventRegistrationToken token);
[eventadd] HRESULT SessionStatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession *, Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatusChangedEventArgs *> *handler,
[out, retval] EventRegistrationToken *token);
[eventremove] HRESULT SessionStatusChanged([in] EventRegistrationToken token);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession),
uuid(2e65b95c-539f-4db7-82a8-73bdbbf73ebf)
]
interface IGattSessionStatics : IInspectable
{
HRESULT FromDeviceIdAsync([in] Windows.Devices.Bluetooth.BluetoothDeviceId *id,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession *> **async);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
marshaling_behavior(agile),
static(Windows.Devices.Bluetooth.GenericAttributeProfile.IGattSessionStatics, Windows.Foundation.UniversalApiContract, 4.0),
threading(both)
]
runtimeclass GattSession
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattSession;
interface Windows.Foundation.IClosable;
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatusChangedEventArgs),
uuid(7605b72e-837f-404c-ab34-3163f39ddf32)
]
interface IGattSessionStatusChangedEventArgs : IInspectable
{
[propget] HRESULT Error([out, retval] Windows.Devices.Bluetooth.BluetoothError *value);
[propget] HRESULT Status([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattSessionStatus *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass GattSessionStatusChangedEventArgs
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattSessionStatusChangedEventArgs;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic),
uuid(59cb50c1-5934-4f68-a198-eb864fa44e6b),
]
interface IGattCharacteristic : IInspectable
{
HRESULT GetDescriptors([in] GUID uuid,
[out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor *> **value);
[propget] HRESULT CharacteristicProperties([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicProperties *value);
[propget] HRESULT ProtectionLevel([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel *value);
[propput] HRESULT ProtectionLevel([in] Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel value);
[propget] HRESULT UserDescription([out, retval] HSTRING *value);
[propget] HRESULT Uuid([out, retval] GUID *value);
[propget] HRESULT AttributeHandle([out, retval] UINT16 *value);
[propget] HRESULT PresentationFormats([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat *> **value);
[overload("ReadValueAsync")]
HRESULT ReadValueAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult *> **value);
[overload("ReadValueAsync")]
HRESULT ReadValueWithCacheModeAsync([in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult *> **value);
[overload("WriteValueAsync")]
HRESULT WriteValueAsync([in] Windows.Storage.Streams.IBuffer *value,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus> **async);
[overload("WriteValueAsync")]
HRESULT WriteValueWithOptionAsync([in] Windows.Storage.Streams.IBuffer *value,
[in] Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteOption opt,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus> **async);
HRESULT ReadClientCharacteristicConfigurationDescriptorAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult *> **async);
HRESULT WriteClientCharacteristicConfigurationDescriptorAsync([in] Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientCharacteristicConfigurationDescriptorValue value,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus> **async);
[eventadd] HRESULT ValueChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic *, Windows.Devices.Bluetooth.GenericAttributeProfile.GattValueChangedEventArgs *> *handler,
[out, retval] EventRegistrationToken *token);
[eventremove] HRESULT ValueChanged([in] EventRegistrationToken token);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic),
uuid(ae1ab578-ec06-4764-b780-9835a1d35d6e)
]
interface IGattCharacteristic2 : IInspectable requires Windows.Devices.Bluetooth.GenericAttributeProfile.IGattCharacteristic
{
[propget] HRESULT Service([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService **value);
HRESULT GetAllDescriptors([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor *> **descriptors);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic),
uuid(3f3c663e-93d4-406b-b817-db81f8ed53b3)
]
interface IGattCharacteristic3 : IInspectable
{
[overload("GetDescriptorsAsync")]
HRESULT GetDescriptorsAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult *> **async);
[overload("GetDescriptorsAsync")]
HRESULT GetDescriptorsWithCacheModeAsync([in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult *> **async);
[overload("GetDescriptorsForUuidAsync")]
HRESULT GetDescriptorsForUuidAsync([in] GUID uuid,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult *> **async);
[overload("GetDescriptorsForUuidAsync")]
HRESULT GetDescriptorsForUuidWithCacheModeAsync([in] GUID uuid,
[in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult *> **async);
[overload("WriteValueWithResultAsync")]
HRESULT WriteValueWithResultAsync([in] Windows.Storage.Streams.IBuffer *value,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult *> **async);
[overload("WriteValueWithResultAsync")]
HRESULT WriteValueWithResultAndOptionAsync([in] Windows.Storage.Streams.IBuffer *value,
[in] Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteOption option,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult *> **async);
HRESULT WriteClientCharacteristicConfigurationDescriptorWithResultAsync([in] Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientCharacteristicConfigurationDescriptorValue value,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult *> **async);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic),
uuid(59cb50c3-5934-4f68-a198-eb864fa44e6b)
]
interface IGattCharacteristicStatics : IInspectable
{
HRESULT ConvertShortIdToUuid([in] UINT16 id, [out, retval] GUID *uuid);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
static(Windows.Devices.Bluetooth.GenericAttributeProfile.IGattCharacteristicStatics, Windows.Foundation.UniversalApiContract, 1.0),
threading(both)
]
runtimeclass GattCharacteristic
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattCharacteristic;
[contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattCharacteristic2;
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattCharacteristic3;
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult),
uuid(1194945C-B257-4F3E-9DB7-F68BC9A9AEF2)
]
interface IGattCharacteristicsResult : IInspectable
{
[propget] HRESULT Status([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus *value);
[propget] HRESULT ProtocolError([out, retval] Windows.Foundation.IReference<BYTE> **value);
[propget] HRESULT Characteristics([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic *> **value);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass GattCharacteristicsResult
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattCharacteristicsResult;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor),
uuid(92055f2b-8084-4344-b4c2-284de19a8506)
]
interface IGattDescriptor : IInspectable
{
[propget] HRESULT ProtectionLevel([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel *value);
[propput] HRESULT ProtectionLevel([in] Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel value);
[propget] HRESULT Uuid([out, retval] GUID *value);
[propget] HRESULT AttributeHandle([out, retval] UINT16 *value);
[overload("ReadValueAsync")]
HRESULT ReadValueAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult *> **async);
[overload("ReadValueAsync")]
HRESULT ReadValueWithCacheModeAsync([in] Windows.Devices.Bluetooth.BluetoothCacheMode mode,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult *> **async);
HRESULT WriteValueAsync([in] Windows.Storage.Streams.IBuffer *value,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus> **async);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor),
uuid(8f563d39-d630-406c-ba11-10cdd16b0e5e)
]
interface IGattDescriptor2 : IInspectable
{
HRESULT WriteValueWithResultAsync([in] Windows.Storage.Streams.IBuffer *value,
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult *> **async);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor),
uuid(92055f2d-8084-4344-b4c2-284de19a8506),
]
interface IGattDescriptorStatics : IInspectable
{
HRESULT ConvertShortIdToUuid([in] UINT16 id, [out, retval] GUID *uuid);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
static(Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDescriptorStatics, Windows.Foundation.UniversalApiContract, 1.0),
threading(both),
]
runtimeclass GattDescriptor
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDescriptor;
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDescriptor2;
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptorsResult),
uuid(9bc091f3-95e7-4489-8d25-ff81955a57b9)
]
interface IGattDescriptorsResult : IInspectable
{
[propget] HRESULT Status([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus *value);
[propget] HRESULT ProtocolError([out, retval] Windows.Foundation.IReference<BYTE> **value);
[propget] HRESULT Descriptors([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Bluetooth.GenericAttributeProfile.GattDescriptor *> **value);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
marshaling_behavior(agile),
threading(both),
]
runtimeclass GattDescriptorsResult
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattDescriptorsResult;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattValueChangedEventArgs),
uuid(d21bdb54-06e3-4ed8-a263-acfac8ba7313)
]
interface IGattValueChangedEventArgs : IInspectable
{
[propget] HRESULT CharacteristicValue([out, retval] Windows.Storage.Streams.IBuffer **value);
[propget] HRESULT Timestamp([out, retval] Windows.Foundation.DateTime *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass GattValueChangedEventArgs
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattValueChangedEventArgs;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult),
uuid(63a66f08-1aea-4c4c-a50f-97bae474b348)
]
interface IGattReadResult : IInspectable
{
[propget] HRESULT Status([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus *value);
[propget] HRESULT Value([out, retval] Windows.Storage.Streams.IBuffer **value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass GattReadResult
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattReadResult;
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattReadResult2;
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteResult),
uuid(4991ddb1-cb2b-44f7-99fc-d29a2871dc9b)
]
interface IGattWriteResult : IInspectable
{
[propget] HRESULT Status([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus* value);
[propget] HRESULT ProtocolError([out, retval] Windows.Foundation.IReference<BYTE>** value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass GattWriteResult
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattWriteResult;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult),
uuid(63a66f09-1aea-4c4c-a50f-97bae474b348)
]
interface IGattReadClientCharacteristicConfigurationDescriptorResult : IInspectable
{
[propget] HRESULT Status([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus *value);
[propget] HRESULT ClientCharacteristicConfigurationDescriptor([out, retval] Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientCharacteristicConfigurationDescriptorValue *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 4.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadClientCharacteristicConfigurationDescriptorResult),
uuid(1bf1a59d-ba4d-4622-8651-f4ee150d0a5d)
]
interface IGattReadClientCharacteristicConfigurationDescriptorResult2 : IInspectable
{
[propget] HRESULT ProtocolError([out, retval] Windows.Foundation.IReference<BYTE>** value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass GattReadClientCharacteristicConfigurationDescriptorResult
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattReadClientCharacteristicConfigurationDescriptorResult;
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattReadClientCharacteristicConfigurationDescriptorResult2;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Devices.Bluetooth.GenericAttributeProfile.GattPresentationFormat),
uuid(196d0021-faad-45dc-ae5b-2ac3184e84db)
]
interface IGattPresentationFormat : IInspectable
{
[propget] HRESULT FormatType([out, retval] BYTE *value);
[propget] HRESULT Exponent([out, retval] INT32 *value);
[propget] HRESULT Unit([out, retval] UINT16 *value);
[propget] HRESULT Namespace([out, retval] BYTE *value);
[propget] HRESULT Description([out, retval] UINT16 *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
/* static(Windows.Devices.Bluetooth.GenericAttributeProfile.IGattPresentationFormatStatics, Windows.Foundation.UniversalApiContract, 1.0), */
/* static(Windows.Devices.Bluetooth.GenericAttributeProfile.IGattPresentationFormatStatics2, Windows.Foundation.UniversalApiContract, 4.0), */
threading(both)
]
runtimeclass GattPresentationFormat
{
[default] interface Windows.Devices.Bluetooth.GenericAttributeProfile.IGattPresentationFormat;
}
}