r4682 - trunk/src/host/pye17/codegen

marek at docs.openmoko.org marek at docs.openmoko.org
Tue Sep 30 06:52:42 CEST 2008


Author: marek
Date: 2008-09-30 06:52:40 +0200 (Tue, 30 Sep 2008)
New Revision: 4682

Modified:
   trunk/src/host/pye17/codegen/argtypes.py
   trunk/src/host/pye17/codegen/h2def.py
Log:
improve enum handling
ignore win32 only functions


Modified: trunk/src/host/pye17/codegen/argtypes.py
===================================================================
--- trunk/src/host/pye17/codegen/argtypes.py	2008-09-29 11:10:27 UTC (rev 4681)
+++ trunk/src/host/pye17/codegen/argtypes.py	2008-09-30 04:52:40 UTC (rev 4682)
@@ -1145,9 +1145,13 @@
 matcher.register_pointer('Ecore_Evas', 'G_TYPE_OBJECT')
 matcher.register('Ecore_X_Window', UIntArg())
 matcher.register_pointer('Ecore_DirectFB_Window', 'G_TYPE_OBJECT')
-matcher.register_pointer('Ecore_Win32_Window', 'G_TYPE_OBJECT')
-matcher.register_pointer('Ecore_WinCE_Window', 'G_TYPE_OBJECT')
+# --> win32 only
+#matcher.register_pointer('Ecore_Win32_Window', 'G_TYPE_OBJECT')
+#matcher.register_pointer('Ecore_WinCE_Window', 'G_TYPE_OBJECT')
+# <--
 
+matcher.register('Evas_Callback_Type', UIntArg()) # enum
+
 # edje
 matcher.register_pointer('Evas_List', 'G_TYPE_OBJECT')
 matcher.register_pointer('Evas_Coord', 'G_TYPE_OBJECT')

Modified: trunk/src/host/pye17/codegen/h2def.py
===================================================================
--- trunk/src/host/pye17/codegen/h2def.py	2008-09-29 11:10:27 UTC (rev 4681)
+++ trunk/src/host/pye17/codegen/h2def.py	2008-09-30 04:52:40 UTC (rev 4682)
@@ -386,7 +386,7 @@
             if module:
                 fp.write('  (in-module "' + module + '")\n')
             fp.write('  (c-name "' + cname + '")\n')
-	    fp.write('  (gtype-id "G_TYPE_OBJECT")\n')
+	    fp.write('  (gtype-id "G_TYPE_ENUM")\n')
             #fp.write('  (gtype-id "' + typecode(cname) + '")\n')
             prefix = entries[0]
             for ent in entries:
@@ -525,13 +525,13 @@
 
         # Hmmm... Let's asume that a constructor function name
         # ends with '_new' and it returns a pointer.
-        m = func_new_pat.match(name)
-        if pointer_pat.match(ret) and m:
-            cname = ''
-            for s in m.group(1).split ('_'):
-                cname += s.title()
-            if cname != '':
-                self.fp.write('  (is-constructor-of "' + cname + '")\n')
+        #m = func_new_pat.match(name)
+        #if pointer_pat.match(ret) and m:
+            #cname = ''
+            #for s in m.group(1).split ('_'):
+                #cname += s.title()
+            #if cname != '':
+                #self.fp.write('  (is-constructor-of "' + cname + '")\n')
 
         self._write_return(ret)
         self._write_arguments(args)




More information about the commitlog mailing list