summaryrefslogtreecommitdiffstats
path: root/Mac/Contrib/BBPy/source/BBPy_launch.c
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2003-11-19 14:34:18 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2003-11-19 14:34:18 (GMT)
commit28ecf70db57828db2ca279643bf9aeca7662f35c (patch)
tree09b7767bbc411f85313b58d6fe7e5e67d9392973 /Mac/Contrib/BBPy/source/BBPy_launch.c
parent6045b9c93511c767f6cfa2d2fa299c76181acd9b (diff)
downloadcpython-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.c94
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;
-}