/* * Copyright 2023 RĂ©mi Bernon for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #ifdef __WIDL__ #pragma winrt ns_prefix #endif #ifndef DO_NO_IMPORTS import "windows.foundation.idl"; import "windows.storage.idl"; import "windows.system.idl"; import "windows.applicationmodel.idl"; import "windows.applicationmodel.activation.idl"; import "windows.ui.core.idl"; #endif namespace Windows.ApplicationModel.Core { runtimeclass CoreApplicationView; } namespace Windows.ApplicationModel.Activation { interface IActivatedEventArgs; runtimeclass BackgroundActivatedEventArgs; declare { interface Windows.Foundation.EventHandler; interface Windows.Foundation.TypedEventHandler; } } namespace Windows.ApplicationModel { runtimeclass AppDisplayInfo; runtimeclass EnteredBackgroundEventArgs; runtimeclass LeavingBackgroundEventArgs; runtimeclass SuspendingEventArgs; declare { interface Windows.Foundation.EventHandler; interface Windows.Foundation.EventHandler; interface Windows.Foundation.EventHandler; } } namespace Windows.Foundation { interface IGetActivationFactory; } namespace Windows.UI.Core { runtimeclass CoreDispatcher; runtimeclass CoreWindow; } namespace Windows.ApplicationModel.Core { typedef enum AppRestartFailureReason AppRestartFailureReason; interface IAppListEntry; interface ICoreApplication; interface ICoreApplication2; interface ICoreApplication3; interface ICoreApplicationExit; interface ICoreApplicationUnhandledError; interface ICoreApplicationUseCount; interface ICoreApplicationView; interface ICoreApplicationView2; interface ICoreApplicationView3; interface ICoreApplicationView5; interface ICoreApplicationView6; interface ICoreApplicationViewTitleBar; interface ICoreImmersiveApplication; interface ICoreImmersiveApplication2; interface ICoreImmersiveApplication3; interface IFrameworkView; interface IFrameworkViewSource; interface IHostedViewClosingEventArgs; interface IUnhandledError; interface IUnhandledErrorDetectedEventArgs; runtimeclass AppListEntry; runtimeclass CoreApplication; runtimeclass CoreApplicationView; runtimeclass CoreApplicationViewTitleBar; runtimeclass HostedViewClosingEventArgs; runtimeclass UnhandledError; runtimeclass UnhandledErrorDetectedEventArgs; declare { interface Windows.Foundation.AsyncOperationCompletedHandler; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.EventHandler; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; } [ contract(Windows.Foundation.UniversalApiContract, 5.0) ] enum AppRestartFailureReason { RestartPending = 0, NotInForeground = 1, InvalidUser = 2, Other = 3 }; [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.AppListEntry), uuid(ef00f07f-2108-490a-877a-8a9f17c25fad) ] interface IAppListEntry : IInspectable { [propget] HRESULT DisplayInfo([out, retval] Windows.ApplicationModel.AppDisplayInfo **value); HRESULT LaunchAsync([out, retval] Windows.Foundation.IAsyncOperation **operation); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplication), uuid(0aacf7a4-5e1d-49df-8034-fb6a68bc5ed1) ] interface ICoreApplication : IInspectable { [propget] HRESULT Id([out, retval] HSTRING *value); [eventadd] HRESULT Suspending([in] Windows.Foundation.EventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT Suspending([in] EventRegistrationToken token); [eventadd] HRESULT Resuming([in] Windows.Foundation.EventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT Resuming([in] EventRegistrationToken token); [propget] HRESULT Properties([out, retval] Windows.Foundation.Collections.IPropertySet **value); HRESULT GetCurrentView([out, retval] Windows.ApplicationModel.Core.CoreApplicationView **value); HRESULT Run([in] Windows.ApplicationModel.Core.IFrameworkViewSource *view_source); HRESULT RunWithActivationFactories([in] Windows.Foundation.IGetActivationFactory *factory); } [ contract(Windows.Foundation.UniversalApiContract, 3.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplication), uuid(998681fb-1ab6-4b7f-be4a-9a0645224c04) ] interface ICoreApplication2 : IInspectable { [eventadd] HRESULT BackgroundActivated([in] Windows.Foundation.EventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT BackgroundActivated([in] EventRegistrationToken token); [eventadd] HRESULT LeavingBackground([in] Windows.Foundation.EventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT LeavingBackground([in] EventRegistrationToken token); [eventadd] HRESULT EnteredBackground([in] Windows.Foundation.EventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT EnteredBackground([in] EventRegistrationToken token); HRESULT EnablePrelaunch([in] boolean value); } [ contract(Windows.Foundation.UniversalApiContract, 5.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplication), uuid(feec0d39-598b-4507-8a67-772632580a57) ] interface ICoreApplication3 : IInspectable { HRESULT RequestRestartAsync([in] HSTRING launch_arguments, [out, retval] Windows.Foundation.IAsyncOperation **operation); HRESULT RequestRestartForUserAsync([in] Windows.System.User *user, [in] HSTRING launch_arguments, [out, retval] Windows.Foundation.IAsyncOperation **operation); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplication), uuid(cf86461d-261e-4b72-9acd-44ed2ace6a29) ] interface ICoreApplicationExit : IInspectable { HRESULT Exit(); [eventadd] HRESULT Exiting([in] Windows.Foundation.EventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT Exiting([in] EventRegistrationToken token); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), uuid(f0e24ab0-dd09-42e1-b0bc-e0e131f78d7e) ] interface ICoreApplicationUnhandledError : IInspectable { [eventadd] HRESULT UnhandledErrorDetected([in] Windows.Foundation.EventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT UnhandledErrorDetected([in] EventRegistrationToken token); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplication), uuid(518dc408-c077-475b-809e-0bc0c57e4b74) ] interface ICoreApplicationUseCount : IInspectable { HRESULT IncrementApplicationUseCount(); HRESULT DecrementApplicationUseCount(); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplicationView), uuid(638bb2db-451d-4661-b099-414f34ffb9f1) ] interface ICoreApplicationView : IInspectable { [propget] HRESULT CoreWindow([out, retval] Windows.UI.Core.CoreWindow **value); [eventadd] HRESULT Activated([in] Windows.Foundation.TypedEventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT Activated([in] EventRegistrationToken token); [propget] HRESULT IsMain([out, retval] boolean *value); [propget] HRESULT IsHosted([out, retval] boolean *value); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplicationView), uuid(68eb7adf-917f-48eb-9aeb-7de53e086ab1) ] interface ICoreApplicationView2 : IInspectable { [propget] HRESULT Dispatcher([out, retval] Windows.UI.Core.CoreDispatcher **value); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplicationView), uuid(07ebe1b3-a4cf-4550-ab70-b07e85330bc8) ] interface ICoreApplicationView3 : IInspectable { [propget] HRESULT IsComponent([out, retval] boolean *value); [propget] HRESULT TitleBar([out, retval] Windows.ApplicationModel.Core.CoreApplicationViewTitleBar **value); [eventadd] HRESULT HostedViewClosing([in] Windows.Foundation.TypedEventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT HostedViewClosing([in] EventRegistrationToken token); } [ contract(Windows.Foundation.UniversalApiContract, 4.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplicationView), uuid(2bc095a8-8ef0-446d-9e60-3a3e0428c671) ] interface ICoreApplicationView5 : IInspectable { [propget] HRESULT Properties([out, retval] Windows.Foundation.Collections.IPropertySet **value); } [ contract(Windows.Foundation.UniversalApiContract, 5.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplicationView), uuid(c119d49a-0679-49ba-803f-b79c5cf34cca) ] interface ICoreApplicationView6 : IInspectable { [propget] HRESULT DispatcherQueue([out, retval] Windows.System.DispatcherQueue **value); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplicationViewTitleBar), uuid(006d35e3-e1f1-431b-9508-29b96926ac53) ] interface ICoreApplicationViewTitleBar : IInspectable { [propput] HRESULT ExtendViewIntoTitleBar([in] boolean value); [propget] HRESULT ExtendViewIntoTitleBar([out, retval] boolean *value); [propget] HRESULT SystemOverlayLeftInset([out, retval] DOUBLE *value); [propget] HRESULT SystemOverlayRightInset([out, retval] DOUBLE *value); [propget] HRESULT Height([out, retval] DOUBLE *value); [eventadd] HRESULT LayoutMetricsChanged([in] Windows.Foundation.TypedEventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT LayoutMetricsChanged([in] EventRegistrationToken token); [propget] HRESULT IsVisible([out, retval] boolean *value); [eventadd] HRESULT IsVisibleChanged([in] Windows.Foundation.TypedEventHandler *handler, [out, retval] EventRegistrationToken *token); [eventremove] HRESULT IsVisibleChanged([in] EventRegistrationToken token); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplication), uuid(1ada0e3e-e4a2-4123-b451-dc96bf800419) ] interface ICoreImmersiveApplication : IInspectable { [propget] HRESULT Views([out, retval] Windows.Foundation.Collections.IVectorView **value); [overload("CreateNewView"), default_overload] HRESULT CreateNewView([in] HSTRING runtime_type, [in] HSTRING entry_point, [out, retval] Windows.ApplicationModel.Core.CoreApplicationView **view); [propget] HRESULT MainView([out, retval] Windows.ApplicationModel.Core.CoreApplicationView **value); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplication), uuid(828e1e36-e9e3-4cfc-9b66-48b78ea9bb2c) ] interface ICoreImmersiveApplication2 : IInspectable { [overload("CreateNewView")] HRESULT CreateNewViewFromMainView([out, retval] Windows.ApplicationModel.Core.CoreApplicationView **view); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.CoreApplication), uuid(34a05b2f-ee0d-41e5-8314-cf10c91bf0af) ] interface ICoreImmersiveApplication3 : IInspectable { [overload("CreateNewView")] HRESULT CreateNewViewWithViewSource([in] Windows.ApplicationModel.Core.IFrameworkViewSource *view_source, [out, retval] Windows.ApplicationModel.Core.CoreApplicationView **view); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), uuid(faab5cd0-8924-45ac-ad0f-a08fae5d0324) ] interface IFrameworkView : IInspectable { HRESULT Initialize([in] Windows.ApplicationModel.Core.CoreApplicationView *application_view); HRESULT SetWindow([in] Windows.UI.Core.CoreWindow *window); HRESULT Load([in] HSTRING entry_point); HRESULT Run(); HRESULT Uninitialize(); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), uuid(cd770614-65c4-426c-9494-34fc43554862) ] interface IFrameworkViewSource : IInspectable { HRESULT CreateView([out, retval] Windows.ApplicationModel.Core.IFrameworkView **view); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.HostedViewClosingEventArgs), uuid(d238943c-b24e-4790-acb5-3e4243c4ff87) ] interface IHostedViewClosingEventArgs : IInspectable { HRESULT GetDeferral([out, retval] Windows.Foundation.Deferral **result); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.UnhandledError), uuid(9459b726-53b5-4686-9eaf-fa8162dc3980) ] interface IUnhandledError : IInspectable { [propget] HRESULT Handled([out, retval] boolean *value); HRESULT Propagate(); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.Core.UnhandledErrorDetectedEventArgs), uuid(679ab78b-b336-4822-ac40-0d750f0b7a2b) ] interface IUnhandledErrorDetectedEventArgs : IInspectable { [propget] HRESULT UnhandledError([out, retval] Windows.ApplicationModel.Core.UnhandledError **value); } [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(agile), threading(both) ] runtimeclass AppListEntry { [default] interface Windows.ApplicationModel.Core.IAppListEntry; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.ApplicationModel.Core.IAppListEntry2; [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.ApplicationModel.Core.IAppListEntry3; [contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.ApplicationModel.Core.IAppListEntry4; } #ifndef _WINDOWS_APPLICATIONMODEL [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(agile), static(Windows.ApplicationModel.Core.ICoreApplication, Windows.Foundation.UniversalApiContract, 1.0), static(Windows.ApplicationModel.Core.ICoreApplication2, Windows.Foundation.UniversalApiContract, 3.0), static(Windows.ApplicationModel.Core.ICoreApplication3, Windows.Foundation.UniversalApiContract, 5.0), static(Windows.ApplicationModel.Core.ICoreApplicationExit, Windows.Foundation.UniversalApiContract, 1.0), static(Windows.ApplicationModel.Core.ICoreApplicationUnhandledError, Windows.Foundation.UniversalApiContract, 1.0), static(Windows.ApplicationModel.Core.ICoreApplicationUseCount, Windows.Foundation.UniversalApiContract, 1.0), static(Windows.ApplicationModel.Core.ICoreImmersiveApplication, Windows.Foundation.UniversalApiContract, 1.0), static(Windows.ApplicationModel.Core.ICoreImmersiveApplication2, Windows.Foundation.UniversalApiContract, 1.0), static(Windows.ApplicationModel.Core.ICoreImmersiveApplication3, Windows.Foundation.UniversalApiContract, 1.0) ] runtimeclass CoreApplication { } #endif [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(standard) ] runtimeclass CoreApplicationView { [default] interface Windows.ApplicationModel.Core.ICoreApplicationView; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Core.ICoreApplicationView2; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Core.ICoreApplicationView3; [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.ApplicationModel.Core.ICoreApplicationView5; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.ApplicationModel.Core.ICoreApplicationView6; } [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(standard) ] runtimeclass CoreApplicationViewTitleBar { [default] interface Windows.ApplicationModel.Core.ICoreApplicationViewTitleBar; } [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(agile) ] runtimeclass HostedViewClosingEventArgs { [default] interface Windows.ApplicationModel.Core.IHostedViewClosingEventArgs; } [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(agile) ] runtimeclass UnhandledError { [default] interface Windows.ApplicationModel.Core.IUnhandledError; } [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(agile) ] runtimeclass UnhandledErrorDetectedEventArgs { [default] interface Windows.ApplicationModel.Core.IUnhandledErrorDetectedEventArgs; } }