// WARNING: Please don't edit this file. It was generated by C++/WinRT // v2.0.250303.1 #pragma once #ifndef WINRT_Windows_System_Power_Thermal_0_H #define WINRT_Windows_System_Power_Thermal_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; } WINRT_EXPORT namespace winrt::Windows::System::Power::Thermal { enum class PowerThermalBackEndStatus : int32_t { Stopped = 0, Started = 1, }; struct IPowerThermalChannelConfiguration; struct IPowerThermalChannelDataConsumer; struct IPowerThermalChannelDataConsumerFactory; struct IPowerThermalChannelDataProducer; struct IPowerThermalChannelDataProducerFactory; struct IPowerThermalChannelDataReceivedEventArgs; struct IPowerThermalChannelDiagnostics; struct IPowerThermalChannelDiagnosticsStatics; struct IPowerThermalChannelFinderStatics; struct PowerThermalChannelConfiguration; struct PowerThermalChannelDataConsumer; struct PowerThermalChannelDataProducer; struct PowerThermalChannelDataReceivedEventArgs; struct PowerThermalChannelDiagnostics; struct PowerThermalChannelFinder; struct PowerThermalChannelData; struct PowerThermalChannelId; struct PowerThermalApiContract; } namespace winrt::impl { template <> struct category< winrt::Windows::System::Power::Thermal::IPowerThermalChannelConfiguration> { using type = interface_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataConsumer> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataProducer> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDiagnostics> { using type = interface_category; }; template <> struct category { using type = interface_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::IPowerThermalChannelFinderStatics> { using type = interface_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::PowerThermalChannelConfiguration> { using type = class_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::PowerThermalChannelDataConsumer> { using type = class_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::PowerThermalChannelDataProducer> { using type = class_category; }; template <> struct category { using type = class_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::PowerThermalChannelDiagnostics> { using type = class_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::PowerThermalChannelFinder> { using type = class_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::PowerThermalBackEndStatus> { using type = enum_category; }; template <> struct category< winrt::Windows::System::Power::Thermal::PowerThermalChannelData> { using type = struct_category< winrt::Windows::System::Power::Thermal::PowerThermalChannelId, int32_t>; }; template <> struct category { using type = struct_category; }; template <> inline constexpr auto& name_v< winrt::Windows::System::Power::Thermal::PowerThermalChannelConfiguration> = L"Windows.System.Power.Thermal.PowerThermalChannelConfiguration"; template <> inline constexpr auto& name_v< winrt::Windows::System::Power::Thermal::PowerThermalChannelDataConsumer> = L"Windows.System.Power.Thermal.PowerThermalChannelDataConsumer"; template <> inline constexpr auto& name_v< winrt::Windows::System::Power::Thermal::PowerThermalChannelDataProducer> = L"Windows.System.Power.Thermal.PowerThermalChannelDataProducer"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalChannelDataReceivedEventArgs"; template <> inline constexpr auto& name_v< winrt::Windows::System::Power::Thermal::PowerThermalChannelDiagnostics> = L"Windows.System.Power.Thermal.PowerThermalChannelDiagnostics"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalChannelFinder"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalBackEndStatus"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalChannelData"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalChannelId"; template <> inline constexpr auto& name_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelConfiguration> = L"Windows.System.Power.Thermal.IPowerThermalChannelConfiguration"; template <> inline constexpr auto& name_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataConsumer> = L"Windows.System.Power.Thermal.IPowerThermalChannelDataConsumer"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.IPowerThermalChannelDataConsumerFactory"; template <> inline constexpr auto& name_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataProducer> = L"Windows.System.Power.Thermal.IPowerThermalChannelDataProducer"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.IPowerThermalChannelDataProducerFactory"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.IPowerThermalChannelDataReceivedEventArgs"; template <> inline constexpr auto& name_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDiagnostics> = L"Windows.System.Power.Thermal.IPowerThermalChannelDiagnostics"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.IPowerThermalChannelDiagnosticsStatics"; template <> inline constexpr auto& name_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelFinderStatics> = L"Windows.System.Power.Thermal.IPowerThermalChannelFinderStatics"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalApiContract"; template <> inline constexpr guid guid_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelConfiguration>{ 0xAD8383FA, 0x172D, 0x5D82, {0xB2, 0x9D, 0x81, 0xD9, 0x37, 0x10, 0xFB, 0x45}}; // AD8383FA-172D-5D82-B29D-81D93710FB45 template <> inline constexpr guid guid_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataConsumer>{ 0x47CCA211, 0x7348, 0x5026, {0x89, 0x8C, 0xB1, 0x87, 0x31, 0x23, 0x76, 0x0D}}; // 47CCA211-7348-5026-898C-B1873123760D template <> inline constexpr guid guid_v{ 0xB42D9AB1, 0x32F0, 0x54BB, {0x89, 0x9A, 0x9A, 0xE0, 0x52, 0x9D, 0xA3, 0x81}}; // B42D9AB1-32F0-54BB-899A-9AE0529DA381 template <> inline constexpr guid guid_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataProducer>{ 0xA935F244, 0x1A7D, 0x55D5, {0x9C, 0x69, 0x8A, 0xDC, 0x1C, 0xD1, 0xD9, 0x93}}; // A935F244-1A7D-55D5-9C69-8ADC1CD1D993 template <> inline constexpr guid guid_v{ 0xD2D380CD, 0xE09D, 0x5472, {0xAD, 0x62, 0x70, 0x06, 0x1E, 0x63, 0x00, 0x67}}; // D2D380CD-E09D-5472-AD62-70061E630067 template <> inline constexpr guid guid_v{ 0xD6B643E0, 0x6AB6, 0x5683, {0xA8, 0xFC, 0x5E, 0xD6, 0x5E, 0xE2, 0x0D, 0xC5}}; // D6B643E0-6AB6-5683-A8FC-5ED65EE20DC5 template <> inline constexpr guid guid_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDiagnostics>{ 0x628FD5C4, 0x49B7, 0x508F, {0xAD, 0x9F, 0x23, 0x09, 0xB1, 0x16, 0x8A, 0xAD}}; // 628FD5C4-49B7-508F-AD9F-2309B1168AAD template <> inline constexpr guid guid_v{ 0xA86EC393, 0xB684, 0x5633, {0xA6, 0xCA, 0xDF, 0xA1, 0xC7, 0xEE, 0xCF, 0x87}}; // A86EC393-B684-5633-A6CA-DFA1C7EECF87 template <> inline constexpr guid guid_v< winrt::Windows::System::Power::Thermal::IPowerThermalChannelFinderStatics>{ 0xDF8D288B, 0xF056, 0x55CE, {0xB3, 0x70, 0xF3, 0xE1, 0xC4, 0xE3, 0x20, 0x63}}; // DF8D288B-F056-55CE-B370-F3E1C4E32063 template <> struct default_interface< winrt::Windows::System::Power::Thermal::PowerThermalChannelConfiguration> { using type = winrt::Windows::System::Power::Thermal::IPowerThermalChannelConfiguration; }; template <> struct default_interface< winrt::Windows::System::Power::Thermal::PowerThermalChannelDataConsumer> { using type = winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataConsumer; }; template <> struct default_interface< winrt::Windows::System::Power::Thermal::PowerThermalChannelDataProducer> { using type = winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataProducer; }; template <> struct default_interface { using type = winrt::Windows::System::Power::Thermal:: IPowerThermalChannelDataReceivedEventArgs; }; template <> struct default_interface< winrt::Windows::System::Power::Thermal::PowerThermalChannelDiagnostics> { using type = winrt::Windows::System::Power::Thermal::IPowerThermalChannelDiagnostics; }; template <> struct abi< winrt::Windows::System::Power::Thermal::IPowerThermalChannelConfiguration> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Id( struct struct_Windows_System_Power_Thermal_PowerThermalChannelId*) noexcept = 0; virtual int32_t __stdcall get_ConfigurationString(void**) noexcept = 0; virtual int32_t __stdcall GetConfigurationNumericParameters( uint32_t* __resultSize, int32_t**) noexcept = 0; }; }; template <> struct abi< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataConsumer> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetChannelIds( uint32_t* __resultSize, struct struct_Windows_System_Power_Thermal_PowerThermalChannelId**) noexcept = 0; virtual int32_t __stdcall GetChannelConfigurations(void**) noexcept = 0; virtual int32_t __stdcall Start() noexcept = 0; virtual int32_t __stdcall Stop() noexcept = 0; virtual int32_t __stdcall add_ChannelDataReceived( void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ChannelDataReceived( winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_BackEndStatus(int32_t*) noexcept = 0; virtual int32_t __stdcall add_BackEndStatusChanged( void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_BackEndStatusChanged( winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateInstance( uint32_t, struct struct_Windows_System_Power_Thermal_PowerThermalChannelId*, void**) noexcept = 0; }; }; template <> struct abi< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataProducer> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetChannelIds( uint32_t* __resultSize, struct struct_Windows_System_Power_Thermal_PowerThermalChannelId**) noexcept = 0; virtual int32_t __stdcall GetChannelConfigurations(void**) noexcept = 0; virtual int32_t __stdcall DisableChannel( struct struct_Windows_System_Power_Thermal_PowerThermalChannelId) noexcept = 0; virtual int32_t __stdcall Start() noexcept = 0; virtual int32_t __stdcall Stop() noexcept = 0; virtual int32_t __stdcall PublishInputChannelData( uint32_t, struct struct_Windows_System_Power_Thermal_PowerThermalChannelData*) noexcept = 0; virtual int32_t __stdcall get_BackEndStatus(int32_t*) noexcept = 0; virtual int32_t __stdcall add_BackEndStatusChanged( void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_BackEndStatusChanged( winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateInstance( uint32_t, struct struct_Windows_System_Power_Thermal_PowerThermalChannelId*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetData( uint32_t* __resultSize, struct struct_Windows_System_Power_Thermal_PowerThermalChannelData**) noexcept = 0; }; }; template <> struct abi< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDiagnostics> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi {}; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Current(void**) noexcept = 0; virtual int32_t __stdcall GetDataForChannels( uint32_t, struct struct_Windows_System_Power_Thermal_PowerThermalChannelId*, uint32_t* __resultSize, struct struct_Windows_System_Power_Thermal_PowerThermalChannelData**) noexcept = 0; }; }; template <> struct abi< winrt::Windows::System::Power::Thermal::IPowerThermalChannelFinderStatics> { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall FindChannels( winrt::guid, uint32_t* __resultSize, struct struct_Windows_System_Power_Thermal_PowerThermalChannelId**) noexcept = 0; }; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelConfiguration { [[nodiscard]] auto Id() const; [[nodiscard]] auto ConfigurationString() const; auto GetConfigurationNumericParameters() const; }; template <> struct consume< winrt::Windows::System::Power::Thermal::IPowerThermalChannelConfiguration> { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelConfiguration; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDataConsumer { auto GetChannelIds() const; auto GetChannelConfigurations() const; auto Start() const; auto Stop() const; auto ChannelDataReceived( winrt::Windows::Foundation::TypedEventHandler< winrt::Windows::System::Power::Thermal:: PowerThermalChannelDataConsumer, winrt::Windows::System::Power::Thermal:: PowerThermalChannelDataReceivedEventArgs> const& handler) const; using ChannelDataReceived_revoker = impl::event_revoker< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataConsumer, &impl::abi_t< winrt::Windows::System::Power::Thermal:: IPowerThermalChannelDataConsumer>::remove_ChannelDataReceived>; [[nodiscard]] auto ChannelDataReceived( auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler< winrt::Windows::System::Power::Thermal:: PowerThermalChannelDataConsumer, winrt::Windows::System::Power::Thermal:: PowerThermalChannelDataReceivedEventArgs> const& handler) const; auto ChannelDataReceived(winrt::event_token const& token) const noexcept; [[nodiscard]] auto BackEndStatus() const; auto BackEndStatusChanged( winrt::Windows::Foundation::TypedEventHandler< winrt::Windows::System::Power::Thermal:: PowerThermalChannelDataConsumer, winrt::Windows::Foundation::IInspectable> const& handler) const; using BackEndStatusChanged_revoker = impl::event_revoker< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataConsumer, &impl::abi_t< winrt::Windows::System::Power::Thermal:: IPowerThermalChannelDataConsumer>::remove_BackEndStatusChanged>; [[nodiscard]] auto BackEndStatusChanged( auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler< winrt::Windows::System::Power::Thermal:: PowerThermalChannelDataConsumer, winrt::Windows::Foundation::IInspectable> const& handler) const; auto BackEndStatusChanged(winrt::event_token const& token) const noexcept; }; template <> struct consume< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataConsumer> { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataConsumer; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDataConsumerFactory { auto CreateInstance( array_view< winrt::Windows::System::Power::Thermal::PowerThermalChannelId const> channelIds) const; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataConsumerFactory< D>; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDataProducer { auto GetChannelIds() const; auto GetChannelConfigurations() const; auto DisableChannel( winrt::Windows::System::Power::Thermal::PowerThermalChannelId const& channelId) const; auto Start() const; auto Stop() const; auto PublishInputChannelData( array_view< winrt::Windows::System::Power::Thermal::PowerThermalChannelData const> data) const; [[nodiscard]] auto BackEndStatus() const; auto BackEndStatusChanged( winrt::Windows::Foundation::TypedEventHandler< winrt::Windows::System::Power::Thermal:: PowerThermalChannelDataProducer, winrt::Windows::Foundation::IInspectable> const& handler) const; using BackEndStatusChanged_revoker = impl::event_revoker< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataProducer, &impl::abi_t< winrt::Windows::System::Power::Thermal:: IPowerThermalChannelDataProducer>::remove_BackEndStatusChanged>; [[nodiscard]] auto BackEndStatusChanged( auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler< winrt::Windows::System::Power::Thermal:: PowerThermalChannelDataProducer, winrt::Windows::Foundation::IInspectable> const& handler) const; auto BackEndStatusChanged(winrt::event_token const& token) const noexcept; }; template <> struct consume< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataProducer> { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataProducer; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDataProducerFactory { auto CreateInstance( array_view< winrt::Windows::System::Power::Thermal::PowerThermalChannelId const> channelIds) const; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataProducerFactory< D>; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDataReceivedEventArgs { auto GetData() const; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataReceivedEventArgs< D>; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDiagnostics {}; template <> struct consume< winrt::Windows::System::Power::Thermal::IPowerThermalChannelDiagnostics> { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDiagnostics; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDiagnosticsStatics { [[nodiscard]] auto Current() const; auto GetDataForChannels( array_view< winrt::Windows::System::Power::Thermal::PowerThermalChannelId const> channelIds) const; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDiagnosticsStatics< D>; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelFinderStatics { auto FindChannels(winrt::guid const& channelInterfaceType) const; }; template <> struct consume< winrt::Windows::System::Power::Thermal::IPowerThermalChannelFinderStatics> { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelFinderStatics; }; struct struct_Windows_System_Power_Thermal_PowerThermalChannelData { struct { winrt::guid InterfaceType; uint16_t InstanceId; } Id; int32_t Value; }; template <> struct abi { using type = struct_Windows_System_Power_Thermal_PowerThermalChannelData; }; struct struct_Windows_System_Power_Thermal_PowerThermalChannelId { winrt::guid InterfaceType; uint16_t InstanceId; }; template <> struct abi { using type = struct_Windows_System_Power_Thermal_PowerThermalChannelId; }; } // namespace winrt::impl #endif