// C++/WinRT v2.0.250303.1

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#pragma once
#ifndef WINRT_Windows_Gaming_Input_Custom_1_H
#define WINRT_Windows_Gaming_Input_Custom_1_H
#include "winrt/impl/Windows.Gaming.Input.Custom.0.h"
WINRT_EXPORT namespace winrt::Windows::Gaming::Input::Custom
{
    struct WINRT_IMPL_EMPTY_BASES ICustomGameControllerFactory :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<ICustomGameControllerFactory>
    {
        ICustomGameControllerFactory(std::nullptr_t = nullptr) noexcept {}
        ICustomGameControllerFactory(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IGameControllerFactoryManagerStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IGameControllerFactoryManagerStatics>
    {
        IGameControllerFactoryManagerStatics(std::nullptr_t = nullptr) noexcept {}
        IGameControllerFactoryManagerStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IGameControllerFactoryManagerStatics2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IGameControllerFactoryManagerStatics2>,
        impl::require<winrt::Windows::Gaming::Input::Custom::IGameControllerFactoryManagerStatics2, winrt::Windows::Gaming::Input::Custom::IGameControllerFactoryManagerStatics>
    {
        IGameControllerFactoryManagerStatics2(std::nullptr_t = nullptr) noexcept {}
        IGameControllerFactoryManagerStatics2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IGameControllerInputSink :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IGameControllerInputSink>
    {
        IGameControllerInputSink(std::nullptr_t = nullptr) noexcept {}
        IGameControllerInputSink(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IGameControllerProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IGameControllerProvider>
    {
        IGameControllerProvider(std::nullptr_t = nullptr) noexcept {}
        IGameControllerProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IGipFirmwareUpdateResult :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IGipFirmwareUpdateResult>
    {
        IGipFirmwareUpdateResult(std::nullptr_t = nullptr) noexcept {}
        IGipFirmwareUpdateResult(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IGipGameControllerInputSink :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IGipGameControllerInputSink>,
        impl::require<winrt::Windows::Gaming::Input::Custom::IGipGameControllerInputSink, winrt::Windows::Gaming::Input::Custom::IGameControllerInputSink>
    {
        IGipGameControllerInputSink(std::nullptr_t = nullptr) noexcept {}
        IGipGameControllerInputSink(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IGipGameControllerProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IGipGameControllerProvider>,
        impl::require<winrt::Windows::Gaming::Input::Custom::IGipGameControllerProvider, winrt::Windows::Gaming::Input::Custom::IGameControllerProvider>
    {
        IGipGameControllerProvider(std::nullptr_t = nullptr) noexcept {}
        IGipGameControllerProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IHidGameControllerInputSink :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IHidGameControllerInputSink>,
        impl::require<winrt::Windows::Gaming::Input::Custom::IHidGameControllerInputSink, winrt::Windows::Gaming::Input::Custom::IGameControllerInputSink>
    {
        IHidGameControllerInputSink(std::nullptr_t = nullptr) noexcept {}
        IHidGameControllerInputSink(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IHidGameControllerProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IHidGameControllerProvider>,
        impl::require<winrt::Windows::Gaming::Input::Custom::IHidGameControllerProvider, winrt::Windows::Gaming::Input::Custom::IGameControllerProvider>
    {
        IHidGameControllerProvider(std::nullptr_t = nullptr) noexcept {}
        IHidGameControllerProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IXusbGameControllerInputSink :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IXusbGameControllerInputSink>,
        impl::require<winrt::Windows::Gaming::Input::Custom::IXusbGameControllerInputSink, winrt::Windows::Gaming::Input::Custom::IGameControllerInputSink>
    {
        IXusbGameControllerInputSink(std::nullptr_t = nullptr) noexcept {}
        IXusbGameControllerInputSink(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IXusbGameControllerProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IXusbGameControllerProvider>,
        impl::require<winrt::Windows::Gaming::Input::Custom::IXusbGameControllerProvider, winrt::Windows::Gaming::Input::Custom::IGameControllerProvider>
    {
        IXusbGameControllerProvider(std::nullptr_t = nullptr) noexcept {}
        IXusbGameControllerProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
}
#endif
