# WARNING: Please don't edit this file. It was generated by Python/WinRT v3.0.0

import enum

import winrt.system
from winrt._winrt_windows_devices_enumeration import (
    DeviceAccessChangedEventArgs,
    DeviceAccessInformation,
    DeviceConnectionChangeTriggerDetails,
    DeviceDisconnectButtonClickedEventArgs,
    DeviceInformation,
    DeviceInformationCollection,
    DeviceInformationCustomPairing,
    DeviceInformationPairing,
    DeviceInformationUpdate,
    DevicePairingRequestedEventArgs,
    DevicePairingResult,
    DevicePairingSetMembersRequestedEventArgs,
    DevicePicker,
    DevicePickerAppearance,
    DevicePickerFilter,
    DeviceSelectedEventArgs,
    DeviceThumbnail,
    DeviceUnpairingResult,
    DeviceWatcher,
    DeviceWatcherEvent,
    DeviceWatcherTriggerDetails,
    EnclosureLocation,
    _IDeviceEnumerationSettings,
    IDeviceEnumerationSettings,
    _IDevicePairingSettings,
    IDevicePairingSettings,
)

__all__ = [
    "DeviceAccessStatus",
    "DeviceClass",
    "DeviceInformationKind",
    "DevicePairingAddPairingSetMemberStatus",
    "DevicePairingKinds",
    "DevicePairingProtectionLevel",
    "DevicePairingResultStatus",
    "DevicePickerDisplayStatusOptions",
    "DeviceUnpairingResultStatus",
    "DeviceWatcherEventKind",
    "DeviceWatcherStatus",
    "Panel",
    "DeviceAccessChangedEventArgs",
    "DeviceAccessInformation",
    "DeviceConnectionChangeTriggerDetails",
    "DeviceDisconnectButtonClickedEventArgs",
    "DeviceInformation",
    "DeviceInformationCollection",
    "DeviceInformationCustomPairing",
    "DeviceInformationPairing",
    "DeviceInformationUpdate",
    "DevicePairingRequestedEventArgs",
    "DevicePairingResult",
    "DevicePairingSetMembersRequestedEventArgs",
    "DevicePicker",
    "DevicePickerAppearance",
    "DevicePickerFilter",
    "DeviceSelectedEventArgs",
    "DeviceThumbnail",
    "DeviceUnpairingResult",
    "DeviceWatcher",
    "DeviceWatcherEvent",
    "DeviceWatcherTriggerDetails",
    "EnclosureLocation",
    "IDeviceEnumerationSettings",
    "IDevicePairingSettings",
]

class DeviceAccessStatus(enum.IntEnum):
    UNSPECIFIED = 0
    ALLOWED = 1
    DENIED_BY_USER = 2
    DENIED_BY_SYSTEM = 3

class DeviceClass(enum.IntEnum):
    ALL = 0
    AUDIO_CAPTURE = 1
    AUDIO_RENDER = 2
    PORTABLE_STORAGE_DEVICE = 3
    VIDEO_CAPTURE = 4
    IMAGE_SCANNER = 5
    LOCATION = 6

class DeviceInformationKind(enum.IntEnum):
    UNKNOWN = 0
    DEVICE_INTERFACE = 1
    DEVICE_CONTAINER = 2
    DEVICE = 3
    DEVICE_INTERFACE_CLASS = 4
    ASSOCIATION_ENDPOINT = 5
    ASSOCIATION_ENDPOINT_CONTAINER = 6
    ASSOCIATION_ENDPOINT_SERVICE = 7
    DEVICE_PANEL = 8
    ASSOCIATION_ENDPOINT_PROTOCOL = 9

class DevicePairingAddPairingSetMemberStatus(enum.IntEnum):
    ADDED_TO_SET = 0
    COULD_NOT_BE_ADDED_TO_SET = 1
    SET_DISCOVERY_NOT_ATTEMPTED_BY_PROTOCOL = 2
    SET_DISCOVERY_COMPLETED_BY_PROTOCOL = 3
    SET_DISCOVERY_PARTIALLY_COMPLETED_BY_PROTOCOL = 4
    FAILED = 5

class DevicePairingKinds(enum.IntFlag):
    NONE = 0x0
    CONFIRM_ONLY = 0x1
    DISPLAY_PIN = 0x2
    PROVIDE_PIN = 0x4
    CONFIRM_PIN_MATCH = 0x8
    PROVIDE_PASSWORD_CREDENTIAL = 0x10
    PROVIDE_ADDRESS = 0x20

class DevicePairingProtectionLevel(enum.IntEnum):
    DEFAULT = 0
    NONE = 1
    ENCRYPTION = 2
    ENCRYPTION_AND_AUTHENTICATION = 3

class DevicePairingResultStatus(enum.IntEnum):
    PAIRED = 0
    NOT_READY_TO_PAIR = 1
    NOT_PAIRED = 2
    ALREADY_PAIRED = 3
    CONNECTION_REJECTED = 4
    TOO_MANY_CONNECTIONS = 5
    HARDWARE_FAILURE = 6
    AUTHENTICATION_TIMEOUT = 7
    AUTHENTICATION_NOT_ALLOWED = 8
    AUTHENTICATION_FAILURE = 9
    NO_SUPPORTED_PROFILES = 10
    PROTECTION_LEVEL_COULD_NOT_BE_MET = 11
    ACCESS_DENIED = 12
    INVALID_CEREMONY_DATA = 13
    PAIRING_CANCELED = 14
    OPERATION_ALREADY_IN_PROGRESS = 15
    REQUIRED_HANDLER_NOT_REGISTERED = 16
    REJECTED_BY_HANDLER = 17
    REMOTE_DEVICE_HAS_ASSOCIATION = 18
    FAILED = 19

class DevicePickerDisplayStatusOptions(enum.IntFlag):
    NONE = 0x0
    SHOW_PROGRESS = 0x1
    SHOW_DISCONNECT_BUTTON = 0x2
    SHOW_RETRY_BUTTON = 0x4

class DeviceUnpairingResultStatus(enum.IntEnum):
    UNPAIRED = 0
    ALREADY_UNPAIRED = 1
    OPERATION_ALREADY_IN_PROGRESS = 2
    ACCESS_DENIED = 3
    FAILED = 4

class DeviceWatcherEventKind(enum.IntEnum):
    ADD = 0
    UPDATE = 1
    REMOVE = 2

class DeviceWatcherStatus(enum.IntEnum):
    CREATED = 0
    STARTED = 1
    ENUMERATION_COMPLETED = 2
    STOPPING = 3
    STOPPED = 4
    ABORTED = 5

class Panel(enum.IntEnum):
    UNKNOWN = 0
    FRONT = 1
    BACK = 2
    TOP = 3
    BOTTOM = 4
    LEFT = 5
    RIGHT = 6

winrt.system._mixin_sequence(DeviceInformationCollection)
