From: Biswapriyo Nath nathbappai@gmail.com
--- include/windows.applicationmodel.idl | 90 ++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+)
diff --git a/include/windows.applicationmodel.idl b/include/windows.applicationmodel.idl index d9c4a0989e5..387a77ebef4 100644 --- a/include/windows.applicationmodel.idl +++ b/include/windows.applicationmodel.idl @@ -33,9 +33,15 @@ namespace Windows.ApplicationModel.Core { }
namespace Windows.ApplicationModel { + typedef enum AppExecutionContext AppExecutionContext; typedef struct PackageVersion PackageVersion;
interface IAppDisplayInfo; + interface IAppInfo; + interface IAppInfo2; + interface IAppInfo3; + interface IAppInfo4; + interface IAppInfoStatics; interface IDesignModeStatics; interface IDesignModeStatics2; interface IEnteredBackgroundEventArgs; @@ -52,6 +58,7 @@ namespace Windows.ApplicationModel { interface ISuspendingOperation;
runtimeclass AppDisplayInfo; + runtimeclass AppInfo; runtimeclass DesignMode; runtimeclass EnteredBackgroundEventArgs; runtimeclass LeavingBackgroundEventArgs; @@ -63,17 +70,32 @@ namespace Windows.ApplicationModel { runtimeclass SuspendingOperation;
declare { + interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.AppInfo *>; interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *>; + interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.AppInfo *>; interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Package *>; + interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo *>; interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Package *>; interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Core.AppListEntry *>; interface Windows.Foundation.EventHandler<Windows.ApplicationModel.EnteredBackgroundEventArgs *>; interface Windows.Foundation.EventHandler<Windows.ApplicationModel.LeavingBackgroundEventArgs *>; interface Windows.Foundation.EventHandler<Windows.ApplicationModel.SuspendingEventArgs *>; + interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo *> *>; interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Core.AppListEntry *> *>; + interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo *> *>; interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Core.AppListEntry *> *>; }
+ [ + contract(Windows.Foundation.UniversalApiContract, 11.0) + ] + enum AppExecutionContext + { + Unknown = 0, + Host = 1, + Guest = 2, + }; + [ contract(Windows.Foundation.UniversalApiContract, 1.0) ] @@ -97,6 +119,61 @@ namespace Windows.ApplicationModel { HRESULT GetLogo([in] Windows.Foundation.Size size, [out, retval] Windows.Storage.Streams.RandomAccessStreamReference **value); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.ApplicationModel.AppInfo), + uuid(cf7f59b3-6a09-4de8-a6c0-5792d56880d1) + ] + interface IAppInfo : IInspectable + { + [propget] HRESULT Id([out, retval] HSTRING *value); + [propget] HRESULT AppUserModelId([out, retval] HSTRING *value); + [propget] HRESULT DisplayInfo([out, retval] Windows.ApplicationModel.AppDisplayInfo **value); + [propget] HRESULT PackageFamilyName([out, retval] HSTRING *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 10.0), + exclusiveto(Windows.ApplicationModel.AppInfo), + uuid(be4b1f5a-2098-431b-bd25-b30878748d47) + ] + interface IAppInfo2 : IInspectable + { + [propget] HRESULT Package([out, retval] Windows.ApplicationModel.Package **value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 11.0), + exclusiveto(Windows.ApplicationModel.AppInfo), + uuid(09a78e46-93a4-46de-9397-0843b57115ea) + ] + interface IAppInfo3 : IInspectable + { + [propget] HRESULT ExecutionContext([out, retval] Windows.ApplicationModel.AppExecutionContext *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 11.0), + exclusiveto(Windows.ApplicationModel.AppInfo), + uuid(2f34bdeb-1609-4554-9f33-12e1e803e0d4) + ] + interface IAppInfo4 : IInspectable + { + [propget] HRESULT SupportedFileExtensions([out] UINT32 *value_size, [out, retval] [size_is(, *value_size)] HSTRING **value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 10.0), + exclusiveto(Windows.ApplicationModel.AppInfo), + uuid(cf1f782a-e48b-4f0c-9b0b-79c3f8957dd7) + ] + interface IAppInfoStatics : IInspectable + { + [propget] HRESULT Current([out, retval] Windows.ApplicationModel.AppInfo **value); + HRESULT GetFromAppUserModelId([in] HSTRING app_user_model_id, [out, retval] Windows.ApplicationModel.AppInfo **result); + HRESULT GetFromAppUserModelIdForUser([in] Windows.System.User *user, [in] HSTRING app_user_model_id, [out, retval] Windows.ApplicationModel.AppInfo **result); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.ApplicationModel.DesignMode), @@ -273,6 +350,19 @@ namespace Windows.ApplicationModel { [default] interface Windows.ApplicationModel.IAppDisplayInfo; }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + static(Windows.ApplicationModel.IAppInfoStatics, Windows.Foundation.UniversalApiContract, 10.0), + threading(both) + ] + runtimeclass AppInfo + { + [default] interface Windows.ApplicationModel.IAppInfo; + [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.ApplicationModel.IAppInfo2; + [contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.ApplicationModel.IAppInfo3; + [contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.ApplicationModel.IAppInfo4; + }
[ contract(Windows.Foundation.UniversalApiContract, 1.0),