From: Zhiyi Zhang zzhang@codeweavers.com
--- dlls/windows.globalization/classes.idl | 1 + include/windows.globalization.idl | 38 ++++++++++++++++++++++++++ 2 files changed, 39 insertions(+)
diff --git a/dlls/windows.globalization/classes.idl b/dlls/windows.globalization/classes.idl index b8db4cdfeb2..6a006b15423 100644 --- a/dlls/windows.globalization/classes.idl +++ b/dlls/windows.globalization/classes.idl @@ -29,6 +29,7 @@ import "asyncinfo.idl"; import "eventtoken.idl"; import "windowscontracts.idl"; import "windows.foundation.idl"; +import "windows.system.idl";
#define DO_NO_IMPORTS #define _WINDOWS_GLOBALIZATION diff --git a/include/windows.globalization.idl b/include/windows.globalization.idl index 382cb4d5ac8..7282af63969 100644 --- a/include/windows.globalization.idl +++ b/include/windows.globalization.idl @@ -26,12 +26,15 @@ import "asyncinfo.idl"; import "eventtoken.idl"; import "windowscontracts.idl"; import "windows.foundation.idl"; +import "windows.system.idl"; #endif
namespace Windows { namespace Globalization { typedef enum DayOfWeek DayOfWeek; typedef enum LanguageLayoutDirection LanguageLayoutDirection; + interface IApplicationLanguagesStatics; + interface IApplicationLanguagesStatics2; interface ICalendar; interface ICalendarFactory; interface ICalendarFactory2; @@ -47,6 +50,7 @@ namespace Windows { interface IGeographicRegionFactory; interface IGeographicRegionStatics; interface ITimeZoneOnCalendar; + runtimeclass ApplicationLanguages; runtimeclass Calendar; runtimeclass Language; runtimeclass GeographicRegion; @@ -227,6 +231,29 @@ namespace Windows { [out, retval] Windows.Globalization.Calendar **result); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Globalization.ApplicationLanguages), + uuid(75b40847-0a4c-4a92-9565-fd63c95f7aed) + ] + interface IApplicationLanguagesStatics : IInspectable + { + [propget] HRESULT PrimaryLanguageOverride([out, retval] HSTRING *value); + [propput] HRESULT PrimaryLanguageOverride([in] HSTRING value); + [propget] HRESULT Languages([out, retval] Windows.Foundation.Collections.IVectorView<HSTRING> **value); + [propget] HRESULT ManifestLanguages([out, retval] Windows.Foundation.Collections.IVectorView<HSTRING> **value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 6.0), + exclusiveto(Windows.Globalization.ApplicationLanguages), + uuid(1df0de4f-072b-4d7b-8f06-cb2db40f2bb5) + ] + interface IApplicationLanguagesStatics2 : IInspectable + { + HRESULT GetLanguagesForUser([in] Windows.System.User *user, [out, retval] Windows.Foundation.Collections.IVectorView<HSTRING> **value); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.Globalization.Language), @@ -374,6 +401,17 @@ namespace Windows { [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Globalization.ITimeZoneOnCalendar; }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + static(Windows.Globalization.IApplicationLanguagesStatics, Windows.Foundation.UniversalApiContract, 1.0), + static(Windows.Globalization.IApplicationLanguagesStatics2, Windows.Foundation.UniversalApiContract, 6.0), + threading(both) + ] + runtimeclass ApplicationLanguages + { + } + [ activatable(Windows.Globalization.ILanguageFactory, Windows.Foundation.UniversalApiContract, 1.0), contract(Windows.Foundation.UniversalApiContract, 1.0),