first commit

This commit is contained in:
2025-08-22 17:42:23 -04:00
commit a6c09a5890
120 changed files with 11443 additions and 0 deletions

View File

@ -0,0 +1,298 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/devices/bluetooth"
"github.com/saltosystems/winrt-go/windows/foundation"
"github.com/saltosystems/winrt-go/windows/storage/streams"
)
const SignatureGattCharacteristic string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristic;{59cb50c1-5934-4f68-a198-eb864fa44e6b})"
type GattCharacteristic struct {
ole.IUnknown
}
func (impl *GattCharacteristic) GetCharacteristicProperties() (GattCharacteristicProperties, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristic))
defer itf.Release()
v := (*iGattCharacteristic)(unsafe.Pointer(itf))
return v.GetCharacteristicProperties()
}
func (impl *GattCharacteristic) GetUuid() (syscall.GUID, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristic))
defer itf.Release()
v := (*iGattCharacteristic)(unsafe.Pointer(itf))
return v.GetUuid()
}
func (impl *GattCharacteristic) ReadValueAsync() (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristic))
defer itf.Release()
v := (*iGattCharacteristic)(unsafe.Pointer(itf))
return v.ReadValueAsync()
}
func (impl *GattCharacteristic) ReadValueWithCacheModeAsync(cacheMode bluetooth.BluetoothCacheMode) (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristic))
defer itf.Release()
v := (*iGattCharacteristic)(unsafe.Pointer(itf))
return v.ReadValueWithCacheModeAsync(cacheMode)
}
func (impl *GattCharacteristic) WriteValueAsync(value *streams.IBuffer) (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristic))
defer itf.Release()
v := (*iGattCharacteristic)(unsafe.Pointer(itf))
return v.WriteValueAsync(value)
}
func (impl *GattCharacteristic) WriteValueWithOptionAsync(value *streams.IBuffer, writeOption GattWriteOption) (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristic))
defer itf.Release()
v := (*iGattCharacteristic)(unsafe.Pointer(itf))
return v.WriteValueWithOptionAsync(value, writeOption)
}
func (impl *GattCharacteristic) WriteClientCharacteristicConfigurationDescriptorAsync(clientCharacteristicConfigurationDescriptorValue GattClientCharacteristicConfigurationDescriptorValue) (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristic))
defer itf.Release()
v := (*iGattCharacteristic)(unsafe.Pointer(itf))
return v.WriteClientCharacteristicConfigurationDescriptorAsync(clientCharacteristicConfigurationDescriptorValue)
}
func (impl *GattCharacteristic) AddValueChanged(valueChangedHandler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristic))
defer itf.Release()
v := (*iGattCharacteristic)(unsafe.Pointer(itf))
return v.AddValueChanged(valueChangedHandler)
}
func (impl *GattCharacteristic) RemoveValueChanged(valueChangedEventCookie foundation.EventRegistrationToken) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristic))
defer itf.Release()
v := (*iGattCharacteristic)(unsafe.Pointer(itf))
return v.RemoveValueChanged(valueChangedEventCookie)
}
const GUIDiGattCharacteristic string = "59cb50c1-5934-4f68-a198-eb864fa44e6b"
const SignatureiGattCharacteristic string = "{59cb50c1-5934-4f68-a198-eb864fa44e6b}"
type iGattCharacteristic struct {
ole.IInspectable
}
type iGattCharacteristicVtbl struct {
ole.IInspectableVtbl
GetDescriptors uintptr
GetCharacteristicProperties uintptr
GetProtectionLevel uintptr
SetProtectionLevel uintptr
GetUserDescription uintptr
GetUuid uintptr
GetAttributeHandle uintptr
GetPresentationFormats uintptr
ReadValueAsync uintptr
ReadValueWithCacheModeAsync uintptr
WriteValueAsync uintptr
WriteValueWithOptionAsync uintptr
ReadClientCharacteristicConfigurationDescriptorAsync uintptr
WriteClientCharacteristicConfigurationDescriptorAsync uintptr
AddValueChanged uintptr
RemoveValueChanged uintptr
}
func (v *iGattCharacteristic) VTable() *iGattCharacteristicVtbl {
return (*iGattCharacteristicVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattCharacteristic) GetCharacteristicProperties() (GattCharacteristicProperties, error) {
var out GattCharacteristicProperties
hr, _, _ := syscall.SyscallN(
v.VTable().GetCharacteristicProperties,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattCharacteristicProperties
)
if hr != 0 {
return GattCharacteristicPropertiesNone, ole.NewError(hr)
}
return out, nil
}
func (v *iGattCharacteristic) GetUuid() (syscall.GUID, error) {
var out syscall.GUID
hr, _, _ := syscall.SyscallN(
v.VTable().GetUuid,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out syscall.GUID
)
if hr != 0 {
return syscall.GUID{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattCharacteristic) ReadValueAsync() (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().ReadValueAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattCharacteristic) ReadValueWithCacheModeAsync(cacheMode bluetooth.BluetoothCacheMode) (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().ReadValueWithCacheModeAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(cacheMode), // in bluetooth.BluetoothCacheMode
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattCharacteristic) WriteValueAsync(value *streams.IBuffer) (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().WriteValueAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(value)), // in streams.IBuffer
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattCharacteristic) WriteValueWithOptionAsync(value *streams.IBuffer, writeOption GattWriteOption) (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().WriteValueWithOptionAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(value)), // in streams.IBuffer
uintptr(writeOption), // in GattWriteOption
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattCharacteristic) WriteClientCharacteristicConfigurationDescriptorAsync(clientCharacteristicConfigurationDescriptorValue GattClientCharacteristicConfigurationDescriptorValue) (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().WriteClientCharacteristicConfigurationDescriptorAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(clientCharacteristicConfigurationDescriptorValue), // in GattClientCharacteristicConfigurationDescriptorValue
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattCharacteristic) AddValueChanged(valueChangedHandler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
var out foundation.EventRegistrationToken
hr, _, _ := syscall.SyscallN(
v.VTable().AddValueChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(valueChangedHandler)), // in foundation.TypedEventHandler
uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken
)
if hr != 0 {
return foundation.EventRegistrationToken{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattCharacteristic) RemoveValueChanged(valueChangedEventCookie foundation.EventRegistrationToken) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RemoveValueChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&valueChangedEventCookie)), // in foundation.EventRegistrationToken
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
const GUIDiGattCharacteristic2 string = "ae1ab578-ec06-4764-b780-9835a1d35d6e"
const SignatureiGattCharacteristic2 string = "{ae1ab578-ec06-4764-b780-9835a1d35d6e}"
type iGattCharacteristic2 struct {
ole.IInspectable
}
type iGattCharacteristic2Vtbl struct {
ole.IInspectableVtbl
GetService uintptr
GetAllDescriptors uintptr
}
func (v *iGattCharacteristic2) VTable() *iGattCharacteristic2Vtbl {
return (*iGattCharacteristic2Vtbl)(unsafe.Pointer(v.RawVTable))
}
const GUIDiGattCharacteristic3 string = "3f3c663e-93d4-406b-b817-db81f8ed53b3"
const SignatureiGattCharacteristic3 string = "{3f3c663e-93d4-406b-b817-db81f8ed53b3}"
type iGattCharacteristic3 struct {
ole.IInspectable
}
type iGattCharacteristic3Vtbl struct {
ole.IInspectableVtbl
GetDescriptorsAsync uintptr
GetDescriptorsWithCacheModeAsync uintptr
GetDescriptorsForUuidAsync uintptr
GetDescriptorsForUuidWithCacheModeAsync uintptr
WriteValueWithResultAsync uintptr
WriteValueWithResultAndOptionAsync uintptr
WriteClientCharacteristicConfigurationDescriptorWithResultAsync uintptr
}
func (v *iGattCharacteristic3) VTable() *iGattCharacteristic3Vtbl {
return (*iGattCharacteristic3Vtbl)(unsafe.Pointer(v.RawVTable))
}

View File

@ -0,0 +1,24 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
type GattCharacteristicProperties uint32
const SignatureGattCharacteristicProperties string = "enum(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicProperties;u4)"
const (
GattCharacteristicPropertiesNone GattCharacteristicProperties = 0
GattCharacteristicPropertiesBroadcast GattCharacteristicProperties = 1
GattCharacteristicPropertiesRead GattCharacteristicProperties = 2
GattCharacteristicPropertiesWriteWithoutResponse GattCharacteristicProperties = 4
GattCharacteristicPropertiesWrite GattCharacteristicProperties = 8
GattCharacteristicPropertiesNotify GattCharacteristicProperties = 16
GattCharacteristicPropertiesIndicate GattCharacteristicProperties = 32
GattCharacteristicPropertiesAuthenticatedSignedWrites GattCharacteristicProperties = 64
GattCharacteristicPropertiesExtendedProperties GattCharacteristicProperties = 128
GattCharacteristicPropertiesReliableWrites GattCharacteristicProperties = 256
GattCharacteristicPropertiesWritableAuxiliaries GattCharacteristicProperties = 512
)

View File

