diff --git a/include/Makefile.in b/include/Makefile.in index c57283c1145..97b4d0e90f6 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -865,6 +865,7 @@ SOURCES = \ windows.storage.streams.idl \ windows.system.idl \ windows.system.power.idl \ + windows.system.profile.idl \ windows.system.profile.systemmanufacturers.idl \ windows.system.threading.idl \ windows.system.userprofile.idl \ diff --git a/include/windows.system.profile.idl b/include/windows.system.profile.idl new file mode 100644 index 00000000000..90a561ced07 --- /dev/null +++ b/include/windows.system.profile.idl @@ -0,0 +1,86 @@ +/* + * 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 "inspectable.idl"; +import "asyncinfo.idl"; +import "eventtoken.idl"; +import "windowscontracts.idl"; +import "windows.foundation.idl"; +import "windows.storage.streams.idl"; +import "windows.system.idl"; +#endif + +namespace Windows.System.Profile { + + interface IAnalyticsInfoStatics; + interface IAnalyticsInfoStatics2; + interface IAnalyticsVersionInfo; + interface IAnalyticsVersionInfo2; + runtimeclass AnalyticsVersionInfo; + runtimeclass AnalyticsInfo; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.System.Profile.AnalyticsInfo), + uuid(1d5ee066-188d-5ba9-4387-acaeb0e7e305) + ] + interface IAnalyticsInfoStatics : IInspectable + { + [propget] HRESULT VersionInfo([out, retval] Windows.System.Profile.AnalyticsVersionInfo **value); + [propget] HRESULT DeviceForm([out, retval] HSTRING *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.System.Profile.AnalyticsVersionInfo), + uuid(926130b8-9955-4c74-bdc1-7cd0decf9b03) + ] + interface IAnalyticsVersionInfo : IInspectable + { + [propget] HRESULT DeviceFamily([out, retval] HSTRING *value); + [propget] HRESULT DeviceFamilyVersion([out, retval] HSTRING *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass AnalyticsVersionInfo + { + [default] interface Windows.System.Profile.IAnalyticsVersionInfo; + [contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.System.Profile.IAnalyticsVersionInfo2; + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + static(Windows.System.Profile.IAnalyticsInfoStatics, Windows.Foundation.UniversalApiContract, 1.0), + static(Windows.System.Profile.IAnalyticsInfoStatics2, Windows.Foundation.UniversalApiContract, 6.0), + threading(both) + ] + runtimeclass AnalyticsInfo + { + } + +}