diff --git a/include/Makefile.in b/include/Makefile.in index 46164b8268f..9133e5c6315 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -757,6 +757,7 @@ SOURCES = \ windows.h \ windows.media.speechsynthesis.idl \ windows.system.idl \ + windows.system.userprofile.idl \ windowscontracts.idl \ windowsx.h \ wine/debug.h \ diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl index c4dc454974f..fe09dc66edd 100644 --- a/include/windows.foundation.idl +++ b/include/windows.foundation.idl @@ -127,6 +127,7 @@ namespace Windows { declare { interface Windows.Foundation.AsyncOperationCompletedHandler; interface Windows.Foundation.IAsyncOperation; + interface Windows.Foundation.Collections.IVectorView; } } } diff --git a/include/windows.system.userprofile.idl b/include/windows.system.userprofile.idl new file mode 100644 index 00000000000..4a066c9ae8b --- /dev/null +++ b/include/windows.system.userprofile.idl @@ -0,0 +1,70 @@ +/* + * Copyright 2021 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 + +import "inspectable.idl"; +import "asyncinfo.idl"; +import "eventtoken.idl"; +import "windowscontracts.idl"; +import "windows.foundation.idl"; +import "windows.globalization.idl"; + +namespace Windows { + namespace System { + namespace UserProfile { + interface IGlobalizationPreferencesStatics; + interface IGlobalizationPreferencesStatics2; + interface IGlobalizationPreferencesStatics3; + runtimeclass GlobalizationPreferences; + } + } +} + +namespace Windows { + namespace System { + namespace UserProfile { + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.System.UserProfile.GlobalizationPreferences), + uuid(01bf4326-ed37-4e96-b0e9-c1340d1ea158) + ] + interface IGlobalizationPreferencesStatics : IInspectable + { + [propget] HRESULT Calendars([out, retval] Windows.Foundation.Collections.IVectorView** value); + [propget] HRESULT Clocks([out, retval] Windows.Foundation.Collections.IVectorView** value); + [propget] HRESULT Currencies([out, retval] Windows.Foundation.Collections.IVectorView** value); + [propget] HRESULT Languages([out, retval] Windows.Foundation.Collections.IVectorView** value); + [propget] HRESULT HomeGeographicRegion([out, retval] HSTRING* value); + [propget] HRESULT WeekStartsOn([out, retval] Windows.Globalization.DayOfWeek* value); + } + + [contract(Windows.Foundation.UniversalApiContract, 1.0)] + [marshaling_behavior(agile)] + [static(Windows.System.UserProfile.IGlobalizationPreferencesStatics, Windows.Foundation.UniversalApiContract, 1.0)] + [static(Windows.System.UserProfile.IGlobalizationPreferencesStatics2, Windows.Foundation.UniversalApiContract, 5.0)] + [static(Windows.System.UserProfile.IGlobalizationPreferencesStatics3, Windows.Foundation.UniversalApiContract, 6.0)] + runtimeclass GlobalizationPreferences + { + } + } + } +}