Ignore:
Timestamp:
Mar 19, 2014, 11:31:01 PM (11 years ago)
Author:
dmik
Message:

python: Merge vendor 2.7.6 to trunk.

Location:
python/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • python/trunk

  • python/trunk/Mac/Modules/launch/_Launchmodule.c

    r2 r391  
    1010/* Macro to test whether a weak-loaded CFM function exists */
    1111#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL )  {\
    12         PyErr_SetString(PyExc_NotImplementedError, \
    13         "Not available in this shared library/OS version"); \
    14         return NULL; \
     12    PyErr_SetString(PyExc_NotImplementedError, \
     13    "Not available in this shared library/OS version"); \
     14    return NULL; \
    1515    }} while(0)
    1616
     
    2828OptCFStringRefObj_Convert(PyObject *v, CFStringRef *spec)
    2929{
    30         if (v == Py_None) {
    31                 *spec = NULL;
    32                 return 1;
    33         }
    34         return CFStringRefObj_Convert(v, spec);
     30    if (v == Py_None) {
     31        *spec = NULL;
     32        return 1;
     33    }
     34    return CFStringRefObj_Convert(v, spec);
    3535}
    3636
     
    3838OptCFStringRefObj_New(CFStringRef it)
    3939{
    40         if (it == NULL) {
    41                 Py_INCREF(Py_None);
    42                 return Py_None;
    43         }
    44         return CFStringRefObj_New(it);
     40    if (it == NULL) {
     41        Py_INCREF(Py_None);
     42        return Py_None;
     43    }
     44    return CFStringRefObj_New(it);
    4545}
    4646
     
    5252{
    5353#ifndef __LP64__
    54         return Py_BuildValue("{s:is:O&s:O&s:O&s:O&s:i}",
    55                 "flags", it->flags,
    56                 "filetype", PyMac_BuildOSType, it->filetype,
    57                 "creator", PyMac_BuildOSType, it->creator,
    58                 "extension", OptCFStringRefObj_New, it->extension,
    59                 "iconFileName", OptCFStringRefObj_New, it->iconFileName,
    60                 "kindID", it->kindID);
     54    return Py_BuildValue("{s:is:O&s:O&s:O&s:O&s:i}",
     55        "flags", it->flags,
     56        "filetype", PyMac_BuildOSType, it->filetype,
     57        "creator", PyMac_BuildOSType, it->creator,
     58        "extension", OptCFStringRefObj_New, it->extension,
     59        "iconFileName", OptCFStringRefObj_New, it->iconFileName,
     60        "kindID", it->kindID);
    6161#else
    62         return Py_BuildValue("{s:is:O&s:O&s:O&}",
    63                 "flags", it->flags,
    64                 "filetype", PyMac_BuildOSType, it->filetype,
    65                 "creator", PyMac_BuildOSType, it->creator,
    66                 "extension", OptCFStringRefObj_New, it->extension);
     62    return Py_BuildValue("{s:is:O&s:O&s:O&}",
     63        "flags", it->flags,
     64        "filetype", PyMac_BuildOSType, it->filetype,
     65        "creator", PyMac_BuildOSType, it->creator,
     66        "extension", OptCFStringRefObj_New, it->extension);
    6767#endif
    6868}
     
    7272static PyObject *Launch_LSCopyItemInfoForRef(PyObject *_self, PyObject *_args)
    7373{
    74         PyObject *_res = NULL;
    75         OSStatus _err;
    76         FSRef inItemRef;
    77         LSRequestedInfo inWhichInfo;
    78         LSItemInfoRecord outItemInfo;
    79         if (!PyArg_ParseTuple(_args, "O&l",
    80                               PyMac_GetFSRef, &inItemRef,
    81                               &inWhichInfo))
    82                 return NULL;
    83         _err = LSCopyItemInfoForRef(&inItemRef,
    84                                     inWhichInfo,
    85                                     &outItemInfo);
    86         if (_err != noErr) return PyMac_Error(_err);
    87         _res = Py_BuildValue("O&",
    88                              LSItemInfoRecord_New, &outItemInfo);
    89         return _res;
     74    PyObject *_res = NULL;
     75    OSStatus _err;
     76    FSRef inItemRef;
     77    LSRequestedInfo inWhichInfo;
     78    LSItemInfoRecord outItemInfo;
     79    if (!PyArg_ParseTuple(_args, "O&l",
     80                          PyMac_GetFSRef, &inItemRef,
     81                          &inWhichInfo))
     82        return NULL;
     83    _err = LSCopyItemInfoForRef(&inItemRef,
     84                                inWhichInfo,
     85                                &outItemInfo);
     86    if (_err != noErr) return PyMac_Error(_err);
     87    _res = Py_BuildValue("O&",
     88                         LSItemInfoRecord_New, &outItemInfo);
     89    return _res;
    9090}
    9191
    9292static PyObject *Launch_LSCopyItemInfoForURL(PyObject *_self, PyObject *_args)
    9393{
    94         PyObject *_res = NULL;
    95         OSStatus _err;
    96         CFURLRef inURL;
    97         LSRequestedInfo inWhichInfo;
    98         LSItemInfoRecord outItemInfo;
    99         if (!PyArg_ParseTuple(_args, "O&l",
    100                               CFURLRefObj_Convert, &inURL,
    101                               &inWhichInfo))
    102                 return NULL;
    103         _err = LSCopyItemInfoForURL(inURL,
    104                                     inWhichInfo,
    105                                     &outItemInfo);
    106         if (_err != noErr) return PyMac_Error(_err);
    107         _res = Py_BuildValue("O&",
    108                              LSItemInfoRecord_New, &outItemInfo);
    109         return _res;
     94    PyObject *_res = NULL;
     95    OSStatus _err;
     96    CFURLRef inURL;
     97    LSRequestedInfo inWhichInfo;
     98    LSItemInfoRecord outItemInfo;
     99    if (!PyArg_ParseTuple(_args, "O&l",
     100                          CFURLRefObj_Convert, &inURL,
     101                          &inWhichInfo))
     102        return NULL;
     103    _err = LSCopyItemInfoForURL(inURL,
     104                                inWhichInfo,
     105                                &outItemInfo);
     106    if (_err != noErr) return PyMac_Error(_err);
     107    _res = Py_BuildValue("O&",
     108                         LSItemInfoRecord_New, &outItemInfo);
     109    return _res;
    110110}
    111111
    112112static PyObject *Launch_LSGetExtensionInfo(PyObject *_self, PyObject *_args)
    113113{
    114         PyObject *_res = NULL;
    115         OSStatus _err;
    116         UniChar *inNameLen__in__;
    117         UniCharCount inNameLen__len__;
    118         int inNameLen__in_len__;
    119         UniCharCount outExtStartIndex;
    120         if (!PyArg_ParseTuple(_args, "u#",
    121                               &inNameLen__in__, &inNameLen__in_len__))
    122                 return NULL;
    123         inNameLen__len__ = inNameLen__in_len__;
    124         _err = LSGetExtensionInfo(inNameLen__len__, inNameLen__in__,
    125                                   &outExtStartIndex);
    126         if (_err != noErr) return PyMac_Error(_err);
    127         _res = Py_BuildValue("l",
    128                              outExtStartIndex);
    129         return _res;
     114    PyObject *_res = NULL;
     115    OSStatus _err;
     116    UniChar *inNameLen__in__;
     117    UniCharCount inNameLen__len__;
     118    int inNameLen__in_len__;
     119    UniCharCount outExtStartIndex;
     120    if (!PyArg_ParseTuple(_args, "u#",
     121                          &inNameLen__in__, &inNameLen__in_len__))
     122        return NULL;
     123    inNameLen__len__ = inNameLen__in_len__;
     124    _err = LSGetExtensionInfo(inNameLen__len__, inNameLen__in__,
     125                              &outExtStartIndex);
     126    if (_err != noErr) return PyMac_Error(_err);
     127    _res = Py_BuildValue("l",
     128                         outExtStartIndex);
     129    return _res;
    130130}
    131131
    132132static PyObject *Launch_LSCopyDisplayNameForRef(PyObject *_self, PyObject *_args)
    133133{
    134         PyObject *_res = NULL;
    135         OSStatus _err;
    136         FSRef inRef;
    137         CFStringRef outDisplayName;
    138         if (!PyArg_ParseTuple(_args, "O&",
    139                               PyMac_GetFSRef, &inRef))
    140                 return NULL;
    141         _err = LSCopyDisplayNameForRef(&inRef,
    142                                        &outDisplayName);
    143         if (_err != noErr) return PyMac_Error(_err);
    144         _res = Py_BuildValue("O&",
    145                              CFStringRefObj_New, outDisplayName);
    146         return _res;
     134    PyObject *_res = NULL;
     135    OSStatus _err;
     136    FSRef inRef;
     137    CFStringRef outDisplayName;
     138    if (!PyArg_ParseTuple(_args, "O&",
     139                          PyMac_GetFSRef, &inRef))
     140        return NULL;
     141    _err = LSCopyDisplayNameForRef(&inRef,
     142                                   &outDisplayName);
     143    if (_err != noErr) return PyMac_Error(_err);
     144    _res = Py_BuildValue("O&",
     145                         CFStringRefObj_New, outDisplayName);
     146    return _res;
    147147}
    148148
    149149static PyObject *Launch_LSCopyDisplayNameForURL(PyObject *_self, PyObject *_args)
    150150{
    151         PyObject *_res = NULL;
    152         OSStatus _err;
    153         CFURLRef inURL;
    154         CFStringRef outDisplayName;
    155         if (!PyArg_ParseTuple(_args, "O&",
    156                               CFURLRefObj_Convert, &inURL))
    157                 return NULL;
    158         _err = LSCopyDisplayNameForURL(inURL,
    159                                        &outDisplayName);
    160         if (_err != noErr) return PyMac_Error(_err);
    161         _res = Py_BuildValue("O&",
    162                              CFStringRefObj_New, outDisplayName);
    163         return _res;
     151    PyObject *_res = NULL;
     152    OSStatus _err;
     153    CFURLRef inURL;
     154    CFStringRef outDisplayName;
     155    if (!PyArg_ParseTuple(_args, "O&",
     156                          CFURLRefObj_Convert, &inURL))
     157        return NULL;
     158    _err = LSCopyDisplayNameForURL(inURL,
     159                                   &outDisplayName);
     160    if (_err != noErr) return PyMac_Error(_err);
     161    _res = Py_BuildValue("O&",
     162                         CFStringRefObj_New, outDisplayName);
     163    return _res;
    164164}
    165165
    166166static PyObject *Launch_LSSetExtensionHiddenForRef(PyObject *_self, PyObject *_args)
    167167{
    168         PyObject *_res = NULL;
    169         OSStatus _err;
    170         FSRef inRef;
    171         Boolean inHide;
    172         if (!PyArg_ParseTuple(_args, "O&b",
    173                               PyMac_GetFSRef, &inRef,
    174                               &inHide))
    175                 return NULL;
    176         _err = LSSetExtensionHiddenForRef(&inRef,
    177                                           inHide);
    178         if (_err != noErr) return PyMac_Error(_err);
    179         Py_INCREF(Py_None);
    180         _res = Py_None;
    181         return _res;
     168    PyObject *_res = NULL;
     169    OSStatus _err;
     170    FSRef inRef;
     171    Boolean inHide;
     172    if (!PyArg_ParseTuple(_args, "O&b",
     173                          PyMac_GetFSRef, &inRef,
     174                          &inHide))
     175        return NULL;
     176    _err = LSSetExtensionHiddenForRef(&inRef,
     177                                      inHide);
     178    if (_err != noErr) return PyMac_Error(_err);
     179    Py_INCREF(Py_None);
     180    _res = Py_None;
     181    return _res;
    182182}
    183183
    184184static PyObject *Launch_LSSetExtensionHiddenForURL(PyObject *_self, PyObject *_args)
    185185{
    186         PyObject *_res = NULL;
    187         OSStatus _err;
    188         CFURLRef inURL;
    189         Boolean inHide;
    190         if (!PyArg_ParseTuple(_args, "O&b",
    191                               CFURLRefObj_Convert, &inURL,
    192                               &inHide))
    193                 return NULL;
    194         _err = LSSetExtensionHiddenForURL(inURL,
    195                                           inHide);
    196         if (_err != noErr) return PyMac_Error(_err);
    197         Py_INCREF(Py_None);
    198         _res = Py_None;
    199         return _res;
     186    PyObject *_res = NULL;
     187    OSStatus _err;
     188    CFURLRef inURL;
     189    Boolean inHide;
     190    if (!PyArg_ParseTuple(_args, "O&b",
     191                          CFURLRefObj_Convert, &inURL,
     192                          &inHide))
     193        return NULL;
     194    _err = LSSetExtensionHiddenForURL(inURL,
     195                                      inHide);
     196    if (_err != noErr) return PyMac_Error(_err);
     197    Py_INCREF(Py_None);
     198    _res = Py_None;
     199    return _res;
    200200}
    201201
    202202static PyObject *Launch_LSCopyKindStringForRef(PyObject *_self, PyObject *_args)
    203203{
    204         PyObject *_res = NULL;
    205         OSStatus _err;
    206         FSRef inFSRef;
    207         CFStringRef outKindString;
    208         if (!PyArg_ParseTuple(_args, "O&",
    209                               PyMac_GetFSRef, &inFSRef))
    210                 return NULL;
    211         _err = LSCopyKindStringForRef(&inFSRef,
    212                                       &outKindString);
    213         if (_err != noErr) return PyMac_Error(_err);
    214         _res = Py_BuildValue("O&",
    215                              CFStringRefObj_New, outKindString);
    216         return _res;
     204    PyObject *_res = NULL;
     205    OSStatus _err;
     206    FSRef inFSRef;
     207    CFStringRef outKindString;
     208    if (!PyArg_ParseTuple(_args, "O&",
     209                          PyMac_GetFSRef, &inFSRef))
     210        return NULL;
     211    _err = LSCopyKindStringForRef(&inFSRef,
     212                                  &outKindString);
     213    if (_err != noErr) return PyMac_Error(_err);
     214    _res = Py_BuildValue("O&",
     215                         CFStringRefObj_New, outKindString);
     216    return _res;
    217217}
    218218
    219219static PyObject *Launch_LSCopyKindStringForURL(PyObject *_self, PyObject *_args)
    220220{
    221         PyObject *_res = NULL;
    222         OSStatus _err;
    223         CFURLRef inURL;
    224         CFStringRef outKindString;
    225         if (!PyArg_ParseTuple(_args, "O&",
    226                               CFURLRefObj_Convert, &inURL))
    227                 return NULL;
    228         _err = LSCopyKindStringForURL(inURL,
    229                                       &outKindString);
    230         if (_err != noErr) return PyMac_Error(_err);
    231         _res = Py_BuildValue("O&",
    232                              CFStringRefObj_New, outKindString);
    233         return _res;
     221    PyObject *_res = NULL;
     222    OSStatus _err;
     223    CFURLRef inURL;
     224    CFStringRef outKindString;
     225    if (!PyArg_ParseTuple(_args, "O&",
     226                          CFURLRefObj_Convert, &inURL))
     227        return NULL;
     228    _err = LSCopyKindStringForURL(inURL,
     229                                  &outKindString);
     230    if (_err != noErr) return PyMac_Error(_err);
     231    _res = Py_BuildValue("O&",
     232                         CFStringRefObj_New, outKindString);
     233    return _res;
    234234}
    235235
    236236static PyObject *Launch_LSGetApplicationForItem(PyObject *_self, PyObject *_args)
    237237{
    238         PyObject *_res = NULL;
    239         OSStatus _err;
    240         FSRef inItemRef;
    241         LSRolesMask inRoleMask;
    242         FSRef outAppRef;
    243         CFURLRef outAppURL;
    244         if (!PyArg_ParseTuple(_args, "O&l",
    245                               PyMac_GetFSRef, &inItemRef,
    246                               &inRoleMask))
    247                 return NULL;
    248         _err = LSGetApplicationForItem(&inItemRef,
    249                                        inRoleMask,
    250                                        &outAppRef,
    251                                        &outAppURL);
    252         if (_err != noErr) return PyMac_Error(_err);
    253         _res = Py_BuildValue("O&O&",
    254                              PyMac_BuildFSRef, &outAppRef,
    255                              CFURLRefObj_New, outAppURL);
    256         return _res;
     238    PyObject *_res = NULL;
     239    OSStatus _err;
     240    FSRef inItemRef;
     241    LSRolesMask inRoleMask;
     242    FSRef outAppRef;
     243    CFURLRef outAppURL;
     244    if (!PyArg_ParseTuple(_args, "O&l",
     245                          PyMac_GetFSRef, &inItemRef,
     246                          &inRoleMask))
     247        return NULL;
     248    _err = LSGetApplicationForItem(&inItemRef,
     249                                   inRoleMask,
     250                                   &outAppRef,
     251                                   &outAppURL);
     252    if (_err != noErr) return PyMac_Error(_err);
     253    _res = Py_BuildValue("O&O&",
     254                         PyMac_BuildFSRef, &outAppRef,
     255                         CFURLRefObj_New, outAppURL);
     256    return _res;
    257257}
    258258
    259259static PyObject *Launch_LSGetApplicationForInfo(PyObject *_self, PyObject *_args)
    260260{
    261         PyObject *_res = NULL;
    262         OSStatus _err;
    263         OSType inType;
    264         OSType inCreator;
    265         CFStringRef inExtension;
    266         LSRolesMask inRoleMask;
    267         FSRef outAppRef;
    268         CFURLRef outAppURL;
    269         if (!PyArg_ParseTuple(_args, "O&O&O&l",
    270                               PyMac_GetOSType, &inType,
    271                               PyMac_GetOSType, &inCreator,
    272                               OptCFStringRefObj_Convert, &inExtension,
    273                               &inRoleMask))
    274                 return NULL;
    275         _err = LSGetApplicationForInfo(inType,
    276                                        inCreator,
    277                                        inExtension,
    278                                        inRoleMask,
    279                                        &outAppRef,
    280                                        &outAppURL);
    281         if (_err != noErr) return PyMac_Error(_err);
    282         _res = Py_BuildValue("O&O&",
    283                              PyMac_BuildFSRef, &outAppRef,
    284                              CFURLRefObj_New, outAppURL);
    285         return _res;
     261    PyObject *_res = NULL;
     262    OSStatus _err;
     263    OSType inType;
     264    OSType inCreator;
     265    CFStringRef inExtension;
     266    LSRolesMask inRoleMask;
     267    FSRef outAppRef;
     268    CFURLRef outAppURL;
     269    if (!PyArg_ParseTuple(_args, "O&O&O&l",
     270                          PyMac_GetOSType, &inType,
     271                          PyMac_GetOSType, &inCreator,
     272                          OptCFStringRefObj_Convert, &inExtension,
     273                          &inRoleMask))
     274        return NULL;
     275    _err = LSGetApplicationForInfo(inType,
     276                                   inCreator,
     277                                   inExtension,
     278                                   inRoleMask,
     279                                   &outAppRef,
     280                                   &outAppURL);
     281    if (_err != noErr) return PyMac_Error(_err);
     282    _res = Py_BuildValue("O&O&",
     283                         PyMac_BuildFSRef, &outAppRef,
     284                         CFURLRefObj_New, outAppURL);
     285    return _res;
    286286}
    287287
    288288static PyObject *Launch_LSGetApplicationForURL(PyObject *_self, PyObject *_args)
    289289{
    290         PyObject *_res = NULL;
    291         OSStatus _err;
    292         CFURLRef inURL;
    293         LSRolesMask inRoleMask;
    294         FSRef outAppRef;
    295         CFURLRef outAppURL;
    296         if (!PyArg_ParseTuple(_args, "O&l",
    297                               CFURLRefObj_Convert, &inURL,
    298                               &inRoleMask))
    299                 return NULL;
    300         _err = LSGetApplicationForURL(inURL,
    301                                       inRoleMask,
    302                                       &outAppRef,
    303                                       &outAppURL);
    304         if (_err != noErr) return PyMac_Error(_err);
    305         _res = Py_BuildValue("O&O&",
    306                              PyMac_BuildFSRef, &outAppRef,
    307                              CFURLRefObj_New, outAppURL);
    308         return _res;
     290    PyObject *_res = NULL;
     291    OSStatus _err;
     292    CFURLRef inURL;
     293    LSRolesMask inRoleMask;
     294    FSRef outAppRef;
     295    CFURLRef outAppURL;
     296    if (!PyArg_ParseTuple(_args, "O&l",
     297                          CFURLRefObj_Convert, &inURL,
     298                          &inRoleMask))
     299        return NULL;
     300    _err = LSGetApplicationForURL(inURL,
     301                                  inRoleMask,
     302                                  &outAppRef,
     303                                  &outAppURL);
     304    if (_err != noErr) return PyMac_Error(_err);
     305    _res = Py_BuildValue("O&O&",
     306                         PyMac_BuildFSRef, &outAppRef,
     307                         CFURLRefObj_New, outAppURL);
     308    return _res;
    309309}
    310310
    311311static PyObject *Launch_LSFindApplicationForInfo(PyObject *_self, PyObject *_args)
    312312{
    313         PyObject *_res = NULL;
    314         OSStatus _err;
    315         OSType inCreator;
    316         CFStringRef inBundleID;
    317         CFStringRef inName;
    318         FSRef outAppRef;
    319         CFURLRef outAppURL;
    320         if (!PyArg_ParseTuple(_args, "O&O&O&",
    321                               PyMac_GetOSType, &inCreator,
    322                               OptCFStringRefObj_Convert, &inBundleID,
    323                               OptCFStringRefObj_Convert, &inName))
    324                 return NULL;
    325         _err = LSFindApplicationForInfo(inCreator,
    326                                         inBundleID,
    327                                         inName,
    328                                         &outAppRef,
    329                                         &outAppURL);
    330         if (_err != noErr) return PyMac_Error(_err);
    331         _res = Py_BuildValue("O&O&",
    332                              PyMac_BuildFSRef, &outAppRef,
    333                              CFURLRefObj_New, outAppURL);
    334         return _res;
     313    PyObject *_res = NULL;
     314    OSStatus _err;
     315    OSType inCreator;
     316    CFStringRef inBundleID;
     317    CFStringRef inName;
     318    FSRef outAppRef;
     319    CFURLRef outAppURL;
     320    if (!PyArg_ParseTuple(_args, "O&O&O&",
     321                          PyMac_GetOSType, &inCreator,
     322                          OptCFStringRefObj_Convert, &inBundleID,
     323                          OptCFStringRefObj_Convert, &inName))
     324        return NULL;
     325    _err = LSFindApplicationForInfo(inCreator,
     326                                    inBundleID,
     327                                    inName,
     328                                    &outAppRef,
     329                                    &outAppURL);
     330    if (_err != noErr) return PyMac_Error(_err);
     331    _res = Py_BuildValue("O&O&",
     332                         PyMac_BuildFSRef, &outAppRef,
     333                         CFURLRefObj_New, outAppURL);
     334    return _res;
    335335}
    336336
    337337static PyObject *Launch_LSCanRefAcceptItem(PyObject *_self, PyObject *_args)
    338338{
    339         PyObject *_res = NULL;
    340         OSStatus _err;
    341         FSRef inItemFSRef;
    342         FSRef inTargetRef;
    343         LSRolesMask inRoleMask;
    344         LSAcceptanceFlags inFlags;
    345         Boolean outAcceptsItem;
    346         if (!PyArg_ParseTuple(_args, "O&O&ll",
    347                               PyMac_GetFSRef, &inItemFSRef,
    348                               PyMac_GetFSRef, &inTargetRef,
    349                               &inRoleMask,
    350                               &inFlags))
    351                 return NULL;
    352         _err = LSCanRefAcceptItem(&inItemFSRef,
    353                                   &inTargetRef,
    354                                   inRoleMask,
    355                                   inFlags,
    356                                   &outAcceptsItem);
    357         if (_err != noErr) return PyMac_Error(_err);
    358         _res = Py_BuildValue("b",
    359                              outAcceptsItem);
    360         return _res;
     339    PyObject *_res = NULL;
     340    OSStatus _err;
     341    FSRef inItemFSRef;
     342    FSRef inTargetRef;
     343    LSRolesMask inRoleMask;
     344    LSAcceptanceFlags inFlags;
     345    Boolean outAcceptsItem;
     346    if (!PyArg_ParseTuple(_args, "O&O&ll",
     347                          PyMac_GetFSRef, &inItemFSRef,
     348                          PyMac_GetFSRef, &inTargetRef,
     349                          &inRoleMask,
     350                          &inFlags))
     351        return NULL;
     352    _err = LSCanRefAcceptItem(&inItemFSRef,
     353                              &inTargetRef,
     354                              inRoleMask,
     355                              inFlags,
     356                              &outAcceptsItem);
     357    if (_err != noErr) return PyMac_Error(_err);
     358    _res = Py_BuildValue("b",
     359                         outAcceptsItem);
     360    return _res;
    361361}
    362362
    363363static PyObject *Launch_LSCanURLAcceptURL(PyObject *_self, PyObject *_args)
    364364{
    365         PyObject *_res = NULL;
    366         OSStatus _err;
    367         CFURLRef inItemURL;
    368         CFURLRef inTargetURL;
    369         LSRolesMask inRoleMask;
    370         LSAcceptanceFlags inFlags;
    371         Boolean outAcceptsItem;
    372         if (!PyArg_ParseTuple(_args, "O&O&ll",
    373                               CFURLRefObj_Convert, &inItemURL,
    374                               CFURLRefObj_Convert, &inTargetURL,
    375                               &inRoleMask,
    376                               &inFlags))
    377                 return NULL;
    378         _err = LSCanURLAcceptURL(inItemURL,
    379                                  inTargetURL,
    380                                  inRoleMask,
    381                                  inFlags,
    382                                  &outAcceptsItem);
    383         if (_err != noErr) return PyMac_Error(_err);
    384         _res = Py_BuildValue("b",
    385                              outAcceptsItem);
    386         return _res;
     365    PyObject *_res = NULL;
     366    OSStatus _err;
     367    CFURLRef inItemURL;
     368    CFURLRef inTargetURL;
     369    LSRolesMask inRoleMask;
     370    LSAcceptanceFlags inFlags;
     371    Boolean outAcceptsItem;
     372    if (!PyArg_ParseTuple(_args, "O&O&ll",
     373                          CFURLRefObj_Convert, &inItemURL,
     374                          CFURLRefObj_Convert, &inTargetURL,
     375                          &inRoleMask,
     376                          &inFlags))
     377        return NULL;
     378    _err = LSCanURLAcceptURL(inItemURL,
     379                             inTargetURL,
     380                             inRoleMask,
     381                             inFlags,
     382                             &outAcceptsItem);
     383    if (_err != noErr) return PyMac_Error(_err);
     384    _res = Py_BuildValue("b",
     385                         outAcceptsItem);
     386    return _res;
    387387}
    388388
    389389static PyObject *Launch_LSOpenFSRef(PyObject *_self, PyObject *_args)
    390390{
    391         PyObject *_res = NULL;
    392         OSStatus _err;
    393         FSRef inRef;
    394         FSRef outLaunchedRef;
    395         if (!PyArg_ParseTuple(_args, "O&",
    396                               PyMac_GetFSRef, &inRef))
    397                 return NULL;
    398         _err = LSOpenFSRef(&inRef,
    399                            &outLaunchedRef);
    400         if (_err != noErr) return PyMac_Error(_err);
    401         _res = Py_BuildValue("O&",
    402                              PyMac_BuildFSRef, &outLaunchedRef);
    403         return _res;
     391    PyObject *_res = NULL;
     392    OSStatus _err;
     393    FSRef inRef;
     394    FSRef outLaunchedRef;
     395    if (!PyArg_ParseTuple(_args, "O&",
     396                          PyMac_GetFSRef, &inRef))
     397        return NULL;
     398    _err = LSOpenFSRef(&inRef,
     399                       &outLaunchedRef);
     400    if (_err != noErr) return PyMac_Error(_err);
     401    _res = Py_BuildValue("O&",
     402                         PyMac_BuildFSRef, &outLaunchedRef);
     403    return _res;
    404404}
    405405
    406406static PyObject *Launch_LSOpenCFURLRef(PyObject *_self, PyObject *_args)
    407407{
    408         PyObject *_res = NULL;
    409         OSStatus _err;
    410         CFURLRef inURL;
    411         CFURLRef outLaunchedURL;
    412         if (!PyArg_ParseTuple(_args, "O&",
    413                               CFURLRefObj_Convert, &inURL))
    414                 return NULL;
    415         _err = LSOpenCFURLRef(inURL,
    416                               &outLaunchedURL);
    417         if (_err != noErr) return PyMac_Error(_err);
    418         _res = Py_BuildValue("O&",
    419                              CFURLRefObj_New, outLaunchedURL);
    420         return _res;
     408    PyObject *_res = NULL;
     409    OSStatus _err;
     410    CFURLRef inURL;
     411    CFURLRef outLaunchedURL;
     412    if (!PyArg_ParseTuple(_args, "O&",
     413                          CFURLRefObj_Convert, &inURL))
     414        return NULL;
     415    _err = LSOpenCFURLRef(inURL,
     416                          &outLaunchedURL);
     417    if (_err != noErr) return PyMac_Error(_err);
     418    _res = Py_BuildValue("O&",
     419                         CFURLRefObj_New, outLaunchedURL);
     420    return _res;
    421421}
    422422
    423423static PyMethodDef Launch_methods[] = {
    424         {"LSCopyItemInfoForRef", (PyCFunction)Launch_LSCopyItemInfoForRef, 1,
    425         PyDoc_STR("(FSRef inItemRef, LSRequestedInfo inWhichInfo) -> (LSItemInfoRecord outItemInfo)")},
    426         {"LSCopyItemInfoForURL", (PyCFunction)Launch_LSCopyItemInfoForURL, 1,
    427         PyDoc_STR("(CFURLRef inURL, LSRequestedInfo inWhichInfo) -> (LSItemInfoRecord outItemInfo)")},
    428         {"LSGetExtensionInfo", (PyCFunction)Launch_LSGetExtensionInfo, 1,
    429         PyDoc_STR("(Buffer inNameLen) -> (UniCharCount outExtStartIndex)")},
    430         {"LSCopyDisplayNameForRef", (PyCFunction)Launch_LSCopyDisplayNameForRef, 1,
    431         PyDoc_STR("(FSRef inRef) -> (CFStringRef outDisplayName)")},
    432         {"LSCopyDisplayNameForURL", (PyCFunction)Launch_LSCopyDisplayNameForURL, 1,
    433         PyDoc_STR("(CFURLRef inURL) -> (CFStringRef outDisplayName)")},
    434         {"LSSetExtensionHiddenForRef", (PyCFunction)Launch_LSSetExtensionHiddenForRef, 1,
    435         PyDoc_STR("(FSRef inRef, Boolean inHide) -> None")},
    436         {"LSSetExtensionHiddenForURL", (PyCFunction)Launch_LSSetExtensionHiddenForURL, 1,
    437         PyDoc_STR("(CFURLRef inURL, Boolean inHide) -> None")},
    438         {"LSCopyKindStringForRef", (PyCFunction)Launch_LSCopyKindStringForRef, 1,
    439         PyDoc_STR("(FSRef inFSRef) -> (CFStringRef outKindString)")},
    440         {"LSCopyKindStringForURL", (PyCFunction)Launch_LSCopyKindStringForURL, 1,
    441         PyDoc_STR("(CFURLRef inURL) -> (CFStringRef outKindString)")},
    442         {"LSGetApplicationForItem", (PyCFunction)Launch_LSGetApplicationForItem, 1,
    443         PyDoc_STR("(FSRef inItemRef, LSRolesMask inRoleMask) -> (FSRef outAppRef, CFURLRef outAppURL)")},
    444         {"LSGetApplicationForInfo", (PyCFunction)Launch_LSGetApplicationForInfo, 1,
    445         PyDoc_STR("(OSType inType, OSType inCreator, CFStringRef inExtension, LSRolesMask inRoleMask) -> (FSRef outAppRef, CFURLRef outAppURL)")},
    446         {"LSGetApplicationForURL", (PyCFunction)Launch_LSGetApplicationForURL, 1,
    447         PyDoc_STR("(CFURLRef inURL, LSRolesMask inRoleMask) -> (FSRef outAppRef, CFURLRef outAppURL)")},
    448         {"LSFindApplicationForInfo", (PyCFunction)Launch_LSFindApplicationForInfo, 1,
    449         PyDoc_STR("(OSType inCreator, CFStringRef inBundleID, CFStringRef inName) -> (FSRef outAppRef, CFURLRef outAppURL)")},
    450         {"LSCanRefAcceptItem", (PyCFunction)Launch_LSCanRefAcceptItem, 1,
    451         PyDoc_STR("(FSRef inItemFSRef, FSRef inTargetRef, LSRolesMask inRoleMask, LSAcceptanceFlags inFlags) -> (Boolean outAcceptsItem)")},
    452         {"LSCanURLAcceptURL", (PyCFunction)Launch_LSCanURLAcceptURL, 1,
    453         PyDoc_STR("(CFURLRef inItemURL, CFURLRef inTargetURL, LSRolesMask inRoleMask, LSAcceptanceFlags inFlags) -> (Boolean outAcceptsItem)")},
    454         {"LSOpenFSRef", (PyCFunction)Launch_LSOpenFSRef, 1,
    455         PyDoc_STR("(FSRef inRef) -> (FSRef outLaunchedRef)")},
    456         {"LSOpenCFURLRef", (PyCFunction)Launch_LSOpenCFURLRef, 1,
    457         PyDoc_STR("(CFURLRef inURL) -> (CFURLRef outLaunchedURL)")},
    458         {NULL, NULL, 0}
     424    {"LSCopyItemInfoForRef", (PyCFunction)Launch_LSCopyItemInfoForRef, 1,
     425    PyDoc_STR("(FSRef inItemRef, LSRequestedInfo inWhichInfo) -> (LSItemInfoRecord outItemInfo)")},
     426    {"LSCopyItemInfoForURL", (PyCFunction)Launch_LSCopyItemInfoForURL, 1,
     427    PyDoc_STR("(CFURLRef inURL, LSRequestedInfo inWhichInfo) -> (LSItemInfoRecord outItemInfo)")},
     428    {"LSGetExtensionInfo", (PyCFunction)Launch_LSGetExtensionInfo, 1,
     429    PyDoc_STR("(Buffer inNameLen) -> (UniCharCount outExtStartIndex)")},
     430    {"LSCopyDisplayNameForRef", (PyCFunction)Launch_LSCopyDisplayNameForRef, 1,
     431    PyDoc_STR("(FSRef inRef) -> (CFStringRef outDisplayName)")},
     432    {"LSCopyDisplayNameForURL", (PyCFunction)Launch_LSCopyDisplayNameForURL, 1,
     433    PyDoc_STR("(CFURLRef inURL) -> (CFStringRef outDisplayName)")},
     434    {"LSSetExtensionHiddenForRef", (PyCFunction)Launch_LSSetExtensionHiddenForRef, 1,
     435    PyDoc_STR("(FSRef inRef, Boolean inHide) -> None")},
     436    {"LSSetExtensionHiddenForURL", (PyCFunction)Launch_LSSetExtensionHiddenForURL, 1,
     437    PyDoc_STR("(CFURLRef inURL, Boolean inHide) -> None")},
     438    {"LSCopyKindStringForRef", (PyCFunction)Launch_LSCopyKindStringForRef, 1,
     439    PyDoc_STR("(FSRef inFSRef) -> (CFStringRef outKindString)")},
     440    {"LSCopyKindStringForURL", (PyCFunction)Launch_LSCopyKindStringForURL, 1,
     441    PyDoc_STR("(CFURLRef inURL) -> (CFStringRef outKindString)")},
     442    {"LSGetApplicationForItem", (PyCFunction)Launch_LSGetApplicationForItem, 1,
     443    PyDoc_STR("(FSRef inItemRef, LSRolesMask inRoleMask) -> (FSRef outAppRef, CFURLRef outAppURL)")},
     444    {"LSGetApplicationForInfo", (PyCFunction)Launch_LSGetApplicationForInfo, 1,
     445    PyDoc_STR("(OSType inType, OSType inCreator, CFStringRef inExtension, LSRolesMask inRoleMask) -> (FSRef outAppRef, CFURLRef outAppURL)")},
     446    {"LSGetApplicationForURL", (PyCFunction)Launch_LSGetApplicationForURL, 1,
     447    PyDoc_STR("(CFURLRef inURL, LSRolesMask inRoleMask) -> (FSRef outAppRef, CFURLRef outAppURL)")},
     448    {"LSFindApplicationForInfo", (PyCFunction)Launch_LSFindApplicationForInfo, 1,
     449    PyDoc_STR("(OSType inCreator, CFStringRef inBundleID, CFStringRef inName) -> (FSRef outAppRef, CFURLRef outAppURL)")},
     450    {"LSCanRefAcceptItem", (PyCFunction)Launch_LSCanRefAcceptItem, 1,
     451    PyDoc_STR("(FSRef inItemFSRef, FSRef inTargetRef, LSRolesMask inRoleMask, LSAcceptanceFlags inFlags) -> (Boolean outAcceptsItem)")},
     452    {"LSCanURLAcceptURL", (PyCFunction)Launch_LSCanURLAcceptURL, 1,
     453    PyDoc_STR("(CFURLRef inItemURL, CFURLRef inTargetURL, LSRolesMask inRoleMask, LSAcceptanceFlags inFlags) -> (Boolean outAcceptsItem)")},
     454    {"LSOpenFSRef", (PyCFunction)Launch_LSOpenFSRef, 1,
     455    PyDoc_STR("(FSRef inRef) -> (FSRef outLaunchedRef)")},
     456    {"LSOpenCFURLRef", (PyCFunction)Launch_LSOpenCFURLRef, 1,
     457    PyDoc_STR("(CFURLRef inURL) -> (CFURLRef outLaunchedURL)")},
     458    {NULL, NULL, 0}
    459459};
    460460
     
    464464void init_Launch(void)
    465465{
    466         PyObject *m;
    467         PyObject *d;
    468 
    469 
    470 
    471 
    472         m = Py_InitModule("_Launch", Launch_methods);
    473         d = PyModule_GetDict(m);
    474         Launch_Error = PyMac_GetOSErrException();
    475         if (Launch_Error == NULL ||
    476             PyDict_SetItemString(d, "Error", Launch_Error) != 0)
    477                 return;
     466    PyObject *m;
     467    PyObject *d;
     468
     469
     470
     471
     472    m = Py_InitModule("_Launch", Launch_methods);
     473    d = PyModule_GetDict(m);
     474    Launch_Error = PyMac_GetOSErrException();
     475    if (Launch_Error == NULL ||
     476        PyDict_SetItemString(d, "Error", Launch_Error) != 0)
     477        return;
    478478}
    479479
Note: See TracChangeset for help on using the changeset viewer.