first commit
This commit is contained in:
@ -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
|
||||
}
|
Reference in New Issue
Block a user