// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #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{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = struct_category; }; template <> struct category{ using type = struct_category; }; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalChannelConfiguration"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalChannelDataConsumer"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalChannelDataProducer"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalChannelDataReceivedEventArgs"; template <> inline constexpr auto& name_v = 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 = L"Windows.System.Power.Thermal.IPowerThermalChannelConfiguration"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.IPowerThermalChannelDataConsumer"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.IPowerThermalChannelDataConsumerFactory"; template <> inline constexpr auto& name_v = 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 = L"Windows.System.Power.Thermal.IPowerThermalChannelDiagnostics"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.IPowerThermalChannelDiagnosticsStatics"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.IPowerThermalChannelFinderStatics"; template <> inline constexpr auto& name_v = L"Windows.System.Power.Thermal.PowerThermalApiContract"; template <> inline constexpr guid guid_v{ 0xAD8383FA,0x172D,0x5D82,{ 0xB2,0x9D,0x81,0xD9,0x37,0x10,0xFB,0x45 } }; // AD8383FA-172D-5D82-B29D-81D93710FB45 template <> inline constexpr guid guid_v{ 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{ 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{ 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{ 0xDF8D288B,0xF056,0x55CE,{ 0xB3,0x70,0xF3,0xE1,0xC4,0xE3,0x20,0x63 } }; // DF8D288B-F056-55CE-B370-F3E1C4E32063 template <> struct default_interface{ using type = winrt::Windows::System::Power::Thermal::IPowerThermalChannelConfiguration; }; template <> struct default_interface{ using type = winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataConsumer; }; template <> struct default_interface{ using type = winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataProducer; }; template <> struct default_interface{ using type = winrt::Windows::System::Power::Thermal::IPowerThermalChannelDataReceivedEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::System::Power::Thermal::IPowerThermalChannelDiagnostics; }; template <> struct abi { 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 { 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 { 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 { 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 { 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 { 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 const& handler) const; using ChannelDataReceived_revoker = impl::event_revoker::remove_ChannelDataReceived>; [[nodiscard]] auto ChannelDataReceived(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto ChannelDataReceived(winrt::event_token const& token) const noexcept; [[nodiscard]] auto BackEndStatus() const; auto BackEndStatusChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using BackEndStatusChanged_revoker = impl::event_revoker::remove_BackEndStatusChanged>; [[nodiscard]] auto BackEndStatusChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto BackEndStatusChanged(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataConsumer; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDataConsumerFactory { auto CreateInstance(array_view channelIds) const; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataConsumerFactory; }; 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 data) const; [[nodiscard]] auto BackEndStatus() const; auto BackEndStatusChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using BackEndStatusChanged_revoker = impl::event_revoker::remove_BackEndStatusChanged>; [[nodiscard]] auto BackEndStatusChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto BackEndStatusChanged(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataProducer; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDataProducerFactory { auto CreateInstance(array_view channelIds) const; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataProducerFactory; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDataReceivedEventArgs { auto GetData() const; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDataReceivedEventArgs; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelDiagnostics { }; template <> struct consume { 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 channelIds) const; }; template <> struct consume { template using type = consume_Windows_System_Power_Thermal_IPowerThermalChannelDiagnosticsStatics; }; template struct consume_Windows_System_Power_Thermal_IPowerThermalChannelFinderStatics { auto FindChannels(winrt::guid const& channelInterfaceType) const; }; template <> struct consume { 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; }; } #endif