@ -0,0 +1,83 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation/collections"
)
const SignatureGattCharacteristicsResult string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicsResult;{1194945c-b257-4f3e-9db7-f68bc9a9aef2})"
type GattCharacteristicsResult struct {
ole.IUnknown
}
func (impl *GattCharacteristicsResult) GetStatus() (GattCommunicationStatus, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristicsResult))
defer itf.Release()
v := (*iGattCharacteristicsResult)(unsafe.Pointer(itf))
return v.GetStatus()
}
func (impl *GattCharacteristicsResult) GetCharacteristics() (*collections.IVectorView, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattCharacteristicsResult))
defer itf.Release()
v := (*iGattCharacteristicsResult)(unsafe.Pointer(itf))
return v.GetCharacteristics()
}
const GUIDiGattCharacteristicsResult string = "1194945c-b257-4f3e-9db7-f68bc9a9aef2"
const SignatureiGattCharacteristicsResult string = "{1194945c-b257-4f3e-9db7-f68bc9a9aef2}"
type iGattCharacteristicsResult struct {
ole.IInspectable
}
type iGattCharacteristicsResultVtbl struct {
ole.IInspectableVtbl
GetStatus uintptr
GetProtocolError uintptr
GetCharacteristics uintptr
}
func (v *iGattCharacteristicsResult) VTable() *iGattCharacteristicsResultVtbl {
return (*iGattCharacteristicsResultVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattCharacteristicsResult) GetStatus() (GattCommunicationStatus, error) {
var out GattCommunicationStatus
hr, _, _ := syscall.SyscallN(
v.VTable().GetStatus,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattCommunicationStatus
)
if hr != 0 {
return GattCommunicationStatusSuccess, ole.NewError(hr)
}
return out, nil
}
func (v *iGattCharacteristicsResult) GetCharacteristics() (*collections.IVectorView, error) {
var out *collections.IVectorView
hr, _, _ := syscall.SyscallN(
v.VTable().GetCharacteristics,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out collections.IVectorView
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,16 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
type GattClientCharacteristicConfigurationDescriptorValue int32
const SignatureGattClientCharacteristicConfigurationDescriptorValue string = "enum(Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientCharacteristicConfigurationDescriptorValue;i4)"
const (
GattClientCharacteristicConfigurationDescriptorValueNone GattClientCharacteristicConfigurationDescriptorValue = 0
GattClientCharacteristicConfigurationDescriptorValueNotify GattClientCharacteristicConfigurationDescriptorValue = 1
GattClientCharacteristicConfigurationDescriptorValueIndicate GattClientCharacteristicConfigurationDescriptorValue = 2
)

View File

@ -0,0 +1,144 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
)
const SignatureGattClientNotificationResult string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattClientNotificationResult;{506d5599-0112-419a-8e3b-ae21afabd2c2})"
type GattClientNotificationResult struct {
ole.IUnknown
}
func (impl *GattClientNotificationResult) GetSubscribedClient() (*GattSubscribedClient, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattClientNotificationResult))
defer itf.Release()
v := (*iGattClientNotificationResult)(unsafe.Pointer(itf))
return v.GetSubscribedClient()
}
func (impl *GattClientNotificationResult) GetStatus() (GattCommunicationStatus, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattClientNotificationResult))
defer itf.Release()
v := (*iGattClientNotificationResult)(unsafe.Pointer(itf))
return v.GetStatus()
}
func (impl *GattClientNotificationResult) GetProtocolError() (*foundation.IReference, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattClientNotificationResult))
defer itf.Release()
v := (*iGattClientNotificationResult)(unsafe.Pointer(itf))
return v.GetProtocolError()
}
func (impl *GattClientNotificationResult) GetBytesSent() (uint16, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattClientNotificationResult2))
defer itf.Release()
v := (*iGattClientNotificationResult2)(unsafe.Pointer(itf))
return v.GetBytesSent()
}
const GUIDiGattClientNotificationResult string = "506d5599-0112-419a-8e3b-ae21afabd2c2"
const SignatureiGattClientNotificationResult string = "{506d5599-0112-419a-8e3b-ae21afabd2c2}"
type iGattClientNotificationResult struct {
ole.IInspectable
}
type iGattClientNotificationResultVtbl struct {
ole.IInspectableVtbl
GetSubscribedClient uintptr
GetStatus uintptr
GetProtocolError uintptr
}
func (v *iGattClientNotificationResult) VTable() *iGattClientNotificationResultVtbl {
return (*iGattClientNotificationResultVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattClientNotificationResult) GetSubscribedClient() (*GattSubscribedClient, error) {
var out *GattSubscribedClient
hr, _, _ := syscall.SyscallN(
v.VTable().GetSubscribedClient,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattSubscribedClient
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattClientNotificationResult) GetStatus() (GattCommunicationStatus, error) {
var out GattCommunicationStatus
hr, _, _ := syscall.SyscallN(
v.VTable().GetStatus,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattCommunicationStatus
)
if hr != 0 {
return GattCommunicationStatusSuccess, ole.NewError(hr)
}
return out, nil
}
func (v *iGattClientNotificationResult) GetProtocolError() (*foundation.IReference, error) {
var out *foundation.IReference
hr, _, _ := syscall.SyscallN(
v.VTable().GetProtocolError,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out foundation.IReference
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
const GUIDiGattClientNotificationResult2 string = "8faec497-45e0-497e-9582-29a1fe281ad5"
const SignatureiGattClientNotificationResult2 string = "{8faec497-45e0-497e-9582-29a1fe281ad5}"
type iGattClientNotificationResult2 struct {
ole.IInspectable
}
type iGattClientNotificationResult2Vtbl struct {
ole.IInspectableVtbl
GetBytesSent uintptr
}
func (v *iGattClientNotificationResult2) VTable() *iGattClientNotificationResult2Vtbl {
return (*iGattClientNotificationResult2Vtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattClientNotificationResult2) GetBytesSent() (uint16, error) {
var out uint16
hr, _, _ := syscall.SyscallN(
v.VTable().GetBytesSent,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out uint16
)
if hr != 0 {
return 0, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,17 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
type GattCommunicationStatus int32
const SignatureGattCommunicationStatus string = "enum(Windows.Devices.Bluetooth.GenericAttributeProfile.GattCommunicationStatus;i4)"
const (
GattCommunicationStatusSuccess GattCommunicationStatus = 0
GattCommunicationStatusUnreachable GattCommunicationStatus = 1
GattCommunicationStatusProtocolError GattCommunicationStatus = 2
GattCommunicationStatusAccessDenied GattCommunicationStatus = 3
)

View File

@ -0,0 +1,165 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/devices/bluetooth"
"github.com/saltosystems/winrt-go/windows/foundation"
)
const SignatureGattDeviceService string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService;{ac7b7c05-b33c-47cf-990f-6b8f5577df71})"
type GattDeviceService struct {
ole.IUnknown
}
func (impl *GattDeviceService) GetUuid() (syscall.GUID, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattDeviceService))
defer itf.Release()
v := (*iGattDeviceService)(unsafe.Pointer(itf))
return v.GetUuid()
}
func (impl *GattDeviceService) Close() error {
itf := impl.MustQueryInterface(ole.NewGUID(foundation.GUIDIClosable))
defer itf.Release()
v := (*foundation.IClosable)(unsafe.Pointer(itf))
return v.Close()
}
func (impl *GattDeviceService) GetCharacteristicsAsync() (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattDeviceService3))
defer itf.Release()
v := (*iGattDeviceService3)(unsafe.Pointer(itf))
return v.GetCharacteristicsAsync()
}
func (impl *GattDeviceService) GetCharacteristicsWithCacheModeAsync(cacheMode bluetooth.BluetoothCacheMode) (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattDeviceService3))
defer itf.Release()
v := (*iGattDeviceService3)(unsafe.Pointer(itf))
return v.GetCharacteristicsWithCacheModeAsync(cacheMode)
}
const GUIDiGattDeviceService string = "ac7b7c05-b33c-47cf-990f-6b8f5577df71"
const SignatureiGattDeviceService string = "{ac7b7c05-b33c-47cf-990f-6b8f5577df71}"
type iGattDeviceService struct {
ole.IInspectable
}
type iGattDeviceServiceVtbl struct {
ole.IInspectableVtbl
GetCharacteristics uintptr
GetIncludedServices uintptr
GetDeviceId uintptr
GetUuid uintptr
GetAttributeHandle uintptr
}
func (v *iGattDeviceService) VTable() *iGattDeviceServiceVtbl {
return (*iGattDeviceServiceVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattDeviceService) GetUuid() (syscall.GUID, error) {
var out syscall.GUID
hr, _, _ := syscall.SyscallN(
v.VTable().GetUuid,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out syscall.GUID
)
if hr != 0 {
return syscall.GUID{}, ole.NewError(hr)
}
return out, nil
}
const GUIDiGattDeviceService2 string = "fc54520b-0b0d-4708-bae0-9ffd9489bc59"
const SignatureiGattDeviceService2 string = "{fc54520b-0b0d-4708-bae0-9ffd9489bc59}"
type iGattDeviceService2 struct {
ole.IInspectable
}
type iGattDeviceService2Vtbl struct {
ole.IInspectableVtbl
GetDevice uintptr
GetParentServices uintptr
GetAllCharacteristics uintptr
GetAllIncludedServices uintptr
}
func (v *iGattDeviceService2) VTable() *iGattDeviceService2Vtbl {
return (*iGattDeviceService2Vtbl)(unsafe.Pointer(v.RawVTable))
}
const GUIDiGattDeviceService3 string = "b293a950-0c53-437c-a9b3-5c3210c6e569"
const SignatureiGattDeviceService3 string = "{b293a950-0c53-437c-a9b3-5c3210c6e569}"
type iGattDeviceService3 struct {
ole.IInspectable
}
type iGattDeviceService3Vtbl struct {
ole.IInspectableVtbl
GetDeviceAccessInformation uintptr
GetSession uintptr
GetSharingMode uintptr
RequestAccessAsync uintptr
OpenAsync uintptr
GetCharacteristicsAsync uintptr
GetCharacteristicsWithCacheModeAsync uintptr
GetCharacteristicsForUuidAsync uintptr
GetCharacteristicsForUuidWithCacheModeAsync uintptr
GetIncludedServicesAsync uintptr
GetIncludedServicesWithCacheModeAsync uintptr
GetIncludedServicesForUuidAsync uintptr
GetIncludedServicesForUuidWithCacheModeAsync uintptr
}
func (v *iGattDeviceService3) VTable() *iGattDeviceService3Vtbl {
return (*iGattDeviceService3Vtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattDeviceService3) GetCharacteristicsAsync() (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().GetCharacteristicsAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattDeviceService3) GetCharacteristicsWithCacheModeAsync(cacheMode bluetooth.BluetoothCacheMode) (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().GetCharacteristicsWithCacheModeAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(cacheMode), // in bluetooth.BluetoothCacheMode
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,83 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation/collections"
)
const SignatureGattDeviceServicesResult string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceServicesResult;{171dd3ee-016d-419d-838a-576cf475a3d8})"
type GattDeviceServicesResult struct {
ole.IUnknown
}
func (impl *GattDeviceServicesResult) GetStatus() (GattCommunicationStatus, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattDeviceServicesResult))
defer itf.Release()
v := (*iGattDeviceServicesResult)(unsafe.Pointer(itf))
return v.GetStatus()
}
func (impl *GattDeviceServicesResult) GetServices() (*collections.IVectorView, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattDeviceServicesResult))
defer itf.Release()
v := (*iGattDeviceServicesResult)(unsafe.Pointer(itf))
return v.GetServices()
}
const GUIDiGattDeviceServicesResult string = "171dd3ee-016d-419d-838a-576cf475a3d8"
const SignatureiGattDeviceServicesResult string = "{171dd3ee-016d-419d-838a-576cf475a3d8}"
type iGattDeviceServicesResult struct {
ole.IInspectable
}
type iGattDeviceServicesResultVtbl struct {
ole.IInspectableVtbl
GetStatus uintptr
GetProtocolError uintptr
GetServices uintptr
}
func (v *iGattDeviceServicesResult) VTable() *iGattDeviceServicesResultVtbl {
return (*iGattDeviceServicesResultVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattDeviceServicesResult) GetStatus() (GattCommunicationStatus, error) {
var out GattCommunicationStatus
hr, _, _ := syscall.SyscallN(
v.VTable().GetStatus,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattCommunicationStatus
)
if hr != 0 {
return GattCommunicationStatusSuccess, ole.NewError(hr)
}
return out, nil
}
func (v *iGattDeviceServicesResult) GetServices() (*collections.IVectorView, error) {
var out *collections.IVectorView
hr, _, _ := syscall.SyscallN(
v.VTable().GetServices,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out collections.IVectorView
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,459 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
"github.com/saltosystems/winrt-go/windows/foundation/collections"
"github.com/saltosystems/winrt-go/windows/storage/streams"
)
const SignatureGattLocalCharacteristic string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristic;{aede376d-5412-4d74-92a8-8deb8526829c})"
type GattLocalCharacteristic struct {
ole.IUnknown
}
func (impl *GattLocalCharacteristic) GetUuid() (syscall.GUID, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.GetUuid()
}
func (impl *GattLocalCharacteristic) GetStaticValue() (*streams.IBuffer, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.GetStaticValue()
}
func (impl *GattLocalCharacteristic) GetCharacteristicProperties() (GattCharacteristicProperties, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.GetCharacteristicProperties()
}
func (impl *GattLocalCharacteristic) GetReadProtectionLevel() (GattProtectionLevel, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.GetReadProtectionLevel()
}
func (impl *GattLocalCharacteristic) GetWriteProtectionLevel() (GattProtectionLevel, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.GetWriteProtectionLevel()
}
func (impl *GattLocalCharacteristic) CreateDescriptorAsync(descriptorUuid syscall.GUID, parameters *GattLocalDescriptorParameters) (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.CreateDescriptorAsync(descriptorUuid, parameters)
}
func (impl *GattLocalCharacteristic) GetDescriptors() (*collections.IVectorView, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.GetDescriptors()
}
func (impl *GattLocalCharacteristic) GetUserDescription() (string, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.GetUserDescription()
}
func (impl *GattLocalCharacteristic) GetPresentationFormats() (*collections.IVectorView, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.GetPresentationFormats()
}
func (impl *GattLocalCharacteristic) GetSubscribedClients() (*collections.IVectorView, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.GetSubscribedClients()
}
func (impl *GattLocalCharacteristic) AddSubscribedClientsChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.AddSubscribedClientsChanged(handler)
}
func (impl *GattLocalCharacteristic) RemoveSubscribedClientsChanged(token foundation.EventRegistrationToken) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.RemoveSubscribedClientsChanged(token)
}
func (impl *GattLocalCharacteristic) AddReadRequested(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.AddReadRequested(handler)
}
func (impl *GattLocalCharacteristic) RemoveReadRequested(token foundation.EventRegistrationToken) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.RemoveReadRequested(token)
}
func (impl *GattLocalCharacteristic) AddWriteRequested(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.AddWriteRequested(handler)
}
func (impl *GattLocalCharacteristic) RemoveWriteRequested(token foundation.EventRegistrationToken) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.RemoveWriteRequested(token)
}
func (impl *GattLocalCharacteristic) NotifyValueAsync(value *streams.IBuffer) (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.NotifyValueAsync(value)
}
func (impl *GattLocalCharacteristic) NotifyValueForSubscribedClientAsync(value *streams.IBuffer, subscribedClient *GattSubscribedClient) (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristic))
defer itf.Release()
v := (*iGattLocalCharacteristic)(unsafe.Pointer(itf))
return v.NotifyValueForSubscribedClientAsync(value, subscribedClient)
}
const GUIDiGattLocalCharacteristic string = "aede376d-5412-4d74-92a8-8deb8526829c"
const SignatureiGattLocalCharacteristic string = "{aede376d-5412-4d74-92a8-8deb8526829c}"
type iGattLocalCharacteristic struct {
ole.IInspectable
}
type iGattLocalCharacteristicVtbl struct {
ole.IInspectableVtbl
GetUuid uintptr
GetStaticValue uintptr
GetCharacteristicProperties uintptr
GetReadProtectionLevel uintptr
GetWriteProtectionLevel uintptr
CreateDescriptorAsync uintptr
GetDescriptors uintptr
GetUserDescription uintptr
GetPresentationFormats uintptr
GetSubscribedClients uintptr
AddSubscribedClientsChanged uintptr
RemoveSubscribedClientsChanged uintptr
AddReadRequested uintptr
RemoveReadRequested uintptr
AddWriteRequested uintptr
RemoveWriteRequested uintptr
NotifyValueAsync uintptr
NotifyValueForSubscribedClientAsync uintptr
}
func (v *iGattLocalCharacteristic) VTable() *iGattLocalCharacteristicVtbl {
return (*iGattLocalCharacteristicVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattLocalCharacteristic) GetUuid() (syscall.GUID, error) {
var out syscall.GUID
hr, _, _ := syscall.SyscallN(
v.VTable().GetUuid,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out syscall.GUID
)
if hr != 0 {
return syscall.GUID{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) GetStaticValue() (*streams.IBuffer, error) {
var out *streams.IBuffer
hr, _, _ := syscall.SyscallN(
v.VTable().GetStaticValue,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out streams.IBuffer
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) GetCharacteristicProperties() (GattCharacteristicProperties, error) {
var out GattCharacteristicProperties
hr, _, _ := syscall.SyscallN(
v.VTable().GetCharacteristicProperties,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattCharacteristicProperties
)
if hr != 0 {
return GattCharacteristicPropertiesNone, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) GetReadProtectionLevel() (GattProtectionLevel, error) {
var out GattProtectionLevel
hr, _, _ := syscall.SyscallN(
v.VTable().GetReadProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattProtectionLevel
)
if hr != 0 {
return GattProtectionLevelPlain, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) GetWriteProtectionLevel() (GattProtectionLevel, error) {
var out GattProtectionLevel
hr, _, _ := syscall.SyscallN(
v.VTable().GetWriteProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattProtectionLevel
)
if hr != 0 {
return GattProtectionLevelPlain, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) CreateDescriptorAsync(descriptorUuid syscall.GUID, parameters *GattLocalDescriptorParameters) (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().CreateDescriptorAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&descriptorUuid)), // in syscall.GUID
uintptr(unsafe.Pointer(parameters)), // in GattLocalDescriptorParameters
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) GetDescriptors() (*collections.IVectorView, error) {
var out *collections.IVectorView
hr, _, _ := syscall.SyscallN(
v.VTable().GetDescriptors,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out collections.IVectorView
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) GetUserDescription() (string, error) {
var outHStr ole.HString
hr, _, _ := syscall.SyscallN(
v.VTable().GetUserDescription,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&outHStr)), // out string
)
if hr != 0 {
return "", ole.NewError(hr)
}
out := outHStr.String()
ole.DeleteHString(outHStr)
return out, nil
}
func (v *iGattLocalCharacteristic) GetPresentationFormats() (*collections.IVectorView, error) {
var out *collections.IVectorView
hr, _, _ := syscall.SyscallN(
v.VTable().GetPresentationFormats,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out collections.IVectorView
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) GetSubscribedClients() (*collections.IVectorView, error) {
var out *collections.IVectorView
hr, _, _ := syscall.SyscallN(
v.VTable().GetSubscribedClients,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out collections.IVectorView
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) AddSubscribedClientsChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
var out foundation.EventRegistrationToken
hr, _, _ := syscall.SyscallN(
v.VTable().AddSubscribedClientsChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(handler)), // in foundation.TypedEventHandler
uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken
)
if hr != 0 {
return foundation.EventRegistrationToken{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) RemoveSubscribedClientsChanged(token foundation.EventRegistrationToken) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RemoveSubscribedClientsChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&token)), // in foundation.EventRegistrationToken
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalCharacteristic) AddReadRequested(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
var out foundation.EventRegistrationToken
hr, _, _ := syscall.SyscallN(
v.VTable().AddReadRequested,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(handler)), // in foundation.TypedEventHandler
uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken
)
if hr != 0 {
return foundation.EventRegistrationToken{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) RemoveReadRequested(token foundation.EventRegistrationToken) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RemoveReadRequested,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&token)), // in foundation.EventRegistrationToken
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalCharacteristic) AddWriteRequested(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
var out foundation.EventRegistrationToken
hr, _, _ := syscall.SyscallN(
v.VTable().AddWriteRequested,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(handler)), // in foundation.TypedEventHandler
uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken
)
if hr != 0 {
return foundation.EventRegistrationToken{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) RemoveWriteRequested(token foundation.EventRegistrationToken) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RemoveWriteRequested,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&token)), // in foundation.EventRegistrationToken
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalCharacteristic) NotifyValueAsync(value *streams.IBuffer) (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().NotifyValueAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(value)), // in streams.IBuffer
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristic) NotifyValueForSubscribedClientAsync(value *streams.IBuffer, subscribedClient *GattSubscribedClient) (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().NotifyValueForSubscribedClientAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(value)), // in streams.IBuffer
uintptr(unsafe.Pointer(subscribedClient)), // in GattSubscribedClient
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,299 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation/collections"
"github.com/saltosystems/winrt-go/windows/storage/streams"
)
const SignatureGattLocalCharacteristicParameters string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters;{faf73db4-4cff-44c7-8445-040e6ead0063})"
type GattLocalCharacteristicParameters struct {
ole.IUnknown
}
func NewGattLocalCharacteristicParameters() (*GattLocalCharacteristicParameters, error) {
inspectable, err := ole.RoActivateInstance("Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicParameters")
if err != nil {
return nil, err
}
return (*GattLocalCharacteristicParameters)(unsafe.Pointer(inspectable)), nil
}
func (impl *GattLocalCharacteristicParameters) SetStaticValue(value *streams.IBuffer) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.SetStaticValue(value)
}
func (impl *GattLocalCharacteristicParameters) GetStaticValue() (*streams.IBuffer, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.GetStaticValue()
}
func (impl *GattLocalCharacteristicParameters) SetCharacteristicProperties(value GattCharacteristicProperties) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.SetCharacteristicProperties(value)
}
func (impl *GattLocalCharacteristicParameters) GetCharacteristicProperties() (GattCharacteristicProperties, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.GetCharacteristicProperties()
}
func (impl *GattLocalCharacteristicParameters) SetReadProtectionLevel(value GattProtectionLevel) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.SetReadProtectionLevel(value)
}
func (impl *GattLocalCharacteristicParameters) GetReadProtectionLevel() (GattProtectionLevel, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.GetReadProtectionLevel()
}
func (impl *GattLocalCharacteristicParameters) SetWriteProtectionLevel(value GattProtectionLevel) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.SetWriteProtectionLevel(value)
}
func (impl *GattLocalCharacteristicParameters) GetWriteProtectionLevel() (GattProtectionLevel, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.GetWriteProtectionLevel()
}
func (impl *GattLocalCharacteristicParameters) SetUserDescription(value string) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.SetUserDescription(value)
}
func (impl *GattLocalCharacteristicParameters) GetUserDescription() (string, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.GetUserDescription()
}
func (impl *GattLocalCharacteristicParameters) GetPresentationFormats() (*collections.IVector, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicParameters))
defer itf.Release()
v := (*iGattLocalCharacteristicParameters)(unsafe.Pointer(itf))
return v.GetPresentationFormats()
}
const GUIDiGattLocalCharacteristicParameters string = "faf73db4-4cff-44c7-8445-040e6ead0063"
const SignatureiGattLocalCharacteristicParameters string = "{faf73db4-4cff-44c7-8445-040e6ead0063}"
type iGattLocalCharacteristicParameters struct {
ole.IInspectable
}
type iGattLocalCharacteristicParametersVtbl struct {
ole.IInspectableVtbl
SetStaticValue uintptr
GetStaticValue uintptr
SetCharacteristicProperties uintptr
GetCharacteristicProperties uintptr
SetReadProtectionLevel uintptr
GetReadProtectionLevel uintptr
SetWriteProtectionLevel uintptr
GetWriteProtectionLevel uintptr
SetUserDescription uintptr
GetUserDescription uintptr
GetPresentationFormats uintptr
}
func (v *iGattLocalCharacteristicParameters) VTable() *iGattLocalCharacteristicParametersVtbl {
return (*iGattLocalCharacteristicParametersVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattLocalCharacteristicParameters) SetStaticValue(value *streams.IBuffer) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetStaticValue,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(value)), // in streams.IBuffer
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalCharacteristicParameters) GetStaticValue() (*streams.IBuffer, error) {
var out *streams.IBuffer
hr, _, _ := syscall.SyscallN(
v.VTable().GetStaticValue,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out streams.IBuffer
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristicParameters) SetCharacteristicProperties(value GattCharacteristicProperties) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetCharacteristicProperties,
uintptr(unsafe.Pointer(v)), // this
uintptr(value), // in GattCharacteristicProperties
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalCharacteristicParameters) GetCharacteristicProperties() (GattCharacteristicProperties, error) {
var out GattCharacteristicProperties
hr, _, _ := syscall.SyscallN(
v.VTable().GetCharacteristicProperties,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattCharacteristicProperties
)
if hr != 0 {
return GattCharacteristicPropertiesNone, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristicParameters) SetReadProtectionLevel(value GattProtectionLevel) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetReadProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(value), // in GattProtectionLevel
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalCharacteristicParameters) GetReadProtectionLevel() (GattProtectionLevel, error) {
var out GattProtectionLevel
hr, _, _ := syscall.SyscallN(
v.VTable().GetReadProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattProtectionLevel
)
if hr != 0 {
return GattProtectionLevelPlain, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristicParameters) SetWriteProtectionLevel(value GattProtectionLevel) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetWriteProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(value), // in GattProtectionLevel
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalCharacteristicParameters) GetWriteProtectionLevel() (GattProtectionLevel, error) {
var out GattProtectionLevel
hr, _, _ := syscall.SyscallN(
v.VTable().GetWriteProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattProtectionLevel
)
if hr != 0 {
return GattProtectionLevelPlain, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristicParameters) SetUserDescription(value string) error {
valueHStr, err := ole.NewHString(value)
if err != nil {
return err
}
hr, _, _ := syscall.SyscallN(
v.VTable().SetUserDescription,
uintptr(unsafe.Pointer(v)), // this
uintptr(valueHStr), // in string
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalCharacteristicParameters) GetUserDescription() (string, error) {
var outHStr ole.HString
hr, _, _ := syscall.SyscallN(
v.VTable().GetUserDescription,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&outHStr)), // out string
)
if hr != 0 {
return "", ole.NewError(hr)
}
out := outHStr.String()
ole.DeleteHString(outHStr)
return out, nil
}
func (v *iGattLocalCharacteristicParameters) GetPresentationFormats() (*collections.IVector, error) {
var out *collections.IVector
hr, _, _ := syscall.SyscallN(
v.VTable().GetPresentationFormats,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out collections.IVector
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,82 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/devices/bluetooth"
)
const SignatureGattLocalCharacteristicResult string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalCharacteristicResult;{7975de9b-0170-4397-9666-92f863f12ee6})"
type GattLocalCharacteristicResult struct {
ole.IUnknown
}
func (impl *GattLocalCharacteristicResult) GetCharacteristic() (*GattLocalCharacteristic, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicResult))
defer itf.Release()
v := (*iGattLocalCharacteristicResult)(unsafe.Pointer(itf))
return v.GetCharacteristic()
}
func (impl *GattLocalCharacteristicResult) GetError() (bluetooth.BluetoothError, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalCharacteristicResult))
defer itf.Release()
v := (*iGattLocalCharacteristicResult)(unsafe.Pointer(itf))
return v.GetError()
}
const GUIDiGattLocalCharacteristicResult string = "7975de9b-0170-4397-9666-92f863f12ee6"
const SignatureiGattLocalCharacteristicResult string = "{7975de9b-0170-4397-9666-92f863f12ee6}"
type iGattLocalCharacteristicResult struct {
ole.IInspectable
}
type iGattLocalCharacteristicResultVtbl struct {
ole.IInspectableVtbl
GetCharacteristic uintptr
GetError uintptr
}
func (v *iGattLocalCharacteristicResult) VTable() *iGattLocalCharacteristicResultVtbl {
return (*iGattLocalCharacteristicResultVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattLocalCharacteristicResult) GetCharacteristic() (*GattLocalCharacteristic, error) {
var out *GattLocalCharacteristic
hr, _, _ := syscall.SyscallN(
v.VTable().GetCharacteristic,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattLocalCharacteristic
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalCharacteristicResult) GetError() (bluetooth.BluetoothError, error) {
var out bluetooth.BluetoothError
hr, _, _ := syscall.SyscallN(
v.VTable().GetError,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out bluetooth.BluetoothError
)
if hr != 0 {
return bluetooth.BluetoothErrorSuccess, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,179 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/storage/streams"
)
const SignatureGattLocalDescriptorParameters string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorParameters;{5fdede6a-f3c1-4b66-8c4b-e3d2293b40e9})"
type GattLocalDescriptorParameters struct {
ole.IUnknown
}
func NewGattLocalDescriptorParameters() (*GattLocalDescriptorParameters, error) {
inspectable, err := ole.RoActivateInstance("Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalDescriptorParameters")
if err != nil {
return nil, err
}
return (*GattLocalDescriptorParameters)(unsafe.Pointer(inspectable)), nil
}
func (impl *GattLocalDescriptorParameters) SetStaticValue(value *streams.IBuffer) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalDescriptorParameters))
defer itf.Release()
v := (*iGattLocalDescriptorParameters)(unsafe.Pointer(itf))
return v.SetStaticValue(value)
}
func (impl *GattLocalDescriptorParameters) GetStaticValue() (*streams.IBuffer, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalDescriptorParameters))
defer itf.Release()
v := (*iGattLocalDescriptorParameters)(unsafe.Pointer(itf))
return v.GetStaticValue()
}
func (impl *GattLocalDescriptorParameters) SetReadProtectionLevel(value GattProtectionLevel) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalDescriptorParameters))
defer itf.Release()
v := (*iGattLocalDescriptorParameters)(unsafe.Pointer(itf))
return v.SetReadProtectionLevel(value)
}
func (impl *GattLocalDescriptorParameters) GetReadProtectionLevel() (GattProtectionLevel, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalDescriptorParameters))
defer itf.Release()
v := (*iGattLocalDescriptorParameters)(unsafe.Pointer(itf))
return v.GetReadProtectionLevel()
}
func (impl *GattLocalDescriptorParameters) SetWriteProtectionLevel(value GattProtectionLevel) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalDescriptorParameters))
defer itf.Release()
v := (*iGattLocalDescriptorParameters)(unsafe.Pointer(itf))
return v.SetWriteProtectionLevel(value)
}
func (impl *GattLocalDescriptorParameters) GetWriteProtectionLevel() (GattProtectionLevel, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalDescriptorParameters))
defer itf.Release()
v := (*iGattLocalDescriptorParameters)(unsafe.Pointer(itf))
return v.GetWriteProtectionLevel()
}
const GUIDiGattLocalDescriptorParameters string = "5fdede6a-f3c1-4b66-8c4b-e3d2293b40e9"
const SignatureiGattLocalDescriptorParameters string = "{5fdede6a-f3c1-4b66-8c4b-e3d2293b40e9}"
type iGattLocalDescriptorParameters struct {
ole.IInspectable
}
type iGattLocalDescriptorParametersVtbl struct {
ole.IInspectableVtbl
SetStaticValue uintptr
GetStaticValue uintptr
SetReadProtectionLevel uintptr
GetReadProtectionLevel uintptr
SetWriteProtectionLevel uintptr
GetWriteProtectionLevel uintptr
}
func (v *iGattLocalDescriptorParameters) VTable() *iGattLocalDescriptorParametersVtbl {
return (*iGattLocalDescriptorParametersVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattLocalDescriptorParameters) SetStaticValue(value *streams.IBuffer) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetStaticValue,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(value)), // in streams.IBuffer
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalDescriptorParameters) GetStaticValue() (*streams.IBuffer, error) {
var out *streams.IBuffer
hr, _, _ := syscall.SyscallN(
v.VTable().GetStaticValue,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out streams.IBuffer
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalDescriptorParameters) SetReadProtectionLevel(value GattProtectionLevel) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetReadProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(value), // in GattProtectionLevel
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalDescriptorParameters) GetReadProtectionLevel() (GattProtectionLevel, error) {
var out GattProtectionLevel
hr, _, _ := syscall.SyscallN(
v.VTable().GetReadProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattProtectionLevel
)
if hr != 0 {
return GattProtectionLevelPlain, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalDescriptorParameters) SetWriteProtectionLevel(value GattProtectionLevel) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetWriteProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(value), // in GattProtectionLevel
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattLocalDescriptorParameters) GetWriteProtectionLevel() (GattProtectionLevel, error) {
var out GattProtectionLevel
hr, _, _ := syscall.SyscallN(
v.VTable().GetWriteProtectionLevel,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattProtectionLevel
)
if hr != 0 {
return GattProtectionLevelPlain, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,108 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
"github.com/saltosystems/winrt-go/windows/foundation/collections"
)
const SignatureGattLocalService string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattLocalService;{f513e258-f7f7-4902-b803-57fcc7d6fe83})"
type GattLocalService struct {
ole.IUnknown
}
func (impl *GattLocalService) GetUuid() (syscall.GUID, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalService))
defer itf.Release()
v := (*iGattLocalService)(unsafe.Pointer(itf))
return v.GetUuid()
}
func (impl *GattLocalService) CreateCharacteristicAsync(characteristicUuid syscall.GUID, parameters *GattLocalCharacteristicParameters) (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalService))
defer itf.Release()
v := (*iGattLocalService)(unsafe.Pointer(itf))
return v.CreateCharacteristicAsync(characteristicUuid, parameters)
}
func (impl *GattLocalService) GetCharacteristics() (*collections.IVectorView, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattLocalService))
defer itf.Release()
v := (*iGattLocalService)(unsafe.Pointer(itf))
return v.GetCharacteristics()
}
const GUIDiGattLocalService string = "f513e258-f7f7-4902-b803-57fcc7d6fe83"
const SignatureiGattLocalService string = "{f513e258-f7f7-4902-b803-57fcc7d6fe83}"
type iGattLocalService struct {
ole.IInspectable
}
type iGattLocalServiceVtbl struct {
ole.IInspectableVtbl
GetUuid uintptr
CreateCharacteristicAsync uintptr
GetCharacteristics uintptr
}
func (v *iGattLocalService) VTable() *iGattLocalServiceVtbl {
return (*iGattLocalServiceVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattLocalService) GetUuid() (syscall.GUID, error) {
var out syscall.GUID
hr, _, _ := syscall.SyscallN(
v.VTable().GetUuid,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out syscall.GUID
)
if hr != 0 {
return syscall.GUID{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalService) CreateCharacteristicAsync(characteristicUuid syscall.GUID, parameters *GattLocalCharacteristicParameters) (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().CreateCharacteristicAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&characteristicUuid)), // in syscall.GUID
uintptr(unsafe.Pointer(parameters)), // in GattLocalCharacteristicParameters
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattLocalService) GetCharacteristics() (*collections.IVectorView, error) {
var out *collections.IVectorView
hr, _, _ := syscall.SyscallN(
v.VTable().GetCharacteristics,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out collections.IVectorView
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,17 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
type GattProtectionLevel int32
const SignatureGattProtectionLevel string = "enum(Windows.Devices.Bluetooth.GenericAttributeProfile.GattProtectionLevel;i4)"
const (
GattProtectionLevelPlain GattProtectionLevel = 0
GattProtectionLevelAuthenticationRequired GattProtectionLevel = 1
GattProtectionLevelEncryptionRequired GattProtectionLevel = 2
GattProtectionLevelEncryptionAndAuthenticationRequired GattProtectionLevel = 3
)

View File

@ -0,0 +1,196 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
"github.com/saltosystems/winrt-go/windows/storage/streams"
)
const SignatureGattReadRequest string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequest;{f1dd6535-6acd-42a6-a4bb-d789dae0043e})"
type GattReadRequest struct {
ole.IUnknown
}
func (impl *GattReadRequest) GetOffset() (uint32, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequest))
defer itf.Release()
v := (*iGattReadRequest)(unsafe.Pointer(itf))
return v.GetOffset()
}
func (impl *GattReadRequest) GetLength() (uint32, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequest))
defer itf.Release()
v := (*iGattReadRequest)(unsafe.Pointer(itf))
return v.GetLength()
}
func (impl *GattReadRequest) GetState() (GattRequestState, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequest))
defer itf.Release()
v := (*iGattReadRequest)(unsafe.Pointer(itf))
return v.GetState()
}
func (impl *GattReadRequest) AddStateChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequest))
defer itf.Release()
v := (*iGattReadRequest)(unsafe.Pointer(itf))
return v.AddStateChanged(handler)
}
func (impl *GattReadRequest) RemoveStateChanged(token foundation.EventRegistrationToken) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequest))
defer itf.Release()
v := (*iGattReadRequest)(unsafe.Pointer(itf))
return v.RemoveStateChanged(token)
}
func (impl *GattReadRequest) RespondWithValue(value *streams.IBuffer) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequest))
defer itf.Release()
v := (*iGattReadRequest)(unsafe.Pointer(itf))
return v.RespondWithValue(value)
}
func (impl *GattReadRequest) RespondWithProtocolError(protocolError uint8) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequest))
defer itf.Release()
v := (*iGattReadRequest)(unsafe.Pointer(itf))
return v.RespondWithProtocolError(protocolError)
}
const GUIDiGattReadRequest string = "f1dd6535-6acd-42a6-a4bb-d789dae0043e"
const SignatureiGattReadRequest string = "{f1dd6535-6acd-42a6-a4bb-d789dae0043e}"
type iGattReadRequest struct {
ole.IInspectable
}
type iGattReadRequestVtbl struct {
ole.IInspectableVtbl
GetOffset uintptr
GetLength uintptr
GetState uintptr
AddStateChanged uintptr
RemoveStateChanged uintptr
RespondWithValue uintptr
RespondWithProtocolError uintptr
}
func (v *iGattReadRequest) VTable() *iGattReadRequestVtbl {
return (*iGattReadRequestVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattReadRequest) GetOffset() (uint32, error) {
var out uint32
hr, _, _ := syscall.SyscallN(
v.VTable().GetOffset,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out uint32
)
if hr != 0 {
return 0, ole.NewError(hr)
}
return out, nil
}
func (v *iGattReadRequest) GetLength() (uint32, error) {
var out uint32
hr, _, _ := syscall.SyscallN(
v.VTable().GetLength,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out uint32
)
if hr != 0 {
return 0, ole.NewError(hr)
}
return out, nil
}
func (v *iGattReadRequest) GetState() (GattRequestState, error) {
var out GattRequestState
hr, _, _ := syscall.SyscallN(
v.VTable().GetState,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattRequestState
)
if hr != 0 {
return GattRequestStatePending, ole.NewError(hr)
}
return out, nil
}
func (v *iGattReadRequest) AddStateChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
var out foundation.EventRegistrationToken
hr, _, _ := syscall.SyscallN(
v.VTable().AddStateChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(handler)), // in foundation.TypedEventHandler
uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken
)
if hr != 0 {
return foundation.EventRegistrationToken{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattReadRequest) RemoveStateChanged(token foundation.EventRegistrationToken) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RemoveStateChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&token)), // in foundation.EventRegistrationToken
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattReadRequest) RespondWithValue(value *streams.IBuffer) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RespondWithValue,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(value)), // in streams.IBuffer
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattReadRequest) RespondWithProtocolError(protocolError uint8) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RespondWithProtocolError,
uintptr(unsafe.Pointer(v)), // this
uintptr(protocolError), // in uint8
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}

