]> granicus.if.org Git - python/commitdiff
Started on implementing support for FSCatalogInfo. Doesn't work yet, don't
authorJack Jansen <jack.jansen@cwi.nl>
Thu, 9 Jan 2003 23:37:37 +0000 (23:37 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Thu, 9 Jan 2003 23:37:37 +0000 (23:37 +0000)
try it.

Mac/Modules/file/filescan.py
Mac/Modules/file/filesupport.py

index 4b6b70e3121f09dcce5394f977fa476e4266830c..a7963c2a352571f500a81e61d42afc251943ead8 100644 (file)
@@ -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
@@ -180,6 +178,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')]),
+               
 
                ]
                
index 7ba0b472d4d130321c3626a17de5cf9365a1f92d..122ef0e08c93bcc8ec87e6d881f97820bc572dd3 100644 (file)
@@ -50,6 +50,53 @@ class OptionalFSxxxType(OpaqueByValueType):
        def declare(self, name):
                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")
@@ -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