From: Jack Jansen Date: Thu, 2 Feb 1995 14:23:52 +0000 (+0000) Subject: Added [GS]etCreatorType methods to FSSpec objects X-Git-Tag: v1.2b3~61 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8828fcf7383aa38539fd331d9b93138c156f8810;p=thirdparty%2FPython%2Fcpython.git Added [GS]etCreatorType methods to FSSpec objects --- diff --git a/Mac/Modules/macfsmodule.c b/Mac/Modules/macfsmodule.c index 09c788356e8e..d8f454c590aa 100644 --- a/Mac/Modules/macfsmodule.c +++ b/Mac/Modules/macfsmodule.c @@ -288,11 +288,60 @@ mfss_NewAliasMinimal(self, args) return (object *)newmfsaobject(alias); } +/* XXXX These routines should be replaced with a complete interface to *FInfo */ +static object * +mfss_GetCreatorType(self, args) + mfssobject *self; + object *args; +{ + OSErr err; + FInfo info; + + if (!newgetargs(args, "")) + return NULL; + err = FSpGetFInfo(&self->fsspec, &info); + if ( err ) { + PyErr_Mac(ErrorObject, err); + return NULL; + } + return Py_BuildValue("(O&O&)", + PyMac_BuildOSType, info.fdCreator, PyMac_BuildOSType, info.fdType); +} + +static object * +mfss_SetCreatorType(self, args) + mfssobject *self; + object *args; +{ + OSErr err; + OSType creator, type; + FInfo info; + + if (!newgetargs(args, "O&O&", PyMac_GetOSType, &creator, PyMac_GetOSType, &type)) + return NULL; + err = FSpGetFInfo(&self->fsspec, &info); + if ( err ) { + PyErr_Mac(ErrorObject, err); + return NULL; + } + info.fdType = type; + info.fdCreator = creator; + err = FSpSetFInfo(&self->fsspec, &info); + if ( err ) { + PyErr_Mac(ErrorObject, err); + return NULL; + } + INCREF(None); + return None; +} + static struct methodlist mfss_methods[] = { {"as_pathname", (method)mfss_as_pathname, 1}, {"as_tuple", (method)mfss_as_tuple, 1}, {"NewAlias", (method)mfss_NewAlias, 1}, {"NewAliasMinimal", (method)mfss_NewAliasMinimal, 1}, + {"GetCreatorType", (method)mfss_GetCreatorType, 1}, + {"SetCreatorType", (method)mfss_SetCreatorType, 1}, {NULL, NULL} /* sentinel */ };