//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.ApplicationModel.Core.idl";
import "Windows.System.idl";
import "Windows.UI.Core.idl";
import "Windows.UI.Input.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Core
        {
            runtimeclass CoreApplicationView;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass DispatcherQueue;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            runtimeclass CoreDispatcher;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            runtimeclass RadialController;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Core
            {
                interface IRadialControllerIndependentInputSource;

                interface IRadialControllerIndependentInputSource2;

                interface IRadialControllerIndependentInputSourceStatics;

                runtimeclass RadialControllerIndependentInputSource;
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            namespace Core
            {
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Core.RadialControllerIndependentInputSource)]
                [uuid(3D577EF6-4CEE-11E6-B535-001BDC06AB3B)]
                interface IRadialControllerIndependentInputSource : IInspectable
                {
                    [propget] HRESULT Controller([out] [retval] Windows.UI.Input.RadialController** value);
                    [propget] HRESULT Dispatcher([out] [retval] Windows.UI.Core.CoreDispatcher** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                [exclusiveto(Windows.UI.Input.Core.RadialControllerIndependentInputSource)]
                [uuid(7073AAD8-35F3-4EEB-8751-BE4D0A66FAF4)]
                interface IRadialControllerIndependentInputSource2 : IInspectable
                {
                    [propget] HRESULT DispatcherQueue([out] [retval] Windows.System.DispatcherQueue** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Input.Core.RadialControllerIndependentInputSource)]
                [uuid(3D577EF5-4CEE-11E6-B535-001BDC06AB3B)]
                interface IRadialControllerIndependentInputSourceStatics : IInspectable
                {
                    HRESULT CreateForView([in] Windows.ApplicationModel.Core.CoreApplicationView* view, [out] [retval] Windows.UI.Input.Core.RadialControllerIndependentInputSource** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Input.Core.IRadialControllerIndependentInputSourceStatics, Windows.Foundation.UniversalApiContract, 4.0)]
                runtimeclass RadialControllerIndependentInputSource
                {
                    [default] interface Windows.UI.Input.Core.IRadialControllerIndependentInputSource;
                    [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.Input.Core.IRadialControllerIndependentInputSource2;
                }
            }
        }
    }
}
