//
// 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.Devices.Sensors.idl";

// Forward Declare
namespace Windows
{
    namespace Devices
    {
        namespace Sensors
        {
            typedef enum SimpleOrientation SimpleOrientation;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace System
    {
        namespace Preview
        {
            typedef enum HingeState HingeState;

            interface ITwoPanelHingedDevicePosturePreview;

            interface ITwoPanelHingedDevicePosturePreviewReading;

            interface ITwoPanelHingedDevicePosturePreviewReadingChangedEventArgs;

            interface ITwoPanelHingedDevicePosturePreviewStatics;

            runtimeclass TwoPanelHingedDevicePosturePreview;

            runtimeclass TwoPanelHingedDevicePosturePreviewReading;

            runtimeclass TwoPanelHingedDevicePosturePreviewReadingChangedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace System
    {
        namespace Preview
        {
            declare
            {
                interface Windows.Foundation.IAsyncOperation<Windows.System.Preview.TwoPanelHingedDevicePosturePreview*>;

                interface Windows.Foundation.IAsyncOperation<Windows.System.Preview.TwoPanelHingedDevicePosturePreviewReading*>;

                interface Windows.Foundation.TypedEventHandler<Windows.System.Preview.TwoPanelHingedDevicePosturePreview*, Windows.System.Preview.TwoPanelHingedDevicePosturePreviewReadingChangedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace System
    {
        namespace Preview
        {
            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [deprecated("HingeState is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)]
            enum HingeState
            {
                Unknown = 0,
                Closed  = 1,
                Concave = 2,
                Flat    = 3,
                Convex  = 4,
                Full    = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [deprecated("TwoPanelHingedDevicePosturePreview is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.System.Preview.TwoPanelHingedDevicePosturePreview)]
            [uuid(72245C31-4B39-42A6-8E73-7235ADE16853)]
            interface ITwoPanelHingedDevicePosturePreview : IInspectable
            {
                [deprecated("TwoPanelHingedDevicePosturePreview is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] HRESULT GetCurrentPostureAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.Preview.TwoPanelHingedDevicePosturePreviewReading*>** value);
                [deprecated("TwoPanelHingedDevicePosturePreview is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [eventadd] HRESULT PostureChanged([in] Windows.Foundation.TypedEventHandler<Windows.System.Preview.TwoPanelHingedDevicePosturePreview*, Windows.System.Preview.TwoPanelHingedDevicePosturePreviewReadingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [deprecated("TwoPanelHingedDevicePosturePreview is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [eventremove] HRESULT PostureChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [deprecated("TwoPanelHingedDevicePosturePreviewReading is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.System.Preview.TwoPanelHingedDevicePosturePreviewReading)]
            [uuid(A0251452-4AD6-4B38-8426-C59A15493A7D)]
            interface ITwoPanelHingedDevicePosturePreviewReading : IInspectable
            {
                [deprecated("TwoPanelHingedDevicePosturePreviewReading is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                [deprecated("TwoPanelHingedDevicePosturePreviewReading is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT HingeState([out] [retval] Windows.System.Preview.HingeState* value);
                [deprecated("TwoPanelHingedDevicePosturePreviewReading is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT Panel1Orientation([out] [retval] Windows.Devices.Sensors.SimpleOrientation* value);
                [deprecated("TwoPanelHingedDevicePosturePreviewReading is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT Panel1Id([out] [retval] HSTRING* value);
                [deprecated("TwoPanelHingedDevicePosturePreviewReading is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT Panel2Orientation([out] [retval] Windows.Devices.Sensors.SimpleOrientation* value);
                [deprecated("TwoPanelHingedDevicePosturePreviewReading is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT Panel2Id([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [deprecated("TwoPanelHingedDevicePosturePreviewReadingChangedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.System.Preview.TwoPanelHingedDevicePosturePreviewReadingChangedEventArgs)]
            [uuid(2D2D1BC6-02CE-474A-A556-A75B1CF93A03)]
            interface ITwoPanelHingedDevicePosturePreviewReadingChangedEventArgs : IInspectable
            {
                [deprecated("TwoPanelHingedDevicePosturePreviewReadingChangedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] [propget] HRESULT Reading([out] [retval] Windows.System.Preview.TwoPanelHingedDevicePosturePreviewReading** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [deprecated("TwoPanelHingedDevicePosturePreview is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.System.Preview.TwoPanelHingedDevicePosturePreview)]
            [uuid(0C4733D2-57E0-4180-BD5E-F31A2138423E)]
            interface ITwoPanelHingedDevicePosturePreviewStatics : IInspectable
            {
                [deprecated("TwoPanelHingedDevicePosturePreview is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)] HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.System.Preview.TwoPanelHingedDevicePosturePreview*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [deprecated("TwoPanelHingedDevicePosturePreview is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)]
            [marshaling_behavior(agile)]
            [static(Windows.System.Preview.ITwoPanelHingedDevicePosturePreviewStatics, Windows.Foundation.UniversalApiContract, 7.0)]
            [threading(both)]
            runtimeclass TwoPanelHingedDevicePosturePreview
            {
                [default] interface Windows.System.Preview.ITwoPanelHingedDevicePosturePreview;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [deprecated("TwoPanelHingedDevicePosturePreviewReading is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TwoPanelHingedDevicePosturePreviewReading
            {
                [default] interface Windows.System.Preview.ITwoPanelHingedDevicePosturePreviewReading;
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [deprecated("TwoPanelHingedDevicePosturePreviewReadingChangedEventArgs is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 10.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TwoPanelHingedDevicePosturePreviewReadingChangedEventArgs
            {
                [default] interface Windows.System.Preview.ITwoPanelHingedDevicePosturePreviewReadingChangedEventArgs;
            }
        }
    }
}