View File

@ -0,0 +1,105 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
)
const SignatureGattReadRequestedEventArgs string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadRequestedEventArgs;{93497243-f39c-484b-8ab6-996ba486cfa3})"
type GattReadRequestedEventArgs struct {
ole.IUnknown
}
func (impl *GattReadRequestedEventArgs) GetSession() (*GattSession, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequestedEventArgs))
defer itf.Release()
v := (*iGattReadRequestedEventArgs)(unsafe.Pointer(itf))
return v.GetSession()
}
func (impl *GattReadRequestedEventArgs) GetDeferral() (*foundation.Deferral, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequestedEventArgs))
defer itf.Release()
v := (*iGattReadRequestedEventArgs)(unsafe.Pointer(itf))
return v.GetDeferral()
}
func (impl *GattReadRequestedEventArgs) GetRequestAsync() (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadRequestedEventArgs))
defer itf.Release()
v := (*iGattReadRequestedEventArgs)(unsafe.Pointer(itf))
return v.GetRequestAsync()
}
const GUIDiGattReadRequestedEventArgs string = "93497243-f39c-484b-8ab6-996ba486cfa3"
const SignatureiGattReadRequestedEventArgs string = "{93497243-f39c-484b-8ab6-996ba486cfa3}"
type iGattReadRequestedEventArgs struct {
ole.IInspectable
}
type iGattReadRequestedEventArgsVtbl struct {
ole.IInspectableVtbl
GetSession uintptr
GetDeferral uintptr
GetRequestAsync uintptr
}
func (v *iGattReadRequestedEventArgs) VTable() *iGattReadRequestedEventArgsVtbl {
return (*iGattReadRequestedEventArgsVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattReadRequestedEventArgs) GetSession() (*GattSession, error) {
var out *GattSession
hr, _, _ := syscall.SyscallN(
v.VTable().GetSession,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattSession
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattReadRequestedEventArgs) GetDeferral() (*foundation.Deferral, error) {
var out *foundation.Deferral
hr, _, _ := syscall.SyscallN(
v.VTable().GetDeferral,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out foundation.Deferral
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattReadRequestedEventArgs) GetRequestAsync() (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().GetRequestAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,99 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/storage/streams"
)
const SignatureGattReadResult string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattReadResult;{63a66f08-1aea-4c4c-a50f-97bae474b348})"
type GattReadResult struct {
ole.IUnknown
}
func (impl *GattReadResult) GetStatus() (GattCommunicationStatus, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadResult))
defer itf.Release()
v := (*iGattReadResult)(unsafe.Pointer(itf))
return v.GetStatus()
}
func (impl *GattReadResult) GetValue() (*streams.IBuffer, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattReadResult))
defer itf.Release()
v := (*iGattReadResult)(unsafe.Pointer(itf))
return v.GetValue()
}
const GUIDiGattReadResult string = "63a66f08-1aea-4c4c-a50f-97bae474b348"
const SignatureiGattReadResult string = "{63a66f08-1aea-4c4c-a50f-97bae474b348}"
type iGattReadResult struct {
ole.IInspectable
}
type iGattReadResultVtbl struct {
ole.IInspectableVtbl
GetStatus uintptr
GetValue uintptr
}
func (v *iGattReadResult) VTable() *iGattReadResultVtbl {
return (*iGattReadResultVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattReadResult) GetStatus() (GattCommunicationStatus, error) {
var out GattCommunicationStatus
hr, _, _ := syscall.SyscallN(
v.VTable().GetStatus,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattCommunicationStatus
)
if hr != 0 {
return GattCommunicationStatusSuccess, ole.NewError(hr)
}
return out, nil
}
func (v *iGattReadResult) GetValue() (*streams.IBuffer, error) {
var out *streams.IBuffer
hr, _, _ := syscall.SyscallN(
v.VTable().GetValue,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out streams.IBuffer
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
const GUIDiGattReadResult2 string = "a10f50a0-fb43-48af-baaa-638a5c6329fe"
const SignatureiGattReadResult2 string = "{a10f50a0-fb43-48af-baaa-638a5c6329fe}"
type iGattReadResult2 struct {
ole.IInspectable
}
type iGattReadResult2Vtbl struct {
ole.IInspectableVtbl
GetProtocolError uintptr
}
func (v *iGattReadResult2) VTable() *iGattReadResult2Vtbl {
return (*iGattReadResult2Vtbl)(unsafe.Pointer(v.RawVTable))
}

View File

@ -0,0 +1,16 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
type GattRequestState int32
const SignatureGattRequestState string = "enum(Windows.Devices.Bluetooth.GenericAttributeProfile.GattRequestState;i4)"
const (
GattRequestStatePending GattRequestState = 0
GattRequestStateCompleted GattRequestState = 1
GattRequestStateCanceled GattRequestState = 2
)

View File

@ -0,0 +1,231 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
)
const SignatureGattServiceProvider string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider;{7822b3cd-2889-4f86-a051-3f0aed1c2760})"
type GattServiceProvider struct {
ole.IUnknown
}
func (impl *GattServiceProvider) GetService() (*GattLocalService, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProvider))
defer itf.Release()
v := (*iGattServiceProvider)(unsafe.Pointer(itf))
return v.GetService()
}
func (impl *GattServiceProvider) GetAdvertisementStatus() (GattServiceProviderAdvertisementStatus, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProvider))
defer itf.Release()
v := (*iGattServiceProvider)(unsafe.Pointer(itf))
return v.GetAdvertisementStatus()
}
func (impl *GattServiceProvider) AddAdvertisementStatusChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProvider))
defer itf.Release()
v := (*iGattServiceProvider)(unsafe.Pointer(itf))
return v.AddAdvertisementStatusChanged(handler)
}
func (impl *GattServiceProvider) RemoveAdvertisementStatusChanged(token foundation.EventRegistrationToken) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProvider))
defer itf.Release()
v := (*iGattServiceProvider)(unsafe.Pointer(itf))
return v.RemoveAdvertisementStatusChanged(token)
}
func (impl *GattServiceProvider) StartAdvertising() error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProvider))
defer itf.Release()
v := (*iGattServiceProvider)(unsafe.Pointer(itf))
return v.StartAdvertising()
}
func (impl *GattServiceProvider) StartAdvertisingWithParameters(parameters *GattServiceProviderAdvertisingParameters) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProvider))
defer itf.Release()
v := (*iGattServiceProvider)(unsafe.Pointer(itf))
return v.StartAdvertisingWithParameters(parameters)
}
func (impl *GattServiceProvider) StopAdvertising() error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProvider))
defer itf.Release()
v := (*iGattServiceProvider)(unsafe.Pointer(itf))
return v.StopAdvertising()
}
const GUIDiGattServiceProvider string = "7822b3cd-2889-4f86-a051-3f0aed1c2760"
const SignatureiGattServiceProvider string = "{7822b3cd-2889-4f86-a051-3f0aed1c2760}"
type iGattServiceProvider struct {
ole.IInspectable
}
type iGattServiceProviderVtbl struct {
ole.IInspectableVtbl
GetService uintptr
GetAdvertisementStatus uintptr
AddAdvertisementStatusChanged uintptr
RemoveAdvertisementStatusChanged uintptr
StartAdvertising uintptr
StartAdvertisingWithParameters uintptr
StopAdvertising uintptr
}
func (v *iGattServiceProvider) VTable() *iGattServiceProviderVtbl {
return (*iGattServiceProviderVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattServiceProvider) GetService() (*GattLocalService, error) {
var out *GattLocalService
hr, _, _ := syscall.SyscallN(
v.VTable().GetService,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattLocalService
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattServiceProvider) GetAdvertisementStatus() (GattServiceProviderAdvertisementStatus, error) {
var out GattServiceProviderAdvertisementStatus
hr, _, _ := syscall.SyscallN(
v.VTable().GetAdvertisementStatus,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattServiceProviderAdvertisementStatus
)
if hr != 0 {
return GattServiceProviderAdvertisementStatusCreated, ole.NewError(hr)
}
return out, nil
}
func (v *iGattServiceProvider) AddAdvertisementStatusChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
var out foundation.EventRegistrationToken
hr, _, _ := syscall.SyscallN(
v.VTable().AddAdvertisementStatusChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(handler)), // in foundation.TypedEventHandler
uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken
)
if hr != 0 {
return foundation.EventRegistrationToken{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattServiceProvider) RemoveAdvertisementStatusChanged(token foundation.EventRegistrationToken) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RemoveAdvertisementStatusChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&token)), // in foundation.EventRegistrationToken
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattServiceProvider) StartAdvertising() error {
hr, _, _ := syscall.SyscallN(
v.VTable().StartAdvertising,
uintptr(unsafe.Pointer(v)), // this
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattServiceProvider) StartAdvertisingWithParameters(parameters *GattServiceProviderAdvertisingParameters) error {
hr, _, _ := syscall.SyscallN(
v.VTable().StartAdvertisingWithParameters,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(parameters)), // in GattServiceProviderAdvertisingParameters
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattServiceProvider) StopAdvertising() error {
hr, _, _ := syscall.SyscallN(
v.VTable().StopAdvertising,
uintptr(unsafe.Pointer(v)), // this
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
const GUIDiGattServiceProviderStatics string = "31794063-5256-4054-a4f4-7bbe7755a57e"
const SignatureiGattServiceProviderStatics string = "{31794063-5256-4054-a4f4-7bbe7755a57e}"
type iGattServiceProviderStatics struct {
ole.IInspectable
}
type iGattServiceProviderStaticsVtbl struct {
ole.IInspectableVtbl
GattServiceProviderCreateAsync uintptr
}
func (v *iGattServiceProviderStatics) VTable() *iGattServiceProviderStaticsVtbl {
return (*iGattServiceProviderStaticsVtbl)(unsafe.Pointer(v.RawVTable))
}
func GattServiceProviderCreateAsync(serviceUuid syscall.GUID) (*foundation.IAsyncOperation, error) {
inspectable, err := ole.RoGetActivationFactory("Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProvider", ole.NewGUID(GUIDiGattServiceProviderStatics))
if err != nil {
return nil, err
}
v := (*iGattServiceProviderStatics)(unsafe.Pointer(inspectable))
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().GattServiceProviderCreateAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&serviceUuid)), // in syscall.GUID
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,18 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
type GattServiceProviderAdvertisementStatus int32
const SignatureGattServiceProviderAdvertisementStatus string = "enum(Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisementStatus;i4)"
const (
GattServiceProviderAdvertisementStatusCreated GattServiceProviderAdvertisementStatus = 0
GattServiceProviderAdvertisementStatusStopped GattServiceProviderAdvertisementStatus = 1
GattServiceProviderAdvertisementStatusStarted GattServiceProviderAdvertisementStatus = 2
GattServiceProviderAdvertisementStatusAborted GattServiceProviderAdvertisementStatus = 3
GattServiceProviderAdvertisementStatusStartedWithoutAllAdvertisementData GattServiceProviderAdvertisementStatus = 4
)

View File

@ -0,0 +1,195 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/storage/streams"
)
const SignatureGattServiceProviderAdvertisingParameters string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters;{e2ce31ab-6315-4c22-9bd7-781dbc3d8d82})"
type GattServiceProviderAdvertisingParameters struct {
ole.IUnknown
}
func NewGattServiceProviderAdvertisingParameters() (*GattServiceProviderAdvertisingParameters, error) {
inspectable, err := ole.RoActivateInstance("Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderAdvertisingParameters")
if err != nil {
return nil, err
}
return (*GattServiceProviderAdvertisingParameters)(unsafe.Pointer(inspectable)), nil
}
func (impl *GattServiceProviderAdvertisingParameters) SetIsConnectable(value bool) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProviderAdvertisingParameters))
defer itf.Release()
v := (*iGattServiceProviderAdvertisingParameters)(unsafe.Pointer(itf))
return v.SetIsConnectable(value)
}
func (impl *GattServiceProviderAdvertisingParameters) GetIsConnectable() (bool, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProviderAdvertisingParameters))
defer itf.Release()
v := (*iGattServiceProviderAdvertisingParameters)(unsafe.Pointer(itf))
return v.GetIsConnectable()
}
func (impl *GattServiceProviderAdvertisingParameters) SetIsDiscoverable(value bool) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProviderAdvertisingParameters))
defer itf.Release()
v := (*iGattServiceProviderAdvertisingParameters)(unsafe.Pointer(itf))
return v.SetIsDiscoverable(value)
}
func (impl *GattServiceProviderAdvertisingParameters) GetIsDiscoverable() (bool, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProviderAdvertisingParameters))
defer itf.Release()
v := (*iGattServiceProviderAdvertisingParameters)(unsafe.Pointer(itf))
return v.GetIsDiscoverable()
}
func (impl *GattServiceProviderAdvertisingParameters) SetServiceData(value *streams.IBuffer) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProviderAdvertisingParameters2))
defer itf.Release()
v := (*iGattServiceProviderAdvertisingParameters2)(unsafe.Pointer(itf))
return v.SetServiceData(value)
}
func (impl *GattServiceProviderAdvertisingParameters) GetServiceData() (*streams.IBuffer, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProviderAdvertisingParameters2))
defer itf.Release()
v := (*iGattServiceProviderAdvertisingParameters2)(unsafe.Pointer(itf))
return v.GetServiceData()
}
const GUIDiGattServiceProviderAdvertisingParameters string = "e2ce31ab-6315-4c22-9bd7-781dbc3d8d82"
const SignatureiGattServiceProviderAdvertisingParameters string = "{e2ce31ab-6315-4c22-9bd7-781dbc3d8d82}"
type iGattServiceProviderAdvertisingParameters struct {
ole.IInspectable
}
type iGattServiceProviderAdvertisingParametersVtbl struct {
ole.IInspectableVtbl
SetIsConnectable uintptr
GetIsConnectable uintptr
SetIsDiscoverable uintptr
GetIsDiscoverable uintptr
}
func (v *iGattServiceProviderAdvertisingParameters) VTable() *iGattServiceProviderAdvertisingParametersVtbl {
return (*iGattServiceProviderAdvertisingParametersVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattServiceProviderAdvertisingParameters) SetIsConnectable(value bool) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetIsConnectable,
uintptr(unsafe.Pointer(v)), // this
uintptr(*(*byte)(unsafe.Pointer(&value))), // in bool
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattServiceProviderAdvertisingParameters) GetIsConnectable() (bool, error) {
var out bool
hr, _, _ := syscall.SyscallN(
v.VTable().GetIsConnectable,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out bool
)
if hr != 0 {
return false, ole.NewError(hr)
}
return out, nil
}
func (v *iGattServiceProviderAdvertisingParameters) SetIsDiscoverable(value bool) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetIsDiscoverable,
uintptr(unsafe.Pointer(v)), // this
uintptr(*(*byte)(unsafe.Pointer(&value))), // in bool
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattServiceProviderAdvertisingParameters) GetIsDiscoverable() (bool, error) {
var out bool
hr, _, _ := syscall.SyscallN(
v.VTable().GetIsDiscoverable,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out bool
)
if hr != 0 {
return false, ole.NewError(hr)
}
return out, nil
}
const GUIDiGattServiceProviderAdvertisingParameters2 string = "ff68468d-ca92-4434-9743-0e90988ad879"
const SignatureiGattServiceProviderAdvertisingParameters2 string = "{ff68468d-ca92-4434-9743-0e90988ad879}"
type iGattServiceProviderAdvertisingParameters2 struct {
ole.IInspectable
}
type iGattServiceProviderAdvertisingParameters2Vtbl struct {
ole.IInspectableVtbl
SetServiceData uintptr
GetServiceData uintptr
}
func (v *iGattServiceProviderAdvertisingParameters2) VTable() *iGattServiceProviderAdvertisingParameters2Vtbl {
return (*iGattServiceProviderAdvertisingParameters2Vtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattServiceProviderAdvertisingParameters2) SetServiceData(value *streams.IBuffer) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetServiceData,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(value)), // in streams.IBuffer
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattServiceProviderAdvertisingParameters2) GetServiceData() (*streams.IBuffer, error) {
var out *streams.IBuffer
hr, _, _ := syscall.SyscallN(
v.VTable().GetServiceData,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out streams.IBuffer
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,82 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/devices/bluetooth"
)
const SignatureGattServiceProviderResult string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattServiceProviderResult;{764696d8-c53e-428c-8a48-67afe02c3ae6})"
type GattServiceProviderResult struct {
ole.IUnknown
}
func (impl *GattServiceProviderResult) GetError() (bluetooth.BluetoothError, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProviderResult))
defer itf.Release()
v := (*iGattServiceProviderResult)(unsafe.Pointer(itf))
return v.GetError()
}
func (impl *GattServiceProviderResult) GetServiceProvider() (*GattServiceProvider, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattServiceProviderResult))
defer itf.Release()
v := (*iGattServiceProviderResult)(unsafe.Pointer(itf))
return v.GetServiceProvider()
}
const GUIDiGattServiceProviderResult string = "764696d8-c53e-428c-8a48-67afe02c3ae6"
const SignatureiGattServiceProviderResult string = "{764696d8-c53e-428c-8a48-67afe02c3ae6}"
type iGattServiceProviderResult struct {
ole.IInspectable
}
type iGattServiceProviderResultVtbl struct {
ole.IInspectableVtbl
GetError uintptr
GetServiceProvider uintptr
}
func (v *iGattServiceProviderResult) VTable() *iGattServiceProviderResultVtbl {
return (*iGattServiceProviderResultVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattServiceProviderResult) GetError() (bluetooth.BluetoothError, error) {
var out bluetooth.BluetoothError
hr, _, _ := syscall.SyscallN(
v.VTable().GetError,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out bluetooth.BluetoothError
)
if hr != 0 {
return bluetooth.BluetoothErrorSuccess, ole.NewError(hr)
}
return out, nil
}
func (v *iGattServiceProviderResult) GetServiceProvider() (*GattServiceProvider, error) {
var out *GattServiceProvider
hr, _, _ := syscall.SyscallN(
v.VTable().GetServiceProvider,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattServiceProvider
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,224 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/devices/bluetooth"
"github.com/saltosystems/winrt-go/windows/foundation"
)
const SignatureGattSession string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession;{d23b5143-e04e-4c24-999c-9c256f9856b1})"
type GattSession struct {
ole.IUnknown
}
func (impl *GattSession) GetCanMaintainConnection() (bool, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSession))
defer itf.Release()
v := (*iGattSession)(unsafe.Pointer(itf))
return v.GetCanMaintainConnection()
}
func (impl *GattSession) SetMaintainConnection(value bool) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSession))
defer itf.Release()
v := (*iGattSession)(unsafe.Pointer(itf))
return v.SetMaintainConnection(value)
}
func (impl *GattSession) GetMaintainConnection() (bool, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSession))
defer itf.Release()
v := (*iGattSession)(unsafe.Pointer(itf))
return v.GetMaintainConnection()
}
func (impl *GattSession) GetMaxPduSize() (uint16, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSession))
defer itf.Release()
v := (*iGattSession)(unsafe.Pointer(itf))
return v.GetMaxPduSize()
}
func (impl *GattSession) AddMaxPduSizeChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSession))
defer itf.Release()
v := (*iGattSession)(unsafe.Pointer(itf))
return v.AddMaxPduSizeChanged(handler)
}
func (impl *GattSession) RemoveMaxPduSizeChanged(token foundation.EventRegistrationToken) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSession))
defer itf.Release()
v := (*iGattSession)(unsafe.Pointer(itf))
return v.RemoveMaxPduSizeChanged(token)
}
func (impl *GattSession) Close() error {
itf := impl.MustQueryInterface(ole.NewGUID(foundation.GUIDIClosable))
defer itf.Release()
v := (*foundation.IClosable)(unsafe.Pointer(itf))
return v.Close()
}
const GUIDiGattSession string = "d23b5143-e04e-4c24-999c-9c256f9856b1"
const SignatureiGattSession string = "{d23b5143-e04e-4c24-999c-9c256f9856b1}"
type iGattSession struct {
ole.IInspectable
}
type iGattSessionVtbl struct {
ole.IInspectableVtbl
GetDeviceId uintptr
GetCanMaintainConnection uintptr
SetMaintainConnection uintptr
GetMaintainConnection uintptr
GetMaxPduSize uintptr
GetSessionStatus uintptr
AddMaxPduSizeChanged uintptr
RemoveMaxPduSizeChanged uintptr
AddSessionStatusChanged uintptr
RemoveSessionStatusChanged uintptr
}
func (v *iGattSession) VTable() *iGattSessionVtbl {
return (*iGattSessionVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattSession) GetCanMaintainConnection() (bool, error) {
var out bool
hr, _, _ := syscall.SyscallN(
v.VTable().GetCanMaintainConnection,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out bool
)
if hr != 0 {
return false, ole.NewError(hr)
}
return out, nil
}
func (v *iGattSession) SetMaintainConnection(value bool) error {
hr, _, _ := syscall.SyscallN(
v.VTable().SetMaintainConnection,
uintptr(unsafe.Pointer(v)), // this
uintptr(*(*byte)(unsafe.Pointer(&value))), // in bool
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattSession) GetMaintainConnection() (bool, error) {
var out bool
hr, _, _ := syscall.SyscallN(
v.VTable().GetMaintainConnection,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out bool
)
if hr != 0 {
return false, ole.NewError(hr)
}
return out, nil
}
func (v *iGattSession) GetMaxPduSize() (uint16, error) {
var out uint16
hr, _, _ := syscall.SyscallN(
v.VTable().GetMaxPduSize,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out uint16
)
if hr != 0 {
return 0, ole.NewError(hr)
}
return out, nil
}
func (v *iGattSession) AddMaxPduSizeChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
var out foundation.EventRegistrationToken
hr, _, _ := syscall.SyscallN(
v.VTable().AddMaxPduSizeChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(handler)), // in foundation.TypedEventHandler
uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken
)
if hr != 0 {
return foundation.EventRegistrationToken{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattSession) RemoveMaxPduSizeChanged(token foundation.EventRegistrationToken) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RemoveMaxPduSizeChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&token)), // in foundation.EventRegistrationToken
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
const GUIDiGattSessionStatics string = "2e65b95c-539f-4db7-82a8-73bdbbf73ebf"
const SignatureiGattSessionStatics string = "{2e65b95c-539f-4db7-82a8-73bdbbf73ebf}"
type iGattSessionStatics struct {
ole.IInspectable
}
type iGattSessionStaticsVtbl struct {
ole.IInspectableVtbl
GattSessionFromDeviceIdAsync uintptr
}
func (v *iGattSessionStatics) VTable() *iGattSessionStaticsVtbl {
return (*iGattSessionStaticsVtbl)(unsafe.Pointer(v.RawVTable))
}
func GattSessionFromDeviceIdAsync(deviceId *bluetooth.BluetoothDeviceId) (*foundation.IAsyncOperation, error) {
inspectable, err := ole.RoGetActivationFactory("Windows.Devices.Bluetooth.GenericAttributeProfile.GattSession", ole.NewGUID(GUIDiGattSessionStatics))
if err != nil {
return nil, err
}
v := (*iGattSessionStatics)(unsafe.Pointer(inspectable))
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().GattSessionFromDeviceIdAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(deviceId)), // in bluetooth.BluetoothDeviceId
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,128 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
)
const SignatureGattSubscribedClient string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattSubscribedClient;{736e9001-15a4-4ec2-9248-e3f20d463be9})"
type GattSubscribedClient struct {
ole.IUnknown
}
func (impl *GattSubscribedClient) GetSession() (*GattSession, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSubscribedClient))
defer itf.Release()
v := (*iGattSubscribedClient)(unsafe.Pointer(itf))
return v.GetSession()
}
func (impl *GattSubscribedClient) GetMaxNotificationSize() (uint16, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSubscribedClient))
defer itf.Release()
v := (*iGattSubscribedClient)(unsafe.Pointer(itf))
return v.GetMaxNotificationSize()
}
func (impl *GattSubscribedClient) AddMaxNotificationSizeChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSubscribedClient))
defer itf.Release()
v := (*iGattSubscribedClient)(unsafe.Pointer(itf))
return v.AddMaxNotificationSizeChanged(handler)
}
func (impl *GattSubscribedClient) RemoveMaxNotificationSizeChanged(token foundation.EventRegistrationToken) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattSubscribedClient))
defer itf.Release()
v := (*iGattSubscribedClient)(unsafe.Pointer(itf))
return v.RemoveMaxNotificationSizeChanged(token)
}
const GUIDiGattSubscribedClient string = "736e9001-15a4-4ec2-9248-e3f20d463be9"
const SignatureiGattSubscribedClient string = "{736e9001-15a4-4ec2-9248-e3f20d463be9}"
type iGattSubscribedClient struct {
ole.IInspectable
}
type iGattSubscribedClientVtbl struct {
ole.IInspectableVtbl
GetSession uintptr
GetMaxNotificationSize uintptr
AddMaxNotificationSizeChanged uintptr
RemoveMaxNotificationSizeChanged uintptr
}
func (v *iGattSubscribedClient) VTable() *iGattSubscribedClientVtbl {
return (*iGattSubscribedClientVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattSubscribedClient) GetSession() (*GattSession, error) {
var out *GattSession
hr, _, _ := syscall.SyscallN(
v.VTable().GetSession,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattSession
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattSubscribedClient) GetMaxNotificationSize() (uint16, error) {
var out uint16
hr, _, _ := syscall.SyscallN(
v.VTable().GetMaxNotificationSize,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out uint16
)
if hr != 0 {
return 0, ole.NewError(hr)
}
return out, nil
}
func (v *iGattSubscribedClient) AddMaxNotificationSizeChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
var out foundation.EventRegistrationToken
hr, _, _ := syscall.SyscallN(
v.VTable().AddMaxNotificationSizeChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(handler)), // in foundation.TypedEventHandler
uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken
)
if hr != 0 {
return foundation.EventRegistrationToken{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattSubscribedClient) RemoveMaxNotificationSizeChanged(token foundation.EventRegistrationToken) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RemoveMaxNotificationSizeChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&token)), // in foundation.EventRegistrationToken
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}

