Started on implementing support for FSCatalogInfo. Doesn't work yet, don't

try it.
This commit is contained in:
Jack Jansen 2003-01-09 23:37:37 +00:00
parent c1a9cab8f0
commit b2fcd086c7
2 changed files with 60 additions and 2 deletions

View File

@ -134,8 +134,6 @@ class MyScanner(Scanner_OSX):
"CatPositionRec", # State variable, not too difficult "CatPositionRec", # State variable, not too difficult
"FSCatalogInfo", # Lots of fields, difficult struct
"FSCatalogInfo_ptr", # Lots of fields, difficult struct
"FSIterator", # Should become an object "FSIterator", # Should become an object
"FSForkInfo", # Lots of fields, difficult struct "FSForkInfo", # Lots of fields, difficult struct
"FSSearchParams", # Also catsearch stuff "FSSearchParams", # Also catsearch stuff
@ -180,6 +178,17 @@ class MyScanner(Scanner_OSX):
([('FSRef_ptr', 'fromFile', 'InMode')], ([('FSRef_ptr', 'fromFile', 'InMode')],
[('OptFSRefPtr', 'fromFile', 'InMode')]), [('OptFSRefPtr', 'fromFile', 'InMode')]),
# FSCatalogInfo input handling
([('FSCatalogInfoBitmap', 'whichInfo', 'InMode'),
('FSCatalogInfo_ptr', 'catalogInfo', 'InMode')],
[('FSCatalogInfoAndBitmap_in', 'catalogInfo', 'InMode')]),
# FSCatalogInfo output handling
([('FSCatalogInfoBitmap', 'whichInfo', 'InMode'),
('FSCatalogInfo', 'catalogInfo', 'OutMode')],
[('FSCatalogInfoAndBitmap_out', 'catalogInfo', 'InOutMode')]),
] ]

View File

@ -50,6 +50,53 @@ class OptionalFSxxxType(OpaqueByValueType):
def declare(self, name): def declare(self, name):
Output("%s %s__buf__;", self.typeName, name) Output("%s %s__buf__;", self.typeName, name)
Output("%s *%s = &%s__buf__;", self.typeName, name, name) Output("%s *%s = &%s__buf__;", self.typeName, name, name)
class FSCatalogInfoAndBitmapType(InputOnlyType):
def __init__(self):
InputOnlyType.__init__(self, "BUG", "BUG")
def declare(self, name):
Output("PyObject *%s__object;", name)
Output("FSCatalogInfoBitname %s__bitmap;", name)
Output("FSCatalogInfo %s;", name)
def getargsFormat(self):
return "lO"
def getargsArgs(self, name):
return "%s__bitmap, %s__object"%(name, name)
def getargsCheck(self, name):
Output("convert_FSCatalogInfo(%s__object, %s__bitmap, %s);", name, name, name)
def passOutput(self, name):
return "%s__bitmap, %s"% (name, name)
def mkvalueFormat(self):
return "O"
def mkvalueArgs(self, name):
return "%s__object" % (name)
def xxxxmkvalueCheck(self, name):
Output("%s__object = new_FSCatalogInfo(%s__bitmap, %s);", name, name)
class FSCatalogInfoAndBitmap_inType(FSCatalogInfoAndBitmapType, InputOnlyMixIn):
def xxxxmkvalueCheck(self, name):
pass
class FSCatalogInfoAndBitmap_outType(FSCatalogInfoAndBitmapType):
def getargsFormat(self):
return "l"
def getargsArgs(self, name):
return "%s__bitmap" % name
def getargsCheck(self, name):
pass
FInfo = OpaqueType("FInfo", "FInfo") FInfo = OpaqueType("FInfo", "FInfo")
FInfo_ptr = OpaqueType("FInfo", "FInfo") FInfo_ptr = OpaqueType("FInfo", "FInfo")
@ -60,6 +107,8 @@ OptFSSpecPtr = OptionalFSxxxType("FSSpec", "BUG", "myPyMac_GetOptFSSpecPtr")
FSRef = OpaqueType("FSRef", "FSRef") FSRef = OpaqueType("FSRef", "FSRef")
FSRef_ptr = OpaqueType("FSRef", "FSRef") FSRef_ptr = OpaqueType("FSRef", "FSRef")
OptFSRefPtr = OptionalFSxxxType("FSRef", "BUG", "myPyMac_GetOptFSRefPtr") OptFSRefPtr = OptionalFSxxxType("FSRef", "BUG", "myPyMac_GetOptFSRefPtr")
FSCatalogInfoAndBitmap_in = FSCatalogInfoAndBitmap_inType()
FSCatalogInfoAndBitmap_out = FSCatalogInfoAndBitmap_outType()
# To be done: # To be done:
#CatPositionRec #CatPositionRec