# This file is generated by objective.metadata
#
# Last update: Sun Mar 22 08:55:13 2020
#
# flake8: noqa

import objc, sys

if sys.maxsize > 2 ** 32:

    def sel32or64(a, b):
        return b


else:

    def sel32or64(a, b):
        return a


misc = {}
misc.update(
    {
        "DRBurnSessionProgressDialogOptions": objc.createStructType(
            "DRBurnSessionProgressDialogOptions",
            sel32or64(
                b"{DRBurnSessionProgressDialogOptions=LL^{__CFString=}}",
                b"{DRBurnSessionProgressDialogOptions=II^{__CFString=}}",
            ),
            ["version", "dialogOptionFlags", "description"],
        ),
        "DREraseSessionSetupDialogOptions": objc.createStructType(
            "DREraseSessionSetupDialogOptions",
            sel32or64(
                b"{DREraseSessionSetupDialogOptions=LL}",
                b"{DREraseSessionSetupDialogOptions=II}",
            ),
            ["version", "dialogOptionFlags"],
        ),
        "DREraseSessionProgressDialogOptions": objc.createStructType(
            "DREraseSessionProgressDialogOptions",
            sel32or64(
                b"{DREraseSessionProgressDialogOptions=LL^{__CFString=}}",
                b"{DREraseSessionProgressDialogOptions=II^{__CFString=}}",
            ),
            ["version", "dialogOptionFlags", "description"],
        ),
        "DRBurnSessionSetupDialogOptions": objc.createStructType(
            "DRBurnSessionSetupDialogOptions",
            sel32or64(
                b"{DRBurnSessionSetupDialogOptions=LL^{__CFString=}}",
                b"{DRBurnSessionSetupDialogOptions=II^{__CFString=}}",
            ),
            ["version", "dialogOptionFlags", "defaultButtonTitle"],
        ),
    }
)
constants = """$DRBurnIcon$DRBurnProgressPanelDidFinishNotification$DRBurnProgressPanelWillBeginNotification$DRBurnSetupPanelDefaultButtonDefaultTitle$DREraseIcon$DREraseProgressPanelDidFinishNotification$DREraseProgressPanelWillBeginNotification$DRSetupPanelDeviceSelectionChangedNotification$DRSetupPanelSelectedDeviceKey$"""
enums = """$kBurnSessionProgressDialogDefaultOptions@0$kBurnSessionProgressDialogDisplayVerboseProgress@1$kBurnSessionProgressDialogOptionsCurrentVersion@1$kBurnSessionSetupDialogAllowTestBurns@2147483652$kBurnSessionSetupDialogDefaultOptions@0$kBurnSessionSetupDialogDontHandleReservations@2$kBurnSessionSetupDialogForceClosedDiscs@1$kBurnSessionSetupDialogOptionsCurrentVersion@1$kDRBurnProgressSetupCallbacksCurrentVersion@1$kDRBurnSessionCancel@0$kDRBurnSessionOK@1$kDRBurnSessionSetupCallbacksCurrentVersion@1$kDREraseProgressSetupCallbacksCurrentVersion@1$kDREraseSessionCancel@0$kDREraseSessionOK@1$kDREraseSessionSetupCallbacksCurrentVersion@1$kEraseSessionProgressDialogDefaultOptions@0$kEraseSessionProgressDialogOptionsCurrentVersion@1$kEraseSessionSetupDialogDefaultOptions@0$kEraseSessionSetupDialogDontHandleReservations@1$kEraseSessionSetupDialogOptionsCurrentVersion@1$"""
misc.update({})
functions = {
    "DRBurnSessionSetBurn": (b"v^{__DRBurnSession=}^{__DRBurn=}",),
    "DRBurnSessionCreate": (
        b"^{__DRBurnSession=}",
        "",
        {"retval": {"already_cfretained": True}},
    ),
    "DREraseSessionSetupDialog": (
        sel32or64(
            b"c^{__DREraseSession=}^{DREraseSessionSetupDialogOptions=LL}^{DREraseSessionSetupCallbacks=L^?^?^?}",
            b"c^{__DREraseSession=}^{DREraseSessionSetupDialogOptions=II}^{DREraseSessionSetupCallbacks=I^?^?^?}",
        ),
        "",
        {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "n"}}},
    ),
    "DRBurnSessionGetTypeID": (sel32or64(b"L", b"Q"),),
    "DREraseSessionCreate": (
        b"^{__DREraseSession=}",
        "",
        {"retval": {"already_cfretained": True}},
    ),
    "DREraseSessionGetTypeID": (sel32or64(b"L", b"Q"),),
    "DRBurnSessionSetupDialog": (
        sel32or64(
            b"c^{__DRBurnSession=}^{DRBurnSessionSetupDialogOptions=LL^{__CFString=}}^{DRBurnSessionSetupCallbacks=L^?^?^?}",
            b"c^{__DRBurnSession=}^{DRBurnSessionSetupDialogOptions=II^{__CFString=}}^{DRBurnSessionSetupCallbacks=I^?^?^?}",
        ),
        "",
        {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "n"}}},
    ),
    "DRBurnSessionGetBurn": (b"^{__DRBurn=}^{__DRBurnSession=}",),
    "DREraseSessionGetErase": (b"^{__DRErase=}^{__DREraseSession=}",),
    "DREraseSessionBeginProgressDialog": (
        sel32or64(
            b"v^{__DREraseSession=}^{DREraseSessionProgressDialogOptions=LL^{__CFString=}}^{DREraseSessionProgressCallbacks=L^?^?^?}",
            b"v^{__DREraseSession=}^{DREraseSessionProgressDialogOptions=II^{__CFString=}}^{DREraseSessionProgressCallbacks=I^?^?^?}",
        ),
        "",
        {"arguments": {1: {"type_modifier": "n"}, 2: {"type_modifier": "n"}}},
    ),
    "DREraseSessionSetErase": (b"v^{__DREraseSession=}^{__DRErase=}",),
    "DRBurnSessionBeginProgressDialog": (
        sel32or64(
            b"v^{__DRBurnSession=}@^{DRBurnSessionProgressDialogOptions=LL^{__CFString=}}^{DRBurnSessionProgressCallbacks=L^?^?^?}",
            b"v^{__DRBurnSession=}@^{DRBurnSessionProgressDialogOptions=II^{__CFString=}}^{DRBurnSessionProgressCallbacks=I^?^?^?}",
        ),
        "",
        {"arguments": {2: {"type_modifier": "n"}, 3: {"type_modifier": "n"}}},
    ),
}
cftypes = [
    ("DRBurnSessionRef", b"^{__DRBurnSession=}", None, None),
    ("DREraseSessionRef", b"^{__DREraseSession=}", None, None),
]
r = objc.registerMetaDataForSelector
objc._updatingMetadata(True)
try:
    r(
        b"DRBurnProgressPanel",
        b"setVerboseProgressStatus:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(b"DRBurnProgressPanel", b"verboseProgressStatus", {"retval": {"type": b"Z"}})
    r(
        b"DRBurnSetupPanel",
        b"setCanSelectAppendableMedia:",
        {"arguments": {2: {"type": b"Z"}}},
    )
    r(b"DRBurnSetupPanel", b"setCanSelectTestBurn:", {"arguments": {2: {"type": b"Z"}}})
    r(b"DRSetupPanel", b"mediaStateChanged:", {"retval": {"type": b"Z"}})
    r(
        b"NSObject",
        b"burnProgressPanel:burnDidFinish:",
        {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"burnProgressPanelDidFinish:",
        {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"burnProgressPanelWillBegin:",
        {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"eraseProgressPanel:eraseDidFinish:",
        {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"eraseProgressPanelDidFinish:",
        {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"eraseProgressPanelWillBegin:",
        {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"setupPanel:determineBestDeviceOfA:orB:",
        {
            "retval": {"type": b"@"},
            "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"@"}},
        },
    )
    r(
        b"NSObject",
        b"setupPanel:deviceContainsSuitableMedia:promptString:",
        {
            "retval": {"type": b"Z"},
            "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}, 4: {"type": b"^@"}},
        },
    )
    r(
        b"NSObject",
        b"setupPanel:deviceCouldBeTarget:",
        {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}, 3: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"setupPanelDeviceSelectionChanged:",
        {"retval": {"type": b"v"}, "arguments": {2: {"type": b"@"}}},
    )
    r(
        b"NSObject",
        b"setupPanelShouldHandleMediaReservations:",
        {"retval": {"type": b"Z"}, "arguments": {2: {"type": b"@"}}},
    )
finally:
    objc._updatingMetadata(False)
protocols = {
    "DRBurnProgressPanelDelegateMethods": objc.informal_protocol(
        "DRBurnProgressPanelDelegateMethods",
        [
            objc.selector(
                None, b"burnProgressPanelDidFinish:", b"v@:@", isRequired=False
            ),
            objc.selector(
                None, b"burnProgressPanelWillBegin:", b"v@:@", isRequired=False
            ),
            objc.selector(
                None, b"burnProgressPanel:burnDidFinish:", b"Z@:@@", isRequired=False
            ),
        ],
    ),
    "DRSetupPanelDelegate": objc.informal_protocol(
        "DRSetupPanelDelegate",
        [
            objc.selector(
                None,
                b"setupPanel:deviceContainsSuitableMedia:promptString:",
                b"Z@:@@^@",
                isRequired=False,
            ),
            objc.selector(
                None, b"setupPanel:deviceCouldBeTarget:", b"Z@:@@", isRequired=False
            ),
            objc.selector(
                None,
                b"setupPanelShouldHandleMediaReservations:",
                b"Z@:@",
                isRequired=False,
            ),
            objc.selector(
                None, b"setupPanelDeviceSelectionChanged:", b"v@:@", isRequired=False
            ),
            objc.selector(
                None,
                b"setupPanel:determineBestDeviceOfA:orB:",
                b"@@:@@@",
                isRequired=False,
            ),
        ],
    ),
    "DREraseProgressPanelDelegateMethods": objc.informal_protocol(
        "DREraseProgressPanelDelegateMethods",
        [
            objc.selector(
                None, b"eraseProgressPanelWillBegin:", b"v@:@", isRequired=False
            ),
            objc.selector(
                None, b"eraseProgressPanel:eraseDidFinish:", b"Z@:@@", isRequired=False
            ),
            objc.selector(
                None, b"eraseProgressPanelDidFinish:", b"v@:@", isRequired=False
            ),
        ],
    ),
}
expressions = {}

# END OF FILE
