// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Devices_Gpio_Provider_0_H #define WINRT_Windows_Devices_Gpio_Provider_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; } WINRT_EXPORT namespace winrt::Windows::Devices::Gpio::Provider { enum class ProviderGpioPinDriveMode : int32_t { Input = 0, Output = 1, InputPullUp = 2, InputPullDown = 3, OutputOpenDrain = 4, OutputOpenDrainPullUp = 5, OutputOpenSource = 6, OutputOpenSourcePullDown = 7, }; enum class ProviderGpioPinEdge : int32_t { FallingEdge = 0, RisingEdge = 1, }; enum class ProviderGpioPinValue : int32_t { Low = 0, High = 1, }; enum class ProviderGpioSharingMode : int32_t { Exclusive = 0, SharedReadOnly = 1, }; struct IGpioControllerProvider; struct IGpioPinProvider; struct IGpioPinProviderValueChangedEventArgs; struct IGpioPinProviderValueChangedEventArgsFactory; struct IGpioProvider; struct GpioPinProviderValueChangedEventArgs; } 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 = class_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.GpioPinProviderValueChangedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.ProviderGpioPinDriveMode"; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.ProviderGpioPinEdge"; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.ProviderGpioPinValue"; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.ProviderGpioSharingMode"; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.IGpioControllerProvider"; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.IGpioPinProvider"; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.IGpioPinProviderValueChangedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.IGpioPinProviderValueChangedEventArgsFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Gpio.Provider.IGpioProvider"; template <> inline constexpr guid guid_v{ 0xAD11CEC7,0x19EA,0x4B21,{ 0x87,0x4F,0xB9,0x1A,0xED,0x4A,0x25,0xDB } }; // AD11CEC7-19EA-4B21-874F-B91AED4A25DB template <> inline constexpr guid guid_v{ 0x42344CB7,0x6ABC,0x40FF,{ 0x9C,0xE7,0x73,0xB8,0x53,0x01,0xB9,0x00 } }; // 42344CB7-6ABC-40FF-9CE7-73B85301B900 template <> inline constexpr guid guid_v{ 0x32A6D6F2,0x3D5B,0x44CD,{ 0x8F,0xBE,0x13,0xA6,0x9F,0x2E,0xDB,0x24 } }; // 32A6D6F2-3D5B-44CD-8FBE-13A69F2EDB24 template <> inline constexpr guid guid_v{ 0x3ECB0B59,0x568C,0x4392,{ 0xB2,0x4A,0x8A,0x59,0xA9,0x02,0xB1,0xF1 } }; // 3ECB0B59-568C-4392-B24A-8A59A902B1F1 template <> inline constexpr guid guid_v{ 0x44E82707,0x08CA,0x434A,{ 0xAF,0xE0,0xD6,0x15,0x80,0x44,0x6F,0x7E } }; // 44E82707-08CA-434A-AFE0-D61580446F7E template <> struct default_interface{ using type = winrt::Windows::Devices::Gpio::Provider::IGpioPinProviderValueChangedEventArgs; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_PinCount(int32_t*) noexcept = 0; virtual int32_t __stdcall OpenPinProvider(int32_t, int32_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_ValueChanged(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ValueChanged(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_DebounceTimeout(int64_t*) noexcept = 0; virtual int32_t __stdcall put_DebounceTimeout(int64_t) noexcept = 0; virtual int32_t __stdcall get_PinNumber(int32_t*) noexcept = 0; virtual int32_t __stdcall get_SharingMode(int32_t*) noexcept = 0; virtual int32_t __stdcall IsDriveModeSupported(int32_t, bool*) noexcept = 0; virtual int32_t __stdcall GetDriveMode(int32_t*) noexcept = 0; virtual int32_t __stdcall SetDriveMode(int32_t) noexcept = 0; virtual int32_t __stdcall Write(int32_t) noexcept = 0; virtual int32_t __stdcall Read(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Edge(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(int32_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetControllers(void**) noexcept = 0; }; }; template struct consume_Windows_Devices_Gpio_Provider_IGpioControllerProvider { [[nodiscard]] auto PinCount() const; auto OpenPinProvider(int32_t pin, winrt::Windows::Devices::Gpio::Provider::ProviderGpioSharingMode const& sharingMode) const; }; template <> struct consume { template using type = consume_Windows_Devices_Gpio_Provider_IGpioControllerProvider; }; template struct consume_Windows_Devices_Gpio_Provider_IGpioPinProvider { auto ValueChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using ValueChanged_revoker = impl::event_revoker::remove_ValueChanged>; [[nodiscard]] auto ValueChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto ValueChanged(winrt::event_token const& token) const noexcept; [[nodiscard]] auto DebounceTimeout() const; auto DebounceTimeout(winrt::Windows::Foundation::TimeSpan const& value) const; [[nodiscard]] auto PinNumber() const; [[nodiscard]] auto SharingMode() const; auto IsDriveModeSupported(winrt::Windows::Devices::Gpio::Provider::ProviderGpioPinDriveMode const& driveMode) const; auto GetDriveMode() const; auto SetDriveMode(winrt::Windows::Devices::Gpio::Provider::ProviderGpioPinDriveMode const& value) const; auto Write(winrt::Windows::Devices::Gpio::Provider::ProviderGpioPinValue const& value) const; auto Read() const; }; template <> struct consume { template using type = consume_Windows_Devices_Gpio_Provider_IGpioPinProvider; }; template struct consume_Windows_Devices_Gpio_Provider_IGpioPinProviderValueChangedEventArgs { [[nodiscard]] auto Edge() const; }; template <> struct consume { template using type = consume_Windows_Devices_Gpio_Provider_IGpioPinProviderValueChangedEventArgs; }; template struct consume_Windows_Devices_Gpio_Provider_IGpioPinProviderValueChangedEventArgsFactory { auto Create(winrt::Windows::Devices::Gpio::Provider::ProviderGpioPinEdge const& edge) const; }; template <> struct consume { template using type = consume_Windows_Devices_Gpio_Provider_IGpioPinProviderValueChangedEventArgsFactory; }; template struct consume_Windows_Devices_Gpio_Provider_IGpioProvider { auto GetControllers() const; }; template <> struct consume { template using type = consume_Windows_Devices_Gpio_Provider_IGpioProvider; }; } #endif