# WARNING: Please don't edit this file. It was generated by Python/WinRT v1.0.0-beta.7

import enum

import winsdk

_ns_module = winsdk._import_ns_module("Windows.Media.Miracast")

try:
    import winsdk.windows.applicationmodel.core
except ImportError:
    pass

try:
    import winsdk.windows.foundation
except ImportError:
    pass

try:
    import winsdk.windows.foundation.collections
except ImportError:
    pass

try:
    import winsdk.windows.graphics
except ImportError:
    pass

try:
    import winsdk.windows.media.core
except ImportError:
    pass

try:
    import winsdk.windows.storage.streams
except ImportError:
    pass

class MiracastReceiverApplySettingsStatus(enum.IntEnum):
    SUCCESS = 0
    UNKNOWN_FAILURE = 1
    MIRACAST_NOT_SUPPORTED = 2
    ACCESS_DENIED = 3
    FRIENDLY_NAME_TOO_LONG = 4
    MODEL_NAME_TOO_LONG = 5
    MODEL_NUMBER_TOO_LONG = 6
    INVALID_SETTINGS = 7

class MiracastReceiverAuthorizationMethod(enum.IntEnum):
    NONE = 0
    CONFIRM_CONNECTION = 1
    PIN_DISPLAY_IF_REQUESTED = 2
    PIN_DISPLAY_REQUIRED = 3

class MiracastReceiverDisconnectReason(enum.IntEnum):
    FINISHED = 0
    APP_SPECIFIC_ERROR = 1
    CONNECTION_NOT_ACCEPTED = 2
    DISCONNECTED_BY_USER = 3
    FAILED_TO_START_STREAMING = 4
    MEDIA_DECODING_ERROR = 5
    MEDIA_STREAMING_ERROR = 6
    MEDIA_DECRYPTION_ERROR = 7

class MiracastReceiverGameControllerDeviceUsageMode(enum.IntEnum):
    AS_GAME_CONTROLLER = 0
    AS_MOUSE_AND_KEYBOARD = 1

class MiracastReceiverListeningStatus(enum.IntEnum):
    NOT_LISTENING = 0
    LISTENING = 1
    CONNECTION_PENDING = 2
    CONNECTED = 3
    DISABLED_BY_POLICY = 4
    TEMPORARILY_DISABLED = 5

class MiracastReceiverSessionStartStatus(enum.IntEnum):
    SUCCESS = 0
    UNKNOWN_FAILURE = 1
    MIRACAST_NOT_SUPPORTED = 2
    ACCESS_DENIED = 3

class MiracastReceiverWiFiStatus(enum.IntEnum):
    MIRACAST_SUPPORT_UNDETERMINED = 0
    MIRACAST_NOT_SUPPORTED = 1
    MIRACAST_SUPPORT_NOT_OPTIMIZED = 2
    MIRACAST_SUPPORTED = 3

class MiracastTransmitterAuthorizationStatus(enum.IntEnum):
    UNDECIDED = 0
    ALLOWED = 1
    ALWAYS_PROMPT = 2
    BLOCKED = 3

_ns_module._register_MiracastReceiverApplySettingsStatus(MiracastReceiverApplySettingsStatus)
_ns_module._register_MiracastReceiverAuthorizationMethod(MiracastReceiverAuthorizationMethod)
_ns_module._register_MiracastReceiverDisconnectReason(MiracastReceiverDisconnectReason)
_ns_module._register_MiracastReceiverGameControllerDeviceUsageMode(MiracastReceiverGameControllerDeviceUsageMode)
_ns_module._register_MiracastReceiverListeningStatus(MiracastReceiverListeningStatus)
_ns_module._register_MiracastReceiverSessionStartStatus(MiracastReceiverSessionStartStatus)
_ns_module._register_MiracastReceiverWiFiStatus(MiracastReceiverWiFiStatus)
_ns_module._register_MiracastTransmitterAuthorizationStatus(MiracastTransmitterAuthorizationStatus)

MiracastReceiver = _ns_module.MiracastReceiver
MiracastReceiverApplySettingsResult = _ns_module.MiracastReceiverApplySettingsResult
MiracastReceiverConnection = _ns_module.MiracastReceiverConnection
MiracastReceiverConnectionCreatedEventArgs = _ns_module.MiracastReceiverConnectionCreatedEventArgs
MiracastReceiverCursorImageChannel = _ns_module.MiracastReceiverCursorImageChannel
MiracastReceiverCursorImageChannelSettings = _ns_module.MiracastReceiverCursorImageChannelSettings
MiracastReceiverDisconnectedEventArgs = _ns_module.MiracastReceiverDisconnectedEventArgs
MiracastReceiverGameControllerDevice = _ns_module.MiracastReceiverGameControllerDevice
MiracastReceiverInputDevices = _ns_module.MiracastReceiverInputDevices
MiracastReceiverKeyboardDevice = _ns_module.MiracastReceiverKeyboardDevice
MiracastReceiverMediaSourceCreatedEventArgs = _ns_module.MiracastReceiverMediaSourceCreatedEventArgs
MiracastReceiverSession = _ns_module.MiracastReceiverSession
MiracastReceiverSessionStartResult = _ns_module.MiracastReceiverSessionStartResult
MiracastReceiverSettings = _ns_module.MiracastReceiverSettings
MiracastReceiverStatus = _ns_module.MiracastReceiverStatus
MiracastReceiverStreamControl = _ns_module.MiracastReceiverStreamControl
MiracastReceiverVideoStreamSettings = _ns_module.MiracastReceiverVideoStreamSettings
MiracastTransmitter = _ns_module.MiracastTransmitter
