Started on implementing support for FSCatalogInfo. Doesn't work yet, don't
try it.
This commit is contained in:
parent
c1a9cab8f0
commit
b2fcd086c7
|
@ -134,8 +134,6 @@ class MyScanner(Scanner_OSX):
|
|||
|
||||
|
||||
"CatPositionRec", # State variable, not too difficult
|
||||
"FSCatalogInfo", # Lots of fields, difficult struct
|
||||
"FSCatalogInfo_ptr", # Lots of fields, difficult struct
|
||||
"FSIterator", # Should become an object
|
||||
"FSForkInfo", # Lots of fields, difficult struct
|
||||
"FSSearchParams", # Also catsearch stuff
|
||||
|
@ -181,6 +179,17 @@ class MyScanner(Scanner_OSX):
|
|||
([('FSRef_ptr', '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')]),
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -51,6 +51,53 @@ class OptionalFSxxxType(OpaqueByValueType):
|
|||
Output("%s %s__buf__;", self.typeName, 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_ptr = OpaqueType("FInfo", "FInfo")
|
||||
AliasHandle = OpaqueByValueType("AliasHandle", "Alias")
|
||||
|
@ -60,6 +107,8 @@ OptFSSpecPtr = OptionalFSxxxType("FSSpec", "BUG", "myPyMac_GetOptFSSpecPtr")
|
|||
FSRef = OpaqueType("FSRef", "FSRef")
|
||||
FSRef_ptr = OpaqueType("FSRef", "FSRef")
|
||||
OptFSRefPtr = OptionalFSxxxType("FSRef", "BUG", "myPyMac_GetOptFSRefPtr")
|
||||
FSCatalogInfoAndBitmap_in = FSCatalogInfoAndBitmap_inType()
|
||||
FSCatalogInfoAndBitmap_out = FSCatalogInfoAndBitmap_outType()
|
||||
|
||||
# To be done:
|
||||
#CatPositionRec
|
||||
|
|
Loading…
Reference in New Issue