r4665 - in trunk/src/host/pye17: . codegen ecore evas

marek at docs.openmoko.org marek at docs.openmoko.org
Wed Sep 24 09:21:01 CEST 2008


Author: marek
Date: 2008-09-24 09:20:59 +0200 (Wed, 24 Sep 2008)
New Revision: 4665

Added:
   trunk/src/host/pye17/ecore/
   trunk/src/host/pye17/ecore/Makefile
   trunk/src/host/pye17/ecore/ecore.override
   trunk/src/host/pye17/ecore/ecoremodule.c
Modified:
   trunk/src/host/pye17/Makefile
   trunk/src/host/pye17/codegen/argtypes.py
   trunk/src/host/pye17/codegen/h2def.py
   trunk/src/host/pye17/evas/Makefile
Log:
cleanup evas
ecore support added

known issues:
it needs to be tested



Modified: trunk/src/host/pye17/Makefile
===================================================================
--- trunk/src/host/pye17/Makefile	2008-09-24 05:21:13 UTC (rev 4664)
+++ trunk/src/host/pye17/Makefile	2008-09-24 07:20:59 UTC (rev 4665)
@@ -19,7 +19,7 @@
 PYTHON = $(shell which python)
 
 
-e_bindings = evas
+e_bindings = evas ecore
 
 ### ToDo ###
 # ecore

Modified: trunk/src/host/pye17/codegen/argtypes.py
===================================================================
--- trunk/src/host/pye17/codegen/argtypes.py	2008-09-24 05:21:13 UTC (rev 4664)
+++ trunk/src/host/pye17/codegen/argtypes.py	2008-09-24 07:20:59 UTC (rev 4665)
@@ -1099,17 +1099,48 @@
 matcher.register('char**', StringPtrArg())
 
 matcher.register_pointer('void', 'G_TYPE_NONE')
-matcher.register_pointer('int', '77')
-matcher.register_pointer('unsigned-int', '77')
-matcher.register_pointer('float', '77')
-matcher.register_pointer('Evas', '77')
-matcher.register_pointer('Evas_Object', '77')
-matcher.register_pointer('Evas_Object_Pointer_Mode', '77')
-matcher.register_pointer('Evas_Array_Hash', '77')
-matcher.register_pointer('Evas_Smart', '77')
-matcher.register_pointer('Evas_Lock', '77')
-matcher.register_pointer('Evas_Textblock_Cursor', '77')
-matcher.register_pointer('Evas_Imaging_Font', '77')
-matcher.register_pointer('Evas_Textblock_Style', '77')
-matcher.register_pointer('Evas_Modifier', '77')
-matcher.register_pointer('Evas_Imaging_Image', '77')
+matcher.register_pointer('int', 'G_TYPE_OBJECT')
+matcher.register_pointer('unsigned-int', 'G_TYPE_OBJECT')
+matcher.register_pointer('float', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Object', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Object_Pointer_Mode', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Array_Hash', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Smart', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Lock', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Textblock_Cursor', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Imaging_Font', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Textblock_Style', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Modifier', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Imaging_Image', 'G_TYPE_OBJECT')
+
+# ecore
+matcher.register_pointer('Ecore_Exe', 'G_TYPE_NONE')
+matcher.register_pointer('Ecore_Exe_Event_Data', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_List', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Tree', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Tree_Node', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_List_Node', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_DList', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_DList_Node', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Sheap', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Strbuf', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Hash', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Path_Group', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Timer', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Animator', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Fd_Handler', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Poller', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Event_Handler', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Idler', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Idle_Enterer', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Idle_Exiter', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Event_Filter', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Event_Handler', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Event', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Plugin', 'G_TYPE_OBJECT')
+matcher.register_pointer('Ecore_Free_Cb', 'G_TYPE_NONE')
+#matcher.register_pointer('Ecore_Compare_Cb', 'G_TYPE_NONE')
+
+# matcher.register_pointer('', 'G_TYPE_OBJECT')
+

Modified: trunk/src/host/pye17/codegen/h2def.py
===================================================================
--- trunk/src/host/pye17/codegen/h2def.py	2008-09-24 05:21:13 UTC (rev 4664)
+++ trunk/src/host/pye17/codegen/h2def.py	2008-09-24 07:20:59 UTC (rev 4665)
@@ -461,7 +461,8 @@
 				#print "argument: " + argument
 				callback = argument.find('(')
 				if callback > -1:
-					argument = 'void* callback'
+					func_name_end = argument.find(')')
+					argument = 'void* callback_' + argument[callback+1:func_name_end].lstrip("* ")
 				spaces = string.count(argument, ' ')
 				if spaces > 1:
 					argument = string.replace(argument, ' ', '-', spaces - 1)

