// WARNING: Please don't edit this file. It was generated by Swift/WinRT v0.0.1 // swiftlint:disable all import Foundation @_spi(WinRTInternal) @_spi(WinRTImplements) import WindowsFoundation import CWinRT private var IID___x_ABI_CMicrosoft_CUI_CIClosableNotifier: WindowsFoundation.IID { .init(Data1: 0x2989E93B, Data2: 0xED0F, Data3: 0x5E79, Data4: ( 0x90,0xF2,0xEA,0xC5,0x92,0xFC,0x6E,0x6A ))// 2989E93B-ED0F-5E79-90F2-EAC592FC6E6A } private var IID___x_ABI_CMicrosoft_CUI_CIClosableNotifierHandler: WindowsFoundation.IID { .init(Data1: 0x478CEC68, Data2: 0xEA8E, Data3: 0x52FC, Data4: ( 0x87,0xE2,0xC8,0x19,0xDE,0x00,0x0F,0x92 ))// 478CEC68-EA8E-52FC-87E2-C819DE000F92 } public enum __ABI_Microsoft_UI { public class IClosableNotifier: WindowsFoundation.IInspectable { override public class var IID: WindowsFoundation.IID { IID___x_ABI_CMicrosoft_CUI_CIClosableNotifier } open func get_IsClosedImpl() throws -> Bool { var value: boolean = 0 _ = try perform(as: __x_ABI_CMicrosoft_CUI_CIClosableNotifier.self) { pThis in try CHECKED(pThis.pointee.lpVtbl.pointee.get_IsClosed(pThis, &value)) } return .init(from: value) } open func add_ClosedImpl(_ handler: WinAppSDK.ClosableNotifierHandler?) throws -> EventRegistrationToken { var token: EventRegistrationToken = .init() let handlerWrapper = __ABI_Microsoft_UI.ClosableNotifierHandlerWrapper(handler) let _handler = try! handlerWrapper?.toABI { $0 } _ = try perform(as: __x_ABI_CMicrosoft_CUI_CIClosableNotifier.self) { pThis in try CHECKED(pThis.pointee.lpVtbl.pointee.add_Closed(pThis, _handler, &token)) } return token } open func remove_ClosedImpl(_ token: EventRegistrationToken) throws { _ = try perform(as: __x_ABI_CMicrosoft_CUI_CIClosableNotifier.self) { pThis in try CHECKED(pThis.pointee.lpVtbl.pointee.remove_Closed(pThis, token)) } } open func add_FrameworkClosedImpl(_ handler: WinAppSDK.ClosableNotifierHandler?) throws -> EventRegistrationToken { var token: EventRegistrationToken = .init() let handlerWrapper = __ABI_Microsoft_UI.ClosableNotifierHandlerWrapper(handler) let _handler = try! handlerWrapper?.toABI { $0 } _ = try perform(as: __x_ABI_CMicrosoft_CUI_CIClosableNotifier.self) { pThis in try CHECKED(pThis.pointee.lpVtbl.pointee.add_FrameworkClosed(pThis, _handler, &token)) } return token } open func remove_FrameworkClosedImpl(_ token: EventRegistrationToken) throws { _ = try perform(as: __x_ABI_CMicrosoft_CUI_CIClosableNotifier.self) { pThis in try CHECKED(pThis.pointee.lpVtbl.pointee.remove_FrameworkClosed(pThis, token)) } } } internal static var IClosableNotifierVTable: __x_ABI_CMicrosoft_CUI_CIClosableNotifierVtbl = .init( QueryInterface: { IClosableNotifierWrapper.queryInterface($0, $1, $2) }, AddRef: { IClosableNotifierWrapper.addRef($0) }, Release: { IClosableNotifierWrapper.release($0) }, GetIids: { let size = MemoryLayout.size let iids = CoTaskMemAlloc(UInt64(size) * 3).assumingMemoryBound(to: WindowsFoundation.IID.self) iids[0] = IUnknown.IID iids[1] = IInspectable.IID iids[2] = __ABI_Microsoft_UI.IClosableNotifierWrapper.IID $1!.pointee = 3 $2!.pointee = iids return S_OK }, GetRuntimeClassName: { _ = $0 let hstring = try! HString("Microsoft.UI.IClosableNotifier").detach() $1!.pointee = hstring return S_OK }, GetTrustLevel: { _ = $0 $1!.pointee = TrustLevel(rawValue: 0) return S_OK }, get_IsClosed: { guard let __unwrapped__instance = IClosableNotifierWrapper.tryUnwrapFrom(raw: $0) else { return E_INVALIDARG } let value = __unwrapped__instance.isClosed $1?.initialize(to: .init(from: value)) return S_OK }, add_Closed: { guard let __unwrapped__instance = IClosableNotifierWrapper.tryUnwrapFrom(raw: $0) else { return E_INVALIDARG } guard let handler = __ABI_Microsoft_UI.ClosableNotifierHandlerWrapper.unwrapFrom(abi: ComPtr($1)) else { return E_INVALIDARG } let token = __unwrapped__instance.closed.addHandler(handler) $2?.initialize(to: .from(swift: token)) return S_OK }, remove_Closed: { guard let __unwrapped__instance = IClosableNotifierWrapper.tryUnwrapFrom(raw: $0) else { return E_INVALIDARG } let token: EventRegistrationToken = $1 __unwrapped__instance.closed.removeHandler(token) return S_OK }, add_FrameworkClosed: { guard let __unwrapped__instance = IClosableNotifierWrapper.tryUnwrapFrom(raw: $0) else { return E_INVALIDARG } guard let handler = __ABI_Microsoft_UI.ClosableNotifierHandlerWrapper.unwrapFrom(abi: ComPtr($1)) else { return E_INVALIDARG } let token = __unwrapped__instance.frameworkClosed.addHandler(handler) $2?.initialize(to: .from(swift: token)) return S_OK }, remove_FrameworkClosed: { guard let __unwrapped__instance = IClosableNotifierWrapper.tryUnwrapFrom(raw: $0) else { return E_INVALIDARG } let token: EventRegistrationToken = $1 __unwrapped__instance.frameworkClosed.removeHandler(token) return S_OK } ) public typealias IClosableNotifierWrapper = InterfaceWrapperBase<__IMPL_Microsoft_UI.IClosableNotifierBridge> } extension __x_ABI_CMicrosoft_CUI_CDisplayId { public static func from(swift: WinAppSDK.DisplayId) -> __x_ABI_CMicrosoft_CUI_CDisplayId { .init(Value: swift.value) } } extension __x_ABI_CMicrosoft_CUI_CIconId { public static func from(swift: WinAppSDK.IconId) -> __x_ABI_CMicrosoft_CUI_CIconId { .init(Value: swift.value) } } extension __x_ABI_CMicrosoft_CUI_CWindowId { public static func from(swift: WinAppSDK.WindowId) -> __x_ABI_CMicrosoft_CUI_CWindowId { .init(Value: swift.value) } } // MARK - ClosableNotifierHandler extension __ABI_Microsoft_UI { public class ClosableNotifierHandler: WindowsFoundation.IUnknown { override public class var IID: WindowsFoundation.IID { IID___x_ABI_CMicrosoft_CUI_CIClosableNotifierHandler } open func InvokeImpl() throws { _ = try perform(as: __x_ABI_CMicrosoft_CUI_CIClosableNotifierHandler.self) { pThis in try CHECKED(pThis.pointee.lpVtbl.pointee.Invoke(pThis)) } } } typealias ClosableNotifierHandlerWrapper = InterfaceWrapperBase<__IMPL_Microsoft_UI.ClosableNotifierHandlerBridge> internal static var ClosableNotifierHandlerVTable: __x_ABI_CMicrosoft_CUI_CIClosableNotifierHandlerVtbl = .init( QueryInterface: { ClosableNotifierHandlerWrapper.queryInterface($0, $1, $2) }, AddRef: { ClosableNotifierHandlerWrapper.addRef($0) }, Release: { ClosableNotifierHandlerWrapper.release($0) }, Invoke: { guard let __unwrapped__instance = ClosableNotifierHandlerWrapper.tryUnwrapFrom(raw: $0) else { return E_INVALIDARG } __unwrapped__instance() return S_OK } ) } public extension WinRTDelegateBridge where CABI == __x_ABI_CMicrosoft_CUI_CIClosableNotifierHandler { static func makeAbi() -> CABI { let vtblPtr = withUnsafeMutablePointer(to: &__ABI_Microsoft_UI.ClosableNotifierHandlerVTable) { $0 } return .init(lpVtbl:vtblPtr) } }