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