View File

@ -0,0 +1,83 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
"github.com/saltosystems/winrt-go/windows/storage/streams"
)
const SignatureGattValueChangedEventArgs string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattValueChangedEventArgs;{d21bdb54-06e3-4ed8-a263-acfac8ba7313})"
type GattValueChangedEventArgs struct {
ole.IUnknown
}
func (impl *GattValueChangedEventArgs) GetCharacteristicValue() (*streams.IBuffer, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattValueChangedEventArgs))
defer itf.Release()
v := (*iGattValueChangedEventArgs)(unsafe.Pointer(itf))
return v.GetCharacteristicValue()
}
func (impl *GattValueChangedEventArgs) GetTimestamp() (foundation.DateTime, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattValueChangedEventArgs))
defer itf.Release()
v := (*iGattValueChangedEventArgs)(unsafe.Pointer(itf))
return v.GetTimestamp()
}
const GUIDiGattValueChangedEventArgs string = "d21bdb54-06e3-4ed8-a263-acfac8ba7313"
const SignatureiGattValueChangedEventArgs string = "{d21bdb54-06e3-4ed8-a263-acfac8ba7313}"
type iGattValueChangedEventArgs struct {
ole.IInspectable
}
type iGattValueChangedEventArgsVtbl struct {
ole.IInspectableVtbl
GetCharacteristicValue uintptr
GetTimestamp uintptr
}
func (v *iGattValueChangedEventArgs) VTable() *iGattValueChangedEventArgsVtbl {
return (*iGattValueChangedEventArgsVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattValueChangedEventArgs) GetCharacteristicValue() (*streams.IBuffer, error) {
var out *streams.IBuffer
hr, _, _ := syscall.SyscallN(
v.VTable().GetCharacteristicValue,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out streams.IBuffer
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattValueChangedEventArgs) GetTimestamp() (foundation.DateTime, error) {
var out foundation.DateTime
hr, _, _ := syscall.SyscallN(
v.VTable().GetTimestamp,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out foundation.DateTime
)
if hr != 0 {
return foundation.DateTime{}, ole.NewError(hr)
}
return out, nil
}

View File

@ -0,0 +1,15 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
type GattWriteOption int32
const SignatureGattWriteOption string = "enum(Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteOption;i4)"
const (
GattWriteOptionWriteWithResponse GattWriteOption = 0
GattWriteOptionWriteWithoutResponse GattWriteOption = 1
)

View File

@ -0,0 +1,218 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
"github.com/saltosystems/winrt-go/windows/storage/streams"
)
const SignatureGattWriteRequest string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequest;{aeb6a9ed-de2f-4fc2-a9a8-94ea7844f13d})"
type GattWriteRequest struct {
ole.IUnknown
}
func (impl *GattWriteRequest) GetValue() (*streams.IBuffer, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequest))
defer itf.Release()
v := (*iGattWriteRequest)(unsafe.Pointer(itf))
return v.GetValue()
}
func (impl *GattWriteRequest) GetOffset() (uint32, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequest))
defer itf.Release()
v := (*iGattWriteRequest)(unsafe.Pointer(itf))
return v.GetOffset()
}
func (impl *GattWriteRequest) GetOption() (GattWriteOption, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequest))
defer itf.Release()
v := (*iGattWriteRequest)(unsafe.Pointer(itf))
return v.GetOption()
}
func (impl *GattWriteRequest) GetState() (GattRequestState, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequest))
defer itf.Release()
v := (*iGattWriteRequest)(unsafe.Pointer(itf))
return v.GetState()
}
func (impl *GattWriteRequest) AddStateChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequest))
defer itf.Release()
v := (*iGattWriteRequest)(unsafe.Pointer(itf))
return v.AddStateChanged(handler)
}
func (impl *GattWriteRequest) RemoveStateChanged(token foundation.EventRegistrationToken) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequest))
defer itf.Release()
v := (*iGattWriteRequest)(unsafe.Pointer(itf))
return v.RemoveStateChanged(token)
}
func (impl *GattWriteRequest) Respond() error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequest))
defer itf.Release()
v := (*iGattWriteRequest)(unsafe.Pointer(itf))
return v.Respond()
}
func (impl *GattWriteRequest) RespondWithProtocolError(protocolError uint8) error {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequest))
defer itf.Release()
v := (*iGattWriteRequest)(unsafe.Pointer(itf))
return v.RespondWithProtocolError(protocolError)
}
const GUIDiGattWriteRequest string = "aeb6a9ed-de2f-4fc2-a9a8-94ea7844f13d"
const SignatureiGattWriteRequest string = "{aeb6a9ed-de2f-4fc2-a9a8-94ea7844f13d}"
type iGattWriteRequest struct {
ole.IInspectable
}
type iGattWriteRequestVtbl struct {
ole.IInspectableVtbl
GetValue uintptr
GetOffset uintptr
GetOption uintptr
GetState uintptr
AddStateChanged uintptr
RemoveStateChanged uintptr
Respond uintptr
RespondWithProtocolError uintptr
}
func (v *iGattWriteRequest) VTable() *iGattWriteRequestVtbl {
return (*iGattWriteRequestVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattWriteRequest) GetValue() (*streams.IBuffer, error) {
var out *streams.IBuffer
hr, _, _ := syscall.SyscallN(
v.VTable().GetValue,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out streams.IBuffer
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattWriteRequest) GetOffset() (uint32, error) {
var out uint32
hr, _, _ := syscall.SyscallN(
v.VTable().GetOffset,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out uint32
)
if hr != 0 {
return 0, ole.NewError(hr)
}
return out, nil
}
func (v *iGattWriteRequest) GetOption() (GattWriteOption, error) {
var out GattWriteOption
hr, _, _ := syscall.SyscallN(
v.VTable().GetOption,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattWriteOption
)
if hr != 0 {
return GattWriteOptionWriteWithResponse, ole.NewError(hr)
}
return out, nil
}
func (v *iGattWriteRequest) GetState() (GattRequestState, error) {
var out GattRequestState
hr, _, _ := syscall.SyscallN(
v.VTable().GetState,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattRequestState
)
if hr != 0 {
return GattRequestStatePending, ole.NewError(hr)
}
return out, nil
}
func (v *iGattWriteRequest) AddStateChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) {
var out foundation.EventRegistrationToken
hr, _, _ := syscall.SyscallN(
v.VTable().AddStateChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(handler)), // in foundation.TypedEventHandler
uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken
)
if hr != 0 {
return foundation.EventRegistrationToken{}, ole.NewError(hr)
}
return out, nil
}
func (v *iGattWriteRequest) RemoveStateChanged(token foundation.EventRegistrationToken) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RemoveStateChanged,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&token)), // in foundation.EventRegistrationToken
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattWriteRequest) Respond() error {
hr, _, _ := syscall.SyscallN(
v.VTable().Respond,
uintptr(unsafe.Pointer(v)), // this
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}
func (v *iGattWriteRequest) RespondWithProtocolError(protocolError uint8) error {
hr, _, _ := syscall.SyscallN(
v.VTable().RespondWithProtocolError,
uintptr(unsafe.Pointer(v)), // this
uintptr(protocolError), // in uint8
)
if hr != 0 {
return ole.NewError(hr)
}
return nil
}

View File

@ -0,0 +1,105 @@
// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package genericattributeprofile
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
"github.com/saltosystems/winrt-go/windows/foundation"
)
const SignatureGattWriteRequestedEventArgs string = "rc(Windows.Devices.Bluetooth.GenericAttributeProfile.GattWriteRequestedEventArgs;{2dec8bbe-a73a-471a-94d5-037deadd0806})"
type GattWriteRequestedEventArgs struct {
ole.IUnknown
}
func (impl *GattWriteRequestedEventArgs) GetSession() (*GattSession, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequestedEventArgs))
defer itf.Release()
v := (*iGattWriteRequestedEventArgs)(unsafe.Pointer(itf))
return v.GetSession()
}
func (impl *GattWriteRequestedEventArgs) GetDeferral() (*foundation.Deferral, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequestedEventArgs))
defer itf.Release()
v := (*iGattWriteRequestedEventArgs)(unsafe.Pointer(itf))
return v.GetDeferral()
}
func (impl *GattWriteRequestedEventArgs) GetRequestAsync() (*foundation.IAsyncOperation, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiGattWriteRequestedEventArgs))
defer itf.Release()
v := (*iGattWriteRequestedEventArgs)(unsafe.Pointer(itf))
return v.GetRequestAsync()
}
const GUIDiGattWriteRequestedEventArgs string = "2dec8bbe-a73a-471a-94d5-037deadd0806"
const SignatureiGattWriteRequestedEventArgs string = "{2dec8bbe-a73a-471a-94d5-037deadd0806}"
type iGattWriteRequestedEventArgs struct {
ole.IInspectable
}
type iGattWriteRequestedEventArgsVtbl struct {
ole.IInspectableVtbl
GetSession uintptr
GetDeferral uintptr
GetRequestAsync uintptr
}
func (v *iGattWriteRequestedEventArgs) VTable() *iGattWriteRequestedEventArgsVtbl {
return (*iGattWriteRequestedEventArgsVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iGattWriteRequestedEventArgs) GetSession() (*GattSession, error) {
var out *GattSession
hr, _, _ := syscall.SyscallN(
v.VTable().GetSession,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out GattSession
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattWriteRequestedEventArgs) GetDeferral() (*foundation.Deferral, error) {
var out *foundation.Deferral
hr, _, _ := syscall.SyscallN(
v.VTable().GetDeferral,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out foundation.Deferral
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}
func (v *iGattWriteRequestedEventArgs) GetRequestAsync() (*foundation.IAsyncOperation, error) {
var out *foundation.IAsyncOperation
hr, _, _ := syscall.SyscallN(
v.VTable().GetRequestAsync,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation
)
if hr != 0 {
return nil, ole.NewError(hr)
}
return out, nil
}