diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2003-11-19 14:34:18 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2003-11-19 14:34:18 (GMT) |
commit | 28ecf70db57828db2ca279643bf9aeca7662f35c (patch) | |
tree | 09b7767bbc411f85313b58d6fe7e5e67d9392973 /Mac/Contrib/BBPy/source/BBPy_launch.c | |
parent | 6045b9c93511c767f6cfa2d2fa299c76181acd9b (diff) | |
download | cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.zip cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.gz cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.bz2 |
Getting rid of support for MacOS9 and earlier. This is the first step,
and the biggest in size, but probably the easiest. Hunting through the
source code comes next.
Diffstat (limited to 'Mac/Contrib/BBPy/source/BBPy_launch.c')
-rw-r--r-- | Mac/Contrib/BBPy/source/BBPy_launch.c | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/Mac/Contrib/BBPy/source/BBPy_launch.c b/Mac/Contrib/BBPy/source/BBPy_launch.c deleted file mode 100644 index f9b964c..0000000 --- a/Mac/Contrib/BBPy/source/BBPy_launch.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Launch the PythonSlave.py script. - * This works exactly as if you'd double clicked on the file in the Finder, which - * not surprisingly is how its implemented (via the AppleEvents route of course). - * - * Largely based on code submitted by Mark Roseman <roseman@cpsc.ucalgary.ca> - * Thanks! - */ - -#include "BBPy.h" - -pascal Boolean MyFileFilter(CInfoPBPtr PB); -FileFilterUPP gMyFileFilterUPP = NULL; - -Boolean GetPythonSlaveSpec(FSSpec * docSpec) { - StandardFileReply reply; - SFTypeList typeList; - - typeList[0] = 'TEXT'; - - //if (!gMyFileFilterUPP) - gMyFileFilterUPP = NewFileFilterProc( MyFileFilter ); - - StandardGetFile(gMyFileFilterUPP, 0, typeList, &reply); - - DisposePtr((Ptr)gMyFileFilterUPP); - - if(!reply.sfGood) - return 0; /* user cancelled */ - - docSpec->vRefNum = reply.sfFile.vRefNum; - docSpec->parID = reply.sfFile.parID; - BlockMove(reply.sfFile.name, docSpec->name, 64); - return 1; -} - -pascal Boolean MyFileFilter(CInfoPBPtr PB) { - OSType fType; /* file type */ - OSType fCreator; /* file creator */ - - fType =((HParmBlkPtr)PB)->fileParam.ioFlFndrInfo.fdType; - fCreator = ((HParmBlkPtr)PB)->fileParam.ioFlFndrInfo.fdCreator; - - if (fType == 'TEXT' && - fCreator == 'Pyth') - return 0; - return 1; -} - -OSErr LaunchPythonSlave(FSSpec * docSpec) { - OSErr err; - FSSpec dirSpec; - AEAddressDesc finderAddress; - AppleEvent theEvent, theReply; - OSType finderSig = 'MACS'; - AliasHandle DirAlias, FileAlias; - AEDesc fileList; - AEDesc aeDirDesc, listElem; - - err = AECreateDesc(typeApplSignature, (Ptr)&finderSig, 4, &finderAddress); - if(err != noErr) return err; - - err = AECreateAppleEvent('FNDR', 'sope', &finderAddress, - kAutoGenerateReturnID, kAnyTransactionID, &theEvent); - if(err != noErr) return err; - - FSMakeFSSpec(docSpec->vRefNum, docSpec->parID, NULL, &dirSpec); - NewAlias(NULL, &dirSpec, &DirAlias); - NewAlias(NULL, docSpec, &FileAlias); - err = AECreateList(NULL, 0, 0, &fileList); - HLock((Handle)DirAlias); - AECreateDesc(typeAlias, (Ptr)*DirAlias, GetHandleSize((Handle)DirAlias), &aeDirDesc); - HUnlock((Handle)DirAlias); - if ((err = AEPutParamDesc(&theEvent, keyDirectObject, &aeDirDesc)) == noErr) { - AEDisposeDesc(&aeDirDesc); - HLock((Handle)FileAlias); - AECreateDesc(typeAlias, (Ptr)*FileAlias, GetHandleSize((Handle)FileAlias), &listElem); - HLock((Handle)FileAlias); - err = AEPutDesc(&fileList, 0, &listElem); - } - AEDisposeDesc(&listElem); - err = AEPutParamDesc(&theEvent, 'fsel', &fileList); - AEDisposeDesc(&fileList); - - err = AESend(&theEvent, &theReply, kAENoReply+kAENeverInteract, - kAENormalPriority, kAEDefaultTimeout, 0L, 0L); - if(err != noErr) return err; - - err = AEDisposeDesc(&theEvent); - if(err != noErr) return err; - - err = AEDisposeDesc(&theReply); - return err; -} |