Added: trunk/src/host/pye17/ecore/Makefile
===================================================================
--- trunk/src/host/pye17/ecore/Makefile	                        (rev 0)
+++ trunk/src/host/pye17/ecore/Makefile	2008-09-24 07:20:59 UTC (rev 4665)
@@ -0,0 +1,22 @@
+
+ECORE_PATH=$(E_PATH)/ecore/src/lib/ecore
+
+CFLAGS = -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include/ -I/usr/include/python2.5 -I/usr/include/pygtk-2.0/ -I$(ECORE_PATH) -I. -g
+LDFLAGS = -lecore -L/usr/local/lib -lglib-2.0
+
+.PHONY: all clean ecore.so
+
+all: ecore.so
+
+ecore.so: ecore.o ecoremodule.o
+	$(CC) $(LDFLAGS) -shared $^ -o $@
+
+ecore.c: ecore.defs ecore.override
+	$(PYTHON) $(CODEGEN_PATH)/codegen.py --prefix ecore --override ecore.override ecore.defs > $@
+
+ecore.defs: $(CODEGEN_PATH)/h2def.py $(ECORE_PATH)/Ecore.h $(ECORE_PATH)/Ecore_Data.h
+	$(CODEGEN_PATH)/h2def.py $(ECORE_PATH)/Ecore.h > $@
+	$(CODEGEN_PATH)/h2def.py $(ECORE_PATH)/Ecore_Data.h >> $@
+
+clean:
+	rm -f *.o *~ ecore.defs ecore.c ecore.so

Added: trunk/src/host/pye17/ecore/ecore.override
===================================================================
--- trunk/src/host/pye17/ecore/ecore.override	                        (rev 0)
+++ trunk/src/host/pye17/ecore/ecore.override	2008-09-24 07:20:59 UTC (rev 4665)
@@ -0,0 +1,95 @@
+%%
+headers
+#include <pygobject.h>
+#include <Ecore_Data.h>
+#include <Ecore.h>
+%%
+modulename ecore
+%%
+ignore-glob
+  *_get_type
+%%
+override ecore_list_merge kwargs
+static PyObject *
+_wrap_ecore_list_merge(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Compare_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_list_node_destroy kwargs
+static PyObject *
+_wrap_ecore_list_node_destroy(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_list_free_cb_set kwargs
+static PyObject *
+_wrap_ecore_list_free_cb_set(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+    /* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_dlist_merge kwargs
+static PyObject *
+_wrap_ecore_dlist_merge(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Compare_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_dlist_node_destroy kwargs
+static PyObject *
+_wrap_ecore_dlist_node_destroy(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_dlist_free_cb_set kwargs
+static PyObject *
+_wrap_ecore_dlist_free_cb_set(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+    /* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_hash_free_key_cb_set kwargs
+static PyObject *
+_wrap_ecore_hash_free_key_cb_set(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_hash_free_value_cb_set kwargs
+static PyObject *
+_wrap_ecore_hash_free_value_cb_set(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_sheap_free_cb_set kwargs
+static PyObject *
+_wrap_ecore_sheap_free_cb_set(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_tree_node_destroy kwargs
+static PyObject *
+_wrap_ecore_tree_node_destroy(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_tree_free_value_cb_set kwargs
+static PyObject *
+_wrap_ecore_tree_free_value_cb_set(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
+override ecore_tree_free_key_cb_set kwargs
+static PyObject *
+_wrap_ecore_tree_free_key_cb_set(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+	/* not supported at the moment - Ecore_Free_Cb in Ecore_Data.h needs fixing */
+}
+%%
\ No newline at end of file

Added: trunk/src/host/pye17/ecore/ecoremodule.c
===================================================================
--- trunk/src/host/pye17/ecore/ecoremodule.c	                        (rev 0)
+++ trunk/src/host/pye17/ecore/ecoremodule.c	2008-09-24 07:20:59 UTC (rev 4665)
@@ -0,0 +1,22 @@
+#include <pygobject.h>
+
+void ecore_register_classes(PyObject *d);
+extern PyMethodDef ecore_functions[];
+
+DL_EXPORT(void)
+initecore(void)
+{
+  PyObject *m, *d;
+
+  init_pygobject();
+
+  m = Py_InitModule("ecore", ecore_functions);
+
+  d = PyModule_GetDict(m);
+
+  ecore_register_classes(d);
+
+  if (PyErr_Occurred()) {
+    Py_FatalError ("can't initialise module ecore");
+  }
+}

Modified: trunk/src/host/pye17/evas/Makefile
===================================================================
--- trunk/src/host/pye17/evas/Makefile	2008-09-24 05:21:13 UTC (rev 4664)
+++ trunk/src/host/pye17/evas/Makefile	2008-09-24 07:20:59 UTC (rev 4665)
@@ -19,7 +19,7 @@
 	$(CODEGEN_PATH)/h2def.py $(EVAS_PATH)/Evas_Data.h >> $@
 
 clean:
-	rm -f *.o evas.c evas.defs
+	rm -f *.o *~ evas.defs evas.c evas.so
 
 
 ### may need later ??




More information about the commitlog mailing list