tasn pushed a commit to branch master.

commit 263e54d7050e06ec2a3e224bc683360129fef211
Author: Tom Hacohen <[email protected]>
Date:   Fri Apr 12 13:48:31 2013 +0100

    Eo: Moved the debug info functions to the base class code.
---
 src/lib/eo/eo.c            | 91 ---------------------------------------------
 src/lib/eo/eo_base_class.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+), 91 deletions(-)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 9ec28a1..0b02c08 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -1553,94 +1553,3 @@ eo_manual_free(Eo *obj)
    _eo_free(obj);
 }
 
-/* Eo_Dbg */
-EAPI void
-eo_dbg_info_free(Eo_Dbg_Info *info)
-{
-   eina_value_flush(&(info->value));
-   free(info);
-}
-
-static Eina_Bool
-_eo_dbg_info_setup(const Eina_Value_Type *type, void *mem)
-{
-   memset(mem, 0, type->value_size);
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_eo_dbg_info_flush(const Eina_Value_Type *type EINA_UNUSED, void *_mem)
-{
-   Eo_Dbg_Info *mem = *(Eo_Dbg_Info **) _mem;
-   eina_stringshare_del(mem->name);
-   eina_value_flush(&(mem->value));
-   free(mem);
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_eo_dbg_info_copy(const Eina_Value_Type *type EINA_UNUSED, const void *_src, 
void *_dst)
-{
-   const Eo_Dbg_Info **src = (const Eo_Dbg_Info **) _src;
-   Eo_Dbg_Info **dst = _dst;
-   *dst = calloc(1, sizeof(*dst));
-   (*dst)->name = eina_stringshare_ref((*src)->name);
-   eina_value_copy(&((*src)->value), &((*dst)->value));
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_eo_dbg_info_convert_to(const Eina_Value_Type *type EINA_UNUSED, const 
Eina_Value_Type *convert, const void *type_mem, void *convert_mem)
-{
-   /* FIXME: For the meanwhile, just use the inner type for the value. */
-   const Eo_Dbg_Info **src = (const Eo_Dbg_Info **) type_mem;
-   if (convert == EINA_VALUE_TYPE_STRINGSHARE ||
-       convert == EINA_VALUE_TYPE_STRING)
-     {
-        Eina_Bool ret;
-        const char *other_mem;
-        char *inner_val = eina_value_to_string(&(*src)->value);
-        other_mem = inner_val;
-        ret = eina_value_type_pset(convert, convert_mem, &other_mem);
-        free(inner_val);
-        return ret;
-     }
-
-   eina_error_set(EINA_ERROR_VALUE_FAILED);
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-_eo_dbg_info_pset(const Eina_Value_Type *type EINA_UNUSED, void *_mem, const 
void *_ptr)
-{
-   Eo_Dbg_Info **mem = _mem;
-   if (*mem)
-     free(*mem);
-   *mem = (void *) _ptr;
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_eo_dbg_info_pget(const Eina_Value_Type *type EINA_UNUSED, const void *_mem, 
void *_ptr)
-{
-   Eo_Dbg_Info **ptr = _ptr;
-   *ptr = (void *) _mem;
-   return EINA_TRUE;
-}
-
-static const Eina_Value_Type _EO_DBG_INFO_TYPE = {
-   EINA_VALUE_TYPE_VERSION,
-   sizeof(Eo_Dbg_Info *),
-   "Eo_Dbg_Info_Ptr",
-   _eo_dbg_info_setup,
-   _eo_dbg_info_flush,
-   _eo_dbg_info_copy,
-   NULL,
-   _eo_dbg_info_convert_to,
-   NULL,
-   NULL,
-   _eo_dbg_info_pset,
-   _eo_dbg_info_pget
-};
-
-EAPI const Eina_Value_Type *EO_DBG_INFO_TYPE = &_EO_DBG_INFO_TYPE;
diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 6399ca8..389fae9 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -585,6 +585,98 @@ _ev_global_freeze_get(const Eo_Class *klass EINA_UNUSED, 
va_list *list)
    *ret = event_freeze_count;
 }
 
+/* Eo_Dbg */
+EAPI void
+eo_dbg_info_free(Eo_Dbg_Info *info)
+{
+   eina_value_flush(&(info->value));
+   free(info);
+}
+
+static Eina_Bool
+_eo_dbg_info_setup(const Eina_Value_Type *type, void *mem)
+{
+   memset(mem, 0, type->value_size);
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_eo_dbg_info_flush(const Eina_Value_Type *type EINA_UNUSED, void *_mem)
+{
+   Eo_Dbg_Info *mem = *(Eo_Dbg_Info **) _mem;
+   eina_stringshare_del(mem->name);
+   eina_value_flush(&(mem->value));
+   free(mem);
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_eo_dbg_info_copy(const Eina_Value_Type *type EINA_UNUSED, const void *_src, 
void *_dst)
+{
+   const Eo_Dbg_Info **src = (const Eo_Dbg_Info **) _src;
+   Eo_Dbg_Info **dst = _dst;
+   *dst = calloc(1, sizeof(*dst));
+   (*dst)->name = eina_stringshare_ref((*src)->name);
+   eina_value_copy(&((*src)->value), &((*dst)->value));
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_eo_dbg_info_convert_to(const Eina_Value_Type *type EINA_UNUSED, const 
Eina_Value_Type *convert, const void *type_mem, void *convert_mem)
+{
+   /* FIXME: For the meanwhile, just use the inner type for the value. */
+   const Eo_Dbg_Info **src = (const Eo_Dbg_Info **) type_mem;
+   if (convert == EINA_VALUE_TYPE_STRINGSHARE ||
+       convert == EINA_VALUE_TYPE_STRING)
+     {
+        Eina_Bool ret;
+        const char *other_mem;
+        char *inner_val = eina_value_to_string(&(*src)->value);
+        other_mem = inner_val;
+        ret = eina_value_type_pset(convert, convert_mem, &other_mem);
+        free(inner_val);
+        return ret;
+     }
+
+   eina_error_set(EINA_ERROR_VALUE_FAILED);
+   return EINA_FALSE;
+}
+
+static Eina_Bool
+_eo_dbg_info_pset(const Eina_Value_Type *type EINA_UNUSED, void *_mem, const 
void *_ptr)
+{
+   Eo_Dbg_Info **mem = _mem;
+   if (*mem)
+     free(*mem);
+   *mem = (void *) _ptr;
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_eo_dbg_info_pget(const Eina_Value_Type *type EINA_UNUSED, const void *_mem, 
void *_ptr)
+{
+   Eo_Dbg_Info **ptr = _ptr;
+   *ptr = (void *) _mem;
+   return EINA_TRUE;
+}
+
+static const Eina_Value_Type _EO_DBG_INFO_TYPE = {
+   EINA_VALUE_TYPE_VERSION,
+   sizeof(Eo_Dbg_Info *),
+   "Eo_Dbg_Info_Ptr",
+   _eo_dbg_info_setup,
+   _eo_dbg_info_flush,
+   _eo_dbg_info_copy,
+   NULL,
+   _eo_dbg_info_convert_to,
+   NULL,
+   NULL,
+   _eo_dbg_info_pset,
+   _eo_dbg_info_pget
+};
+
+EAPI const Eina_Value_Type *EO_DBG_INFO_TYPE = &_EO_DBG_INFO_TYPE;
+
 
 /* EOF event callbacks */
 

-- 

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter

Reply via email to