davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=cc02387266c0561be0ed47df294b01472c6bad61

commit cc02387266c0561be0ed47df294b01472c6bad61
Author: davemds <d...@gurumeditation.it>
Date:   Mon Apr 14 21:41:38 2014 +0200

    Adjust the bindings to work with Eo2
---
 efl/eo/efl.eo.pyx          | 46 +++++++++++++++++++---------------------------
 include/efl.c_eo.pxd       | 42 ++++++++++++++++++++----------------------
 tests/eo/test_01_basics.py |  6 ++----
 3 files changed, 41 insertions(+), 53 deletions(-)

diff --git a/efl/eo/efl.eo.pyx b/efl/eo/efl.eo.pyx
index 6f8f27f..74d1eb6 100644
--- a/efl/eo/efl.eo.pyx
+++ b/efl/eo/efl.eo.pyx
@@ -22,13 +22,12 @@ from efl.eina cimport Eina_Bool, \
     Eina_Hash, eina_hash_string_superfast_new, eina_hash_add, eina_hash_del, \
     eina_hash_find, EINA_LOG_DOM_DBG, EINA_LOG_DOM_INFO
 from efl.c_eo cimport Eo as cEo, eo_init, eo_shutdown, eo_del, eo_do, \
-    eo_class_name_get, eo_class_get, eo_base_data_set, eo_base_data_get, \
-    eo_base_data_del, eo_event_callback_add, eo_event_callback_del, \
-    Eo_Event_Description, \
-    eo_parent_get, EO_EV_DEL, EO_BASE_BASE_ID, eo_base_class_get, \
+    eo_class_name_get, eo_class_get, eo_base_class_get,\
+    eo_key_data_set, eo_key_data_get, eo_key_data_del, \
+    eo_event_callback_add, eo_event_callback_del, EO_EV_DEL, \
+    eo_parent_get, eo_parent_set, Eo_Event_Description, \
     eo_event_freeze, eo_event_thaw, eo_event_freeze_get, \
-    eo_event_global_freeze, eo_event_global_thaw, eo_event_global_freeze_get, \
-    eo_parent_set
+    eo_event_global_freeze, eo_event_global_thaw, eo_event_global_freeze_get
 
 cimport efl.eo.enums as enums
 
@@ -55,23 +54,17 @@ init()
 
 def event_global_freeze_get():
     cdef int fcount
-    eo_do(
-        <const cEo *>eo_base_class_get(),
-        eo_event_global_freeze_get(&fcount),
-        )
+    fcount = <int>eo_do(<const cEo *>eo_base_class_get(),
+                        eo_event_global_freeze_get())
     return fcount
 
 def event_global_freeze():
-    eo_do(
-        <const cEo *>eo_base_class_get(),
-        eo_event_global_freeze(),
-        )
+    eo_do(<const cEo *>eo_base_class_get(),
+          eo_event_global_freeze())
 
 def event_global_thaw():
-    eo_do(
-        <const cEo *>eo_base_class_get(),
-        eo_event_global_thaw()
-        )
+    eo_do(<const cEo *>eo_base_class_get(),
+          eo_event_global_thaw())
 
 ######################################################################
 
@@ -114,7 +107,7 @@ cdef object object_from_instance(cEo *obj):
     if obj == NULL:
         return None
 
-    eo_do(obj, eo_base_data_get("python-eo", &data))
+    data = eo_do(obj, eo_key_data_get("python-eo"))
     if data != NULL:
         EINA_LOG_DOM_DBG(PY_EFL_EO_LOG_DOMAIN,
             "Returning a Python object instance for Eo of type %s.", cls_name)
@@ -180,7 +173,8 @@ EO_CALLBACK_CONTINUE = enums.EO_CALLBACK_CONTINUE
 
 
 cdef Eina_Bool _eo_event_del_cb(void *data, cEo *obj,
-    const Eo_Event_Description *desc, void *event_info) with gil:
+                                const Eo_Event_Description *desc,
+                                void *event_info) with gil:
     cdef:
         Eo self = <Eo>data
         const char *cls_name = eo_class_name_get(eo_class_get(obj))
