Added glue routine for PyMac_BuildFSSpec, PyMac_GetFSRef and PyMac_BuildFSRef.

Moved the declarations to pymactoolbox.h.
This commit is contained in:
Jack Jansen 2001-09-01 23:39:58 +00:00
parent 62d24a0f50
commit fabd00fa91
4 changed files with 18 additions and 8 deletions

View File

@ -88,7 +88,11 @@ PyObject *PyMac_Buildwide(wide *); /* Convert wide to PyObject */
#endif /* USE_TOOLBOX_OBJECT_GLUE */ #endif /* USE_TOOLBOX_OBJECT_GLUE */
/* macfs exports */ /* macfs exports */
extern int PyMac_GetFSSpec(PyObject *, FSSpec *); int PyMac_GetFSSpec(PyObject *, FSSpec *); /* argument parser for FSSpec */
PyObject *PyMac_BuildFSSpec(FSSpec *); /* Convert FSSpec to PyObject */
int PyMac_GetFSRef(PyObject *, FSRef *); /* argument parser for FSRef */
PyObject *PyMac_BuildFSRef(FSRef *); /* Convert FSRef to PyObject */
/* AE exports */ /* AE exports */
extern PyObject *AEDesc_New(AppleEvent *); /* XXXX Why passed by address?? */ extern PyObject *AEDesc_New(AppleEvent *); /* XXXX Why passed by address?? */

View File

@ -102,13 +102,6 @@ void PyMac_Initialize(void); /* Initialize function for embedding Python */
short PyMac_OpenPrefFile(void); /* From macgetpath.c, open and return preference file */ short PyMac_OpenPrefFile(void); /* From macgetpath.c, open and return preference file */
#endif #endif
/* from macfsmodule.c: */
int PyMac_GetFSSpec(PyObject *, FSSpec *); /* argument parser for FSSpec */
PyObject *PyMac_BuildFSSpec(FSSpec *); /* Convert FSSpec to PyObject */
int PyMac_GetFSRef(PyObject *, FSRef *); /* argument parser for FSRef */
PyObject *PyMac_BuildFSRef(FSRef *); /* Convert FSRef to PyObject */
/* From macfiletype.c: */ /* From macfiletype.c: */

View File

@ -41,7 +41,13 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifdef USE_TOOLBOX_OBJECT_GLUE #ifdef USE_TOOLBOX_OBJECT_GLUE
extern int _PyMac_GetFSSpec(PyObject *, FSSpec *); extern int _PyMac_GetFSSpec(PyObject *, FSSpec *);
extern PyObject *_PyMac_BuildFSRef(FSRef *);
extern int _PyMac_GetFSSpec(PyObject *, FSSpec *);
extern PyObject *_PyMac_BuildFSRef(FSRef *);
#define PyMac_GetFSSpec _PyMac_GetFSSpec #define PyMac_GetFSSpec _PyMac_GetFSSpec
#define PyMac_BuildFSSpec _PyMac_BuildFSSpec
#define PyMac_GetFSRef _PyMac_GetFSRef
#define PyMac_BuildFSRef _PyMac_BuildFSRef
#endif #endif
static PyObject *ErrorObject; static PyObject *ErrorObject;
@ -1207,6 +1213,9 @@ initmacfs(void)
PyObject *m, *d; PyObject *m, *d;
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(FSSpec, PyMac_GetFSSpec); PyMac_INIT_TOOLBOX_OBJECT_CONVERT(FSSpec, PyMac_GetFSSpec);
PyMac_INIT_TOOLBOX_OBJECT_CONVERT(FSRef, PyMac_GetFSRef);
PyMac_INIT_TOOLBOX_OBJECT_NEW(FSSpec *, PyMac_BuildFSSpec);
PyMac_INIT_TOOLBOX_OBJECT_NEW(FSRef *, PyMac_BuildFSRef);
/* Create the module and add the functions */ /* Create the module and add the functions */
m = Py_InitModule("macfs", mfs_methods); m = Py_InitModule("macfs", mfs_methods);

View File

@ -346,7 +346,11 @@ int routinename(PyObject *pyobj, object *cobj) { \
} \ } \
return (*PyMacGluePtr_##routinename)(pyobj, cobj); \ return (*PyMacGluePtr_##routinename)(pyobj, cobj); \
} }
GLUE_NEW(FSSpec *, PyMac_BuildFSSpec, "macfs")
GLUE_CONVERT(FSSpec, PyMac_GetFSSpec, "macfs") GLUE_CONVERT(FSSpec, PyMac_GetFSSpec, "macfs")
GLUE_NEW(FSRef *, PyMac_BuildFSRef, "macfs")
GLUE_CONVERT(FSRef, PyMac_GetFSRef, "macfs")
GLUE_NEW(AppleEvent *, AEDesc_New, "Carbon.AE") /* XXXX Why by address? */ GLUE_NEW(AppleEvent *, AEDesc_New, "Carbon.AE") /* XXXX Why by address? */
GLUE_CONVERT(AppleEvent, AEDesc_Convert, "Carbon.AE") GLUE_CONVERT(AppleEvent, AEDesc_Convert, "Carbon.AE")