@@ -189,7 +183,7 @@ cdef Eina_Bool _eo_event_del_cb(void *data, cEo *obj,
 
     eo_do(self.obj,
         eo_event_callback_del(EO_EV_DEL, _eo_event_del_cb, <const void *>self))
-    eo_do(self.obj, eo_base_data_del("python-eo"))
+    eo_do(self.obj, eo_key_data_del("python-eo"))
     self.obj = NULL
     Py_DECREF(self)
 
@@ -215,7 +209,7 @@ cdef class Eo(object):
     def __repr__(self):
         cdef cEo *parent = NULL
         if self.obj != NULL:
-            eo_do(self.obj, eo_parent_get(&parent))
+            parent = <cEo *>eo_do(self.obj, eo_parent_get())
         return ("<%s object (Eo) at %#x (obj=%#x, parent=%#x, refcount=%d)>") 
% (
             type(self).__name__,
             <uintptr_t><void *>self,
@@ -231,7 +225,7 @@ cdef class Eo(object):
         assert obj != NULL, "Cannot set a NULL object"
 
         self.obj = obj
-        eo_do(self.obj, eo_base_data_set("python-eo", <void *>self, NULL))
+        eo_do(self.obj, eo_key_data_set("python-eo", <void *>self, NULL))
         eo_do(self.obj,
             eo_event_callback_add(EO_EV_DEL, _eo_event_del_cb, <const void 
*>self))
         Py_INCREF(self)
@@ -282,8 +276,7 @@ cdef class Eo(object):
         :rtype: :class:`Eo`
 
         """
-        cdef cEo *parent = NULL
-        eo_do(self.obj, eo_parent_get(&parent))
+        cdef cEo *parent = <cEo *>eo_do(self.obj, eo_parent_get())
         return object_from_instance(parent)
 
     def event_freeze(self):
@@ -301,6 +294,5 @@ cdef class Eo(object):
         :rtype: int
         
         """
-        cdef int fcount
-        eo_do(self.obj, eo_event_freeze_get(&fcount))
+        cdef int fcount = <int>eo_do(self.obj, eo_event_freeze_get())
         return fcount
diff --git a/include/efl.c_eo.pxd b/include/efl.c_eo.pxd
index 7639c6d..25c4c43 100644
--- a/include/efl.c_eo.pxd
+++ b/include/efl.c_eo.pxd
@@ -28,22 +28,21 @@ cdef extern from "Eo.h":
     ctypedef struct Eo_Event_Description:
         const char *name
         const char *doc
+        Eina_Bool unfreezable
 
-    ctypedef unsigned int Eo_Op
-
-    ctypedef Eo_Op EO_BASE_BASE_ID
 
     ####################################################################
     # Eo Events
     #
     cdef const Eo_Event_Description *EO_EV_DEL
 
+
     ####################################################################
     # Other typedefs
     #
     ctypedef Eina_Bool (*Eo_Event_Cb)(void *data, Eo *obj, const 
Eo_Event_Description *desc, void *event_info)
 
-    ctypedef void (*eo_base_data_free_func)(void *)
+    ctypedef void (*eo_key_data_free_func)(void *)
 
 
     ####################################################################
@@ -58,32 +57,31 @@ cdef extern from "Eo.h":
     int eo_ref_get(const Eo *obj)
     void eo_del(const Eo *obj)
 
-    Eo_Op eo_wref_add(Eo *obj)
+    void eo_wref_add(Eo **wref)
 
-    Eina_Bool eo_do(Eo *obj, ...)
-    Eina_Bool eo_class_do(Eo_Class *cls, ...)
+    void *eo_do(Eo *obj, ...)
     const Eo_Class *eo_base_class_get()
 
-    Eo_Op eo_base_data_set(const char *key, const void *data, 
eo_base_data_free_func free_func)
-    Eo_Op eo_base_data_get(const char *key, void **data)
-    Eo_Op eo_base_data_del(const char *key)
+    void  eo_key_data_set(const char *key, const void *data, 
eo_key_data_free_func free_func)
+    void *eo_key_data_get(const char *key)
+    void  eo_key_data_del(const char *key)
 
     const Eo_Class *eo_class_get(const Eo *obj)
     const char *eo_class_name_get(const Eo_Class *klass)
 
-    Eo_Op eo_parent_set(Eo *parent)
-    Eo_Op eo_parent_get(Eo **parent)
+    void eo_parent_set(Eo *parent)
+    Eo  *eo_parent_get()
 
-    Eo_Op eo_event_callback_forwarder_add(const Eo_Event_Description *desc, Eo 
*new_obj)
-    Eo_Op eo_event_callback_forwarder_del(const Eo_Event_Description *desc, Eo 
*new_obj)
+    void eo_event_callback_forwarder_add(const Eo_Event_Description *desc, Eo 
*new_obj)
+    void eo_event_callback_forwarder_del(const Eo_Event_Description *desc, Eo 
*new_obj)
 
-    Eo_Op eo_event_freeze()
-    Eo_Op eo_event_thaw()
-    Eo_Op eo_event_freeze_get(int *fcount)
+    void eo_event_freeze()
+    void eo_event_thaw()
+    int eo_event_freeze_get()
 
-    Eo_Op eo_event_global_freeze()
-    Eo_Op eo_event_global_thaw()
-    Eo_Op eo_event_global_freeze_get(int *fcount)
+    void eo_event_global_freeze()
+    void eo_event_global_thaw()
+    int eo_event_global_freeze_get()
 
-    Eo_Op eo_event_callback_add(const Eo_Event_Description *desc, Eo_Event_Cb 
cb, const void *data)
-    Eo_Op eo_event_callback_del(const Eo_Event_Description *desc, Eo_Event_Cb 
cb, const void *data)
+    void eo_event_callback_add(const Eo_Event_Description *desc, Eo_Event_Cb 
cb, const void *data)
+    void eo_event_callback_del(const Eo_Event_Description *desc, Eo_Event_Cb 
cb, const void *data)
diff --git a/tests/eo/test_01_basics.py b/tests/eo/test_01_basics.py
index 7e86049..a32a83a 100644
--- a/tests/eo/test_01_basics.py
+++ b/tests/eo/test_01_basics.py
@@ -1,16 +1,14 @@
 #!/usr/bin/env python
 
-from efl import eo
 from efl.eo import Eo
 
-eo.init()
+import unittest
 
-import os, unittest
 
 class TestBasics(unittest.TestCase):
 
     def setUp(self):
-        self.o = eo.Eo.__new__(eo.Eo)
+        self.o = Eo.__new__(Eo)
 
     def tearDown(self):
         self.o.delete()

-- 


Reply via email to