[EGIT] [tools/enventor] master 01/01: fixed some memory leaks.

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=515efc710b8f8a1699e65747d2b882fd1c2c583e

commit 515efc710b8f8a1699e65747d2b882fd1c2c583e
Author: ChunEon Park 
Date:   Sat Jul 19 15:50:40 2014 +0900

fixed some memory leaks.
---
 src/bin/config_data.c   | 4 +++-
 src/bin/edj_viewer.c| 5 ++---
 src/bin/syntax_helper.c | 1 +
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/bin/config_data.c b/src/bin/config_data.c
index b2a5ef8..2b9db44 100644
--- a/src/bin/config_data.c
+++ b/src/bin/config_data.c
@@ -47,7 +47,9 @@ config_edj_path_update(config_data *cd)
  snprintf(buf, (ext - file) + 1, "%s", file);
else
  strncpy(buf, file, sizeof(buf));
-   sprintf(edj_path, "%s/%s.edj", ecore_file_dir_get(cd->edc_path), buf);
+   char *filedir = ecore_file_dir_get(cd->edc_path);
+   sprintf(edj_path, "%s/%s.edj", filedir, buf);
+   free(filedir);
 
eina_stringshare_replace(&cd->edj_path, edj_path);
 }
diff --git a/src/bin/edj_viewer.c b/src/bin/edj_viewer.c
index 0413ce1..1b377bc 100644
--- a/src/bin/edj_viewer.c
+++ b/src/bin/edj_viewer.c
@@ -150,7 +150,6 @@ edj_changed_cb(void *data, int type EINA_UNUSED, void 
*event)
  {
 vd->del_cb(vd->data);
 view_term(vd);
-vd->edj_monitor = NULL;
 EINA_LOG_ERR("Failed to load edj file \"%s\"", config_edj_path_get());
 return ECORE_CALLBACK_DONE;
  }
@@ -292,8 +291,8 @@ view_term(view_data *vd)
 {
if (!vd) return;
 
-   if (vd->group_name) eina_stringshare_del(vd->group_name);
-   if (vd->part_name) eina_stringshare_del(vd->part_name);
+   eina_stringshare_del(vd->group_name);
+   eina_stringshare_del(vd->part_name);
 
if (vd->part_obj)
  evas_object_event_callback_del(vd->part_obj, EVAS_CALLBACK_DEL,
diff --git a/src/bin/syntax_helper.c b/src/bin/syntax_helper.c
index d0043ef..456ae0f 100644
--- a/src/bin/syntax_helper.c
+++ b/src/bin/syntax_helper.c
@@ -44,6 +44,7 @@ syntax_term(syntax_helper *sh)
 
ecore_timer_del(sh->buf_flush_timer);
eina_strbuf_free(sh->strbuf);
+   free(sh);
 }
 
 color_data *

-- 




[EGIT] [tools/enventor] master 01/01: edc_parser - fixed memory leaks

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=c5d14675136bd0985454932c52fba12bb8fd225c

commit c5d14675136bd0985454932c52fba12bb8fd225c
Author: ChunEon Park 
Date:   Sat Jul 19 15:34:47 2014 +0900

edc_parser - fixed memory leaks
---
 src/bin/edc_parser.c | 288 +--
 1 file changed, 144 insertions(+), 144 deletions(-)

diff --git a/src/bin/edc_parser.c b/src/bin/edc_parser.c
index c03b110..4aceb5b 100644
--- a/src/bin/edc_parser.c
+++ b/src/bin/edc_parser.c
@@ -292,7 +292,7 @@ static void
 type_init_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED)
 {
type_init_td *td = data;
-   parser_attr *attr;
+   parser_attr attr;
 
td->attrs = eina_inarray_new(sizeof(parser_attr), 24);
eina_inarray_step_set(td->attrs, sizeof(Eina_Inarray), sizeof(parser_attr),
@@ -315,11 +315,11 @@ type_init_thread_blocking(void *data, Ecore_Thread 
*thread EINA_UNUSED)
eina_array_push(types, eina_stringshare_add("PROXY"));
eina_array_push(types, eina_stringshare_add("SPACER"));
 
-   attr = calloc(1, sizeof(parser_attr));
-   attr->keyword = eina_stringshare_add("type:");
-   attr->value.strs = types;
-   attr->value.type = ATTR_VALUE_CONSTANT;
-   eina_inarray_push(td->attrs, attr);
+   memset(&attr, 0x00, sizeof(parser_attr));
+   attr.keyword = eina_stringshare_add("type:");
+   attr.value.strs = types;
+   attr.value.type = ATTR_VALUE_CONSTANT;
+   eina_inarray_push(td->attrs, &attr);
 
Eina_Array *comps = eina_array_new(4);
eina_array_push(comps, eina_stringshare_add("RAW"));
@@ -327,11 +327,11 @@ type_init_thread_blocking(void *data, Ecore_Thread 
*thread EINA_UNUSED)
eina_array_push(comps, eina_stringshare_add("COMP"));
eina_array_push(comps, eina_stringshare_add("LOSSY"));
 
-   attr = calloc(1, sizeof(parser_attr));
-   attr->keyword = eina_stringshare_add("image:");
-   attr->value.strs = comps;
-   attr->value.type = ATTR_VALUE_CONSTANT;
-   eina_inarray_push(td->attrs, attr);
+   memset(&attr, 0x00, sizeof(parser_attr));
+   attr.keyword = eina_stringshare_add("image:");
+   attr.value.strs = comps;
+   attr.value.type = ATTR_VALUE_CONSTANT;
+   eina_inarray_push(td->attrs, &attr);
 
Eina_Array *trans = eina_array_new(10);
eina_array_push(trans, eina_stringshare_add("LINEAR"));
@@ -345,11 +345,11 @@ type_init_thread_blocking(void *data, Ecore_Thread 
*thread EINA_UNUSED)
eina_array_push(trans, eina_stringshare_add("BOUNCE"));
eina_array_push(trans, eina_stringshare_add("SPRING"));
 
-   attr = calloc(1, sizeof(parser_attr));
-   attr->keyword = eina_stringshare_add("transition:");
-   attr->value.strs = trans;
-   attr->value.type = ATTR_VALUE_CONSTANT;
-   eina_inarray_push(td->attrs, attr);
+   memset(&attr, 0x00, sizeof(parser_attr));
+   attr.keyword = eina_stringshare_add("transition:");
+   attr.value.strs = trans;
+   attr.value.type = ATTR_VALUE_CONSTANT;
+   eina_inarray_push(td->attrs, &attr);
 
Eina_Array *aspect = eina_array_new(4);
eina_array_push(aspect, eina_stringshare_add("NONE"));
@@ -357,11 +357,11 @@ type_init_thread_blocking(void *data, Ecore_Thread 
*thread EINA_UNUSED)
eina_array_push(aspect, eina_stringshare_add("HORIZONTAL"));
eina_array_push(aspect, eina_stringshare_add("BOTH"));
 
-   attr = calloc(1, sizeof(parser_attr));
-   attr->keyword = eina_stringshare_add("aspect_preference:");
-   attr->value.strs = aspect;
-   attr->value.type = ATTR_VALUE_CONSTANT;
-   eina_inarray_push(td->attrs, attr);
+   memset(&attr, 0x00, sizeof(parser_attr));
+   attr.keyword = eina_stringshare_add("aspect_preference:");
+   attr.value.strs = aspect;
+   attr.value.type = ATTR_VALUE_CONSTANT;
+   eina_inarray_push(td->attrs, &attr);
 
Eina_Array *effect = eina_array_new(11);
eina_array_push(effect, eina_stringshare_add("NONE"));
@@ -376,11 +376,11 @@ type_init_thread_blocking(void *data, Ecore_Thread 
*thread EINA_UNUSED)
eina_array_push(effect, eina_stringshare_add("FAR_SOFT_SHADOW"));
eina_array_push(effect, eina_stringshare_add("GLOW"));
 
-   attr = calloc(1, sizeof(parser_attr));
-   attr->keyword = eina_stringshare_add("effect:");
-   attr->value.strs = effect;
-   attr->value.type = ATTR_VALUE_CONSTANT;
-   eina_inarray_push(td->attrs, attr);
+   memset(&attr, 0x00, sizeof(parser_attr));
+   attr.keyword = eina_stringshare_add("effect:");
+   attr.value.strs = effect;
+   attr.value.type = ATTR_VALUE_CONSTANT;
+   eina_inarray_push(td->attrs, &attr);
 
Eina_Array *action = eina_array_new(23);
eina_array_push(action, eina_stringshare_add("NONE"));
@@ -407,136 +407,136 @@ type_init_thread_blocking(void *data, Ecore_Thread 
*thread EINA_UNUSED)
eina_array_push(action, eina_stringshare_add("PHYSICS_STOP"));
eina_array_push(action, eina_stringshare_add("PHYSICS_ROT_SET"));
 
-   attr = calloc(1, sizeof(parser_attr));
-   attr->keyword = eina_stringshare_add("action:");
-   attr->value.strs = a

[E-devel] Elementary leaks with OpenGL

2014-07-18 Thread Massimo Maiurana
Yesterday I enabled the OpenGL engine in elementary. Actually I did run
elementary config to disable clicks in terminology, but while I was at
it I found that engine tab and thought that gl engine would perform
better than software, so I switched to it.
Now when I run terminology it eats up all of my ram in a few seconds. I
did a vanlgrind log (attached to this email) and saw the following lines
repeatedly printed on stderr:

ERR<5241>:EvasGL modules/evas/engines/gl_common/evas_gl_core.c:699
_surface_cap_init() There are no available surface formats. Error!
ERR<5241>:EvasGL modules/evas/engines/gl_common/evas_gl_core.c:1342
evgl_engine_init() Error initializing surface cap

Of course I'm back on software engine :)

-- 
Massimo Maiurana
Ragusa (RG)
==5241== Memcheck, a memory error detector
==5241== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==5241== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==5241== Command: terminology
==5241== Parent PID: 4035
==5241== 
==5241== Conditional jump or move depends on uninitialised value(s)
==5241==at 0x88F8FEB: dlopen_doit (dlopen.c:61)
==5241==by 0x400E8B3: _dl_catch_error (dl-error.c:187)
==5241==by 0x88F95DC: _dlerror_run (dlerror.c:163)
==5241==by 0x88F90C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==5241==by 0x5679722: eina_module_load (eina_module.c:312)
==5241==by 0x567A191: eina_module_list_load (eina_module.c:558)
==5241==by 0x6138D43: ecore_init.part.3 (ecore.c:180)
==5241==by 0x4FCCDAB: elm_quicklaunch_init (elm_main.c:605)
==5241==by 0x4FCD6C7: elm_init (elm_main.c:306)
==5241==by 0x40C9B1: main (main.c:3179)
==5241== 
==5241== Conditional jump or move depends on uninitialised value(s)
==5241==at 0x40123AB: _dl_open (dl-open.c:608)
==5241==by 0x88F902A: dlopen_doit (dlopen.c:66)
==5241==by 0x400E8B3: _dl_catch_error (dl-error.c:187)
==5241==by 0x88F95DC: _dlerror_run (dlerror.c:163)
==5241==by 0x88F90C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==5241==by 0x5679722: eina_module_load (eina_module.c:312)
==5241==by 0x567A191: eina_module_list_load (eina_module.c:558)
==5241==by 0x6138D43: ecore_init.part.3 (ecore.c:180)
==5241==by 0x4FCCDAB: elm_quicklaunch_init (elm_main.c:605)
==5241==by 0x4FCD6C7: elm_init (elm_main.c:306)
==5241==by 0x40C9B1: main (main.c:3179)
==5241== 
==5241== Conditional jump or move depends on uninitialised value(s)
==5241==at 0x4C2A566: calloc (vg_replace_malloc.c:618)
==5241==by 0x400A863: _dl_new_object (dl-object.c:75)
==5241==by 0x4005E83: _dl_map_object_from_fd (dl-load.c:1059)
==5241==by 0x400809E: _dl_map_object (dl-load.c:2605)
==5241==by 0x4012A24: dl_open_worker (dl-open.c:235)
==5241==by 0x400E8B3: _dl_catch_error (dl-error.c:187)
==5241==by 0x401243A: _dl_open (dl-open.c:661)
==5241==by 0x88F902A: dlopen_doit (dlopen.c:66)
==5241==by 0x400E8B3: _dl_catch_error (dl-error.c:187)
==5241==by 0x88F95DC: _dlerror_run (dlerror.c:163)
==5241==by 0x88F90C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==5241==by 0x5679722: eina_module_load (eina_module.c:312)
==5241== 
==5241== Use of uninitialised value of size 8
==5241==at 0x4018923: memcpy (memcpy.S:167)
==5241==by 0x400A89D: _dl_new_object (dl-object.c:87)
==5241==by 0x4005E83: _dl_map_object_from_fd (dl-load.c:1059)
==5241==by 0x400809E: _dl_map_object (dl-load.c:2605)
==5241==by 0x4012A24: dl_open_worker (dl-open.c:235)
==5241==by 0x400E8B3: _dl_catch_error (dl-error.c:187)
==5241==by 0x401243A: _dl_open (dl-open.c:661)
==5241==by 0x88F902A: dlopen_doit (dlopen.c:66)
==5241==by 0x400E8B3: _dl_catch_error (dl-error.c:187)
==5241==by 0x88F95DC: _dlerror_run (dlerror.c:163)
==5241==by 0x88F90C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==5241==by 0x5679722: eina_module_load (eina_module.c:312)
==5241== 
==5241== Use of uninitialised value of size 8
==5241==at 0x400A89E: _dl_new_object (dl-object.c:87)
==5241==by 0x4005E83: _dl_map_object_from_fd (dl-load.c:1059)
==5241==by 0x400809E: _dl_map_object (dl-load.c:2605)
==5241==by 0x4012A24: dl_open_worker (dl-open.c:235)
==5241==by 0x400E8B3: _dl_catch_error (dl-error.c:187)
==5241==by 0x401243A: _dl_open (dl-open.c:661)
==5241==by 0x88F902A: dlopen_doit (dlopen.c:66)
==5241==by 0x400E8B3: _dl_catch_error (dl-error.c:187)
==5241==by 0x88F95DC: _dlerror_run (dlerror.c:163)
==5241==by 0x88F90C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==5241==by 0x5679722: eina_module_load (eina_module.c:312)
==5241==by 0x567A191: eina_module_list_load (eina_module.c:558)
==5241== 
==5241== Use of uninitialised value of size 8
==5241==at 0x400FA59: _dl_name_match_p (dl-misc.c:295)
==5241==by 0x4007F99: _dl_map_object (dl-load.c:2336)
==5241==by 0x4012A24: dl_open_worker (dl-open.c:235)
==5241==by 0x400E8B3: _dl_catch_error (dl-error.c:187)
==5241==by 0x401243A: _dl_open (dl-open.c:661)
==5241==by 0x8

[EGIT] [tools/enventor] master 01/01: fixed some memory leaks that detected by valgrind.

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=6d0c720b208e55d3fb024a420db040a05d6ad4d4

commit 6d0c720b208e55d3fb024a420db040a05d6ad4d4
Author: ChunEon Park 
Date:   Sat Jul 19 15:07:25 2014 +0900

fixed some memory leaks that detected by valgrind.
---
 src/bin/dummy_obj.c | 2 ++
 src/bin/main.c  | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/bin/dummy_obj.c b/src/bin/dummy_obj.c
index f6040a9..93d52c0 100644
--- a/src/bin/dummy_obj.c
+++ b/src/bin/dummy_obj.c
@@ -80,6 +80,8 @@ dummy_objs_update(dummy_obj *dummy)
  dummy->swallows = eina_list_append(dummy->swallows, po);
   }
  }
+
+   edje_edit_string_list_free(parts);
 }
 
 static Eina_Bool
diff --git a/src/bin/main.c b/src/bin/main.c
index 9242659..308bc63 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -560,6 +560,8 @@ term(app_data *ad)
config_term();
autocomp_term();
 
+   eio_monitor_del(ad->edc_monitor);
+
elm_shutdown();
 }
 

-- 




[EGIT] [tools/enventor] master 01/01: statusbar - enable in default

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=3d8ca8112fb3c2ec28d27e83ed739358ce185b04

commit 3d8ca8112fb3c2ec28d27e83ed739358ce185b04
Author: ChunEon Park 
Date:   Sat Jul 19 14:45:07 2014 +0900

statusbar - enable in default
---
 src/bin/config_data.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/config_data.c b/src/bin/config_data.c
index 53fd848..b2a5ef8 100644
--- a/src/bin/config_data.c
+++ b/src/bin/config_data.c
@@ -123,7 +123,7 @@ config_load()
 
 cd->font_size = 1.0f;
 cd->view_scale = 1;
-cd->stats_bar = EINA_FALSE;
+cd->stats_bar = EINA_TRUE;
 cd->linenumber = EINA_TRUE;
 cd->part_highlight = EINA_TRUE;
 cd->dummy_swallow = EINA_TRUE;

-- 




[EGIT] [tools/enventor] master 01/01: get ready to release v0.3.0

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=9c7debc87ce8a84c33bfc7cbb0cc182a23a85906

commit 9c7debc87ce8a84c33bfc7cbb0cc182a23a85906
Author: ChunEon Park 
Date:   Sat Jul 19 14:38:27 2014 +0900

get ready to release v0.3.0
---
 NEWS | 25 -
 README   |  2 +-
 configure.ac |  2 +-
 3 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index b129567..779141c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,30 @@
 
-Enventor 0.2
+Enventor 0.3.0
 
 
+Changes since Enventor 0.2.0:
+---
+
+Additions:
+   * Go to line (Ctrl+L)
+   * Support template codes from the new file
+   * Auto Completion (Ctrl+O)
+
+Improvements:
+   * Improved syntax color keywords to be configurable 
(enventor/data/color/color.src)
+   * Support more syntax color keywords
+   * Optimized syntax color function with parital applying mechacnism (Much 
faster in case of editing huge text)
+   * Support syntax color on macros
+   * Better intelligent focus movement
+   * Changed desktop category to Development/Utility
+
+Fixes:
+   * Fixed broken Search GUI scalability
+   * Fixed corrupted line number displaying
+   * Fixed a crash when an invalid input file is requested
+   * Got rid of a dangling empty space in the end of the file
+   * Fixed missing loading "&" character in a edc
+
 Changes since Enventor 0.1:
 ---
 
diff --git a/README b/README
index 674e9df..a52342a 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-[Enventor v0.2]
+[Enventor v0.3.0]
  
 This is an EDC editor with some convenient functions. It's brand new and was
 only started near the begining of June 2013, so expecting it to do everything a
diff --git a/configure.ac b/configure.ac
index aaa0cb7..709b536 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [0])
-m4_define([v_min], [2])
+m4_define([v_min], [3])
 m4_define([v_mic], [0])
 #m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 
0) | tr -d '\n']))dnl
 ##--   When released, remove the dnl on the below line

-- 




[EGIT] [tools/enventor] master 01/01: added missed a header.

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=9d7c89b7b9dcb618e03debba5f467405a816a022

commit 9d7c89b7b9dcb618e03debba5f467405a816a022
Author: ChunEon Park 
Date:   Sat Jul 19 14:09:59 2014 +0900

added missed a header.
---
 src/include/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/include/Makefile.am b/src/include/Makefile.am
index e1f661e..167f52f 100644
--- a/src/include/Makefile.am
+++ b/src/include/Makefile.am
@@ -22,4 +22,5 @@ EXTRA_DIST = common.h \
newfile.h \
auto_comp.h \
auto_comp_code.h \
+   goto.h \
search.h

-- 




[EGIT] [tools/enventor] master 01/01: fix indentation.

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=873d212cd4b039d582453369f07af1a53cf63ed5

commit 873d212cd4b039d582453369f07af1a53cf63ed5
Author: ChunEon Park 
Date:   Sat Jul 19 14:06:51 2014 +0900

fix indentation.
---
 data/templates/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/data/templates/Makefile.am b/data/templates/Makefile.am
index b9b5534..a047bf9 100644
--- a/data/templates/Makefile.am
+++ b/data/templates/Makefile.am
@@ -16,7 +16,7 @@ files_DATA = basic.edc \
  map.edj \
  minimum.edc \
  minimum.edj \
-proxy.edc \
+ proxy.edc \
  proxy.edj \
  rect.edc \
  rect.edj \

-- 




[EGIT] [tools/enventor] master 01/01: template - add a new template, minimum

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=408e6fd04d317f57524ca9c692fc05f62123cbcf

commit 408e6fd04d317f57524ca9c692fc05f62123cbcf
Author: ChunEon Park 
Date:   Sat Jul 19 13:55:24 2014 +0900

template - add a new template, minimum
---
 data/templates/Makefile.am| 7 ++-
 data/templates/empty.edc  | 6 --
 data/templates/{empty.edc => minimum.edc} | 0
 src/bin/edc_editor.c  | 3 +--
 src/bin/newfile.c | 7 ++-
 5 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/data/templates/Makefile.am b/data/templates/Makefile.am
index c6bdde1..b9b5534 100644
--- a/data/templates/Makefile.am
+++ b/data/templates/Makefile.am
@@ -14,7 +14,9 @@ files_DATA = basic.edc \
  image.edj \
  map.edc \
  map.edj \
- proxy.edc \
+ minimum.edc \
+ minimum.edj \
+proxy.edc \
  proxy.edj \
  rect.edc \
  rect.edj \
@@ -75,5 +77,8 @@ spacer.edj: Makefile spacer.edc
 sound.edj: Makefile sound.edc
$(EDJE_CC) $(EDJE_FLAGS) $(srcdir)/sound.edc $(builddir)/sound.edj
 
+minimum.edj: Makefile minimum.edc
+   $(EDJE_CC) $(EDJE_FLAGS) $(srcdir)/minimum.edc $(builddir)/minimum.edj
+
 clean-local:
rm -f *.edj
diff --git a/data/templates/empty.edc b/data/templates/empty.edc
index c184f42..e69de29 100644
--- a/data/templates/empty.edc
+++ b/data/templates/empty.edc
@@ -1,6 +0,0 @@
-collections {
-   group { name: "main";
-  parts {
-  }
-   }
-}
\ No newline at end of file
diff --git a/data/templates/empty.edc b/data/templates/minimum.edc
similarity index 100%
copy from data/templates/empty.edc
copy to data/templates/minimum.edc
diff --git a/src/bin/edc_editor.c b/src/bin/edc_editor.c
index 47d5a50..8ec2990 100644
--- a/src/bin/edc_editor.c
+++ b/src/bin/edc_editor.c
@@ -1079,14 +1079,13 @@ edit_edc_read(edit_data *ed, const char *file_path)
 
ecore_animator_add(syntax_color_timer_cb, ed);
 
-   autocomp_target_set(ed);
-
 err:
//Even any text is not inserted, line number should start with 1
if (ed->line_max == 0) line_init(ed);
if (strbuf_line) eina_strbuf_free(strbuf_line);
if (utf8_edit) eina_file_map_free(file, utf8_edit);
if (file) eina_file_close(file);
+   autocomp_target_set(ed);
 }
 
 void
diff --git a/src/bin/newfile.c b/src/bin/newfile.c
index 528ef2e..0206f40 100644
--- a/src/bin/newfile.c
+++ b/src/bin/newfile.c
@@ -79,10 +79,15 @@ list_item_selected_cb(void *data, Evas_Object *obj, void 
*event_info)
 {
Evas_Object *layout = data;
Elm_Object_Item *it = event_info;
+   char *name = (char *)elm_object_item_text_get(it);
+
+   /* empty is real empty. cannot load the edj. so replace the empty to minimum
+  to show the preview layout. */
+   if (!strcmp("empty", name)) name = "minimum";
 
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/templates/%s.edj", elm_app_data_dir_get(),
-elm_object_item_text_get(it));
+name);
 
elm_layout_file_set(layout, buf, "main");
 }

-- 




[EGIT] [tools/enventor] master 01/01: auto_completion - adjust scale value

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=1430eb9741a11ef64c236f666fafe8f550f9f608

commit 1430eb9741a11ef64c236f666fafe8f550f9f608
Author: ChunEon Park 
Date:   Sat Jul 19 13:56:26 2014 +0900

auto_completion - adjust scale value
---
 src/bin/auto_comp.c  | 2 +-
 src/include/auto_comp_code.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/auto_comp.c b/src/bin/auto_comp.c
index a5cc38d..e312b24 100644
--- a/src/bin/auto_comp.c
+++ b/src/bin/auto_comp.c
@@ -63,7 +63,7 @@ init_thread_cb(void *data, Ecore_Thread *thread EINA_UNUSED)
COMPDATA_SET(ad, "signal",AUTOCOMP_SIGNAL, 2, 0);
COMPDATA_SET(ad, "source",AUTOCOMP_SOURCE, 2, 0);
COMPDATA_SET(ad, "target",AUTOCOMP_TARGET, 2, 0);
-   COMPDATA_SET(ad, "scale",AUTOCOMP_SCALE, 0, 0);
+   COMPDATA_SET(ad, "scale",AUTOCOMP_SCALE, 1, 0);
COMPDATA_SET(ad, "rel1",AUTOCOMP_REL1, 2, 1);
COMPDATA_SET(ad, "rel2",AUTOCOMP_REL2, 2, 1);
COMPDATA_SET(ad, "relatvie",AUTOCOMP_RELATIVE, 1, 0);
diff --git a/src/include/auto_comp_code.h b/src/include/auto_comp_code.h
index 705f26a..2d1e16e 100644
--- a/src/include/auto_comp_code.h
+++ b/src/include/auto_comp_code.h
@@ -97,7 +97,7 @@ const char *AUTOCOMP_TARGET[AUTOCOMP_TARGET_LINE_CNT] =
 #define AUTOCOMP_SCALE_LINE_CNT 1
 const char *AUTOCOMP_SCALE[AUTOCOMP_SCALE_LINE_CNT] =
 {
-   "scale: 1;"
+   "scale: ;"
 };
 
 #define AUTOCOMP_REL1_LINE_CNT 3

-- 




[EGIT] [tools/enventor] master 01/01: newfile - allow enter key for selecting an item.

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=e84a03968abd848f0b18699578b0fadfc8ece30a

commit e84a03968abd848f0b18699578b0fadfc8ece30a
Author: ChunEon Park 
Date:   Sat Jul 19 13:39:07 2014 +0900

newfile - allow enter key for selecting an item.
---
 src/bin/newfile.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/newfile.c b/src/bin/newfile.c
index 416a92f..528ef2e 100644
--- a/src/bin/newfile.c
+++ b/src/bin/newfile.c
@@ -130,7 +130,7 @@ newfile_create(Evas_Object *parent, Evas_Smart_Cb 
selected_cb, void *data)
elm_object_focus_set(list, EINA_TRUE);
evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_smart_callback_add(list, "clicked,double", selected_cb, data);
+   evas_object_smart_callback_add(list, "activated", selected_cb, data);
 
Eina_List *l;
Eina_Stringshare *name;

-- 




[EGIT] [tools/enventor] master 01/01: auto_completion - fix indentation

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=3c0f61b4aa9121d996cdf4d1c0292a53ad86a542

commit 3c0f61b4aa9121d996cdf4d1c0292a53ad86a542
Author: ChunEon Park 
Date:   Sat Jul 19 13:35:35 2014 +0900

auto_completion - fix indentation
---
 src/bin/Makefile.am | 2 +-
 src/include/Makefile.am | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 63bb8a5..eebc94d 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -30,7 +30,7 @@ enventor_SOURCES = \
search.c \
goto.c \
newfile.c \
-auto_comp.c \
+   auto_comp.c \
globals.c
 
 enventor_LDADD = @ENVENTOR_LIBS@
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
index ad74be1..e1f661e 100644
--- a/src/include/Makefile.am
+++ b/src/include/Makefile.am
@@ -20,6 +20,6 @@ EXTRA_DIST = common.h \
template_code.h \
tools.h \
newfile.h \
-auto_comp.h \
+   auto_comp.h \
auto_comp_code.h \
search.h

-- 




[EGIT] [tools/enventor] master 01/01: introduce new feature, auto completion.

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=adae9b6fd322f7ad7a75212de54e7402be0f46df

commit adae9b6fd322f7ad7a75212de54e7402be0f46df
Author: ChunEon Park 
Date:   Sat Jul 19 13:31:08 2014 +0900

introduce new feature, auto completion.
---
 README   |   1 +
 src/bin/Makefile.am  |   1 +
 src/bin/auto_comp.c  | 553 +++
 src/bin/config_data.c|  18 ++
 src/bin/edc_editor.c | 102 
 src/bin/main.c   |  10 +
 src/bin/menu.c   |   9 +
 src/include/Makefile.am  |   2 +
 src/include/auto_comp.h  |   5 +
 src/include/auto_comp_code.h | 329 +
 src/include/common.h |   1 +
 src/include/config_data.h|   2 +
 src/include/edc_editor.h |   3 +
 13 files changed, 990 insertions(+), 46 deletions(-)

diff --git a/README b/README
index bda17e8..674e9df 100644
--- a/README
+++ b/README
@@ -47,6 +47,7 @@ F12 = Setting
  
 Ctrl+S = Quick Save + Compile EDC
 Ctrl+I = On/Off Auto Indentation
+Ctrl+O = On/Off Auto Completion
 Ctrl+W = Show/Hide Dummy Swallow
 Ctrl+H = On/Off Part Highlighting
 Ctrl+, = Full Edit View / Split View
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 059e52c..63bb8a5 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -30,6 +30,7 @@ enventor_SOURCES = \
search.c \
goto.c \
newfile.c \
+auto_comp.c \
globals.c
 
 enventor_LDADD = @ENVENTOR_LIBS@
diff --git a/src/bin/auto_comp.c b/src/bin/auto_comp.c
new file mode 100644
index 000..a5cc38d
--- /dev/null
+++ b/src/bin/auto_comp.c
@@ -0,0 +1,553 @@
+#include 
+#include "auto_comp_code.h"
+#include "common.h"
+
+#define QUEUE_SIZE 20
+#define COMPSET_PAIR_MINIMUM 1
+
+typedef struct comp_set_s
+{
+   Eina_Stringshare *key;
+   char **txt;
+   int cursor_offset;
+   int line_back;
+   int line_cnt;
+} comp_set;
+
+typedef struct autocomp_s
+{
+   char queue[QUEUE_SIZE];
+   int queue_pos;
+   comp_set compset[COMPSET_CNT];
+   edit_data *ed;
+   Evas_Object *anchor;
+   Evas_Object *list;
+   Eina_List *compset_list;
+   Ecore_Thread *init_thread;
+   Eina_Bool anchor_visible : 1;
+   Eina_Bool initialized : 1;
+} autocomp_data;
+
+static autocomp_data *g_ad = NULL;
+
+#define COMPDATA_SET(ad, key, txt, cursor_offset, line_back) \
+   compdata_set(ad, idx++, key, (char **)(&txt), cursor_offset, line_back, 
txt##_LINE_CNT)
+
+static void
+compdata_set(autocomp_data *ad, int idx, char *key, char **txt, int 
cursor_offset, int line_back, int line_cnt)
+{
+   ad->compset[idx].key = eina_stringshare_add(key);
+   ad->compset[idx].txt = txt;
+   ad->compset[idx].cursor_offset = cursor_offset;
+   ad->compset[idx].line_back = line_back;
+   ad->compset[idx].line_cnt = line_cnt;
+}
+
+static void
+init_thread_cb(void *data, Ecore_Thread *thread EINA_UNUSED)
+{
+   autocomp_data *ad = data;
+   int idx = 0;
+
+   COMPDATA_SET(ad, "collections",AUTOCOMP_COLLECTIONS, 2, 1);
+   COMPDATA_SET(ad, "image",AUTOCOMP_IMAGE, 7, 0);
+   COMPDATA_SET(ad, "images",AUTOCOMP_IMAGES, 2, 1);
+   COMPDATA_SET(ad, "group",AUTOCOMP_GROUP, 4, 1);
+   COMPDATA_SET(ad, "type",AUTOCOMP_TYPE, 0, 0);
+   COMPDATA_SET(ad, "part",AUTOCOMP_PART, 4, 1);
+   COMPDATA_SET(ad, "parts",AUTOCOMP_PARTS, 2, 1);
+   COMPDATA_SET(ad, "description",AUTOCOMP_DESCRIPTION, 8, 1);
+   COMPDATA_SET(ad, "inherit",AUTOCOMP_INHERIT, 6, 0);
+   COMPDATA_SET(ad, "program",AUTOCOMP_PROGRAM, 4, 1);
+   COMPDATA_SET(ad, "programs",AUTOCOMP_PROGRAMS, 2, 1);
+   COMPDATA_SET(ad, "signal",AUTOCOMP_SIGNAL, 2, 0);
+   COMPDATA_SET(ad, "source",AUTOCOMP_SOURCE, 2, 0);
+   COMPDATA_SET(ad, "target",AUTOCOMP_TARGET, 2, 0);
+   COMPDATA_SET(ad, "scale",AUTOCOMP_SCALE, 0, 0);
+   COMPDATA_SET(ad, "rel1",AUTOCOMP_REL1, 2, 1);
+   COMPDATA_SET(ad, "rel2",AUTOCOMP_REL2, 2, 1);
+   COMPDATA_SET(ad, "relatvie",AUTOCOMP_RELATIVE, 1, 0);
+   COMPDATA_SET(ad, "offset", AUTOCOMP_OFFSET, 1, 0);
+   COMPDATA_SET(ad, "color", AUTOCOMP_COLOR, 1, 0);
+   COMPDATA_SET(ad, "color2", AUTOCOMP_COLOR2, 1, 0);
+   COMPDATA_SET(ad, "color3", AUTOCOMP_COLOR3, 1, 0);
+   COMPDATA_SET(ad, "aspect", AUTOCOMP_ASPECT, 1, 0);
+   COMPDATA_SET(ad, "aspect_preference", AUTOCOMP_ASPECT_PREFERENCE, 1, 0);
+   COMPDATA_SET(ad, "normal", AUTOCOMP_NORMAL, 2, 0);
+   COMPDATA_SET(ad, "effect", AUTOCOMP_EFFECT, 0, 0);
+   COMPDATA_SET(ad, "text", AUTOCOMP_TEXT, 2, 1);
+   COMPDATA_SET(ad, "font", AUTOCOMP_FONT, 2, 0);
+   COMPDATA_SET(ad, "align", AUTOCOMP_ALIGN, 1, 0);
+   COMPDATA_SET(ad, "size", AUTOCOMP_SIZE, 1, 0);
+   COMPDATA_SET(ad, "action", AUTOCOMP_ACTION, 6, 0);
+   COMPDATA_SET(ad, "transition", AUTOCOMP_TRANSITION, 1, 0);
+   COMPDATA_SET(ad, "after", AUTOCOMP_AFTER, 2, 0);
+   COMPDATA_SET(ad, "styles", AUTOCOMP_STYLES, 2, 1);
+   COMPDATA_SET(ad, "style", AUTOCOMP_STYLE, 4, 1);
+   COMPDATA_SET(ad, "base", AUTOCOMP_BASE, 2, 0);
+   COMPDATA_SET(ad, "sounds", AU

[EGIT] [tools/enventor] master 01/01: templates - fix an indentation of a textblock template code.

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=4c8f205d2c8b5101629f993ad9854e9412b57a00

commit 4c8f205d2c8b5101629f993ad9854e9412b57a00
Author: ChunEon Park 
Date:   Sat Jul 19 12:59:59 2014 +0900

templates - fix an indentation of a textblock template code.
---
 data/templates/textblock.edc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/data/templates/textblock.edc b/data/templates/textblock.edc
index fe9c1cc..ba1cb0f 100644
--- a/data/templates/textblock.edc
+++ b/data/templates/textblock.edc
@@ -2,7 +2,7 @@ collections {
styles {
   style { name: "text_style";
  base: "font="Sans" font_size=30 text_class=entry color=#0088AA 
style=shadow,bottom shadow_color=#0080 valign=0.5 ellipsis=1.0 wrap=none 
align=center";
-}
+  }
}
group { name: "main";
   parts {

-- 




Re: [E-devel] Request for help: Adding libefl to autotools

2014-07-18 Thread Gustavo Sverzut Barbieri
did it all work?

I'd say we need to do a replacement token and expand it to actual lib
or libefl. then all libs in automake would have an "if LIBEFL" and
then would build a static library as "noinst" and then the final
lt-lib is the aggregation of all of those.

On Fri, Jul 18, 2014 at 9:22 AM, Tom Hacohen  wrote:
> OK. I don't know what I missed before but I started from scratch and now
> it works. :)
>
> --
> Tom.
>
> On 15/07/14 23:49, Tom Hacohen wrote:
>> Hey everyone (probably Gustavo),
>>
>> As part of my work on efl interfaces I've encountered the need of having
>> a unified library that is both compiled and ships headers which are used
>> by all of the efl.
>>
>> Unfortunately, I can't seem to figure out (to be honest, I just get
>> frustrated with autofoo and our setup there) how to add a libefl that
>> ships libefl.so and Efl.h that are added as dependencies for the rest of
>> the libs during compile (in tree) and install (correctly updating the
>> .pc files).
>>
>> I'd love it if someone could help me out there. I really don't want to
>> dive into autofoo and try making sense of our macros if it can be helped
>> (someone already knows from the top of their head).
>>
>> Looking forward for the rescue.
>>
>> Just to clarify a bit more with an example:
>> I'd like to include Efl.h from Edje.h and have libedje.so linked with
>> libefl.so without going around and updating all of the Makefile.am files
>> we have all over the place, and have it working in tree and after
>> installed. I think I've done it (was it me?) a while a go when I added
>> Eo in tree so it shouldn't be too hard.
>>
>> Thanks,
>> Tom.
>>
>>
>> --
>> Want fast and easy access to all the code in your enterprise? Index and
>> search up to 200,000 lines of code with a free copy of Black Duck
>> Code Sight - the same software that powers the world's largest code
>> search on Ohloh, the Black Duck Open Hub! Try it now.
>> http://p.sf.net/sfu/bds
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>
>
>
> --
> Want fast and easy access to all the code in your enterprise? Index and
> search up to 200,000 lines of code with a free copy of Black Duck
> Code Sight - the same software that powers the world's largest code
> search on Ohloh, the Black Duck Open Hub! Try it now.
> http://p.sf.net/sfu/bds
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 99225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas: table - when colspan(rowspan) is over 2, padding size should be added.

2014-07-18 Thread WooHyun Jung
woohyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ad8daa2f846dfc49289894703b88549ac97a0f09

commit ad8daa2f846dfc49289894703b88549ac97a0f09
Author: WooHyun Jung 
Date:   Sat Jul 19 09:50:59 2014 +0900

evas: table - when colspan(rowspan) is over 2, padding size should be added.

@ fix
---
 src/lib/evas/canvas/evas_object_table.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/evas/canvas/evas_object_table.c 
b/src/lib/evas/canvas/evas_object_table.c
index 826cc5b..c577134 100644
--- a/src/lib/evas/canvas/evas_object_table.c
+++ b/src/lib/evas/canvas/evas_object_table.c
@@ -489,8 +489,10 @@ 
_evas_object_table_calculate_layout_homogeneous(Evas_Object *o, Evas_Table_Data
 
 cx = x + ((opt->col * ww) / priv->size.cols);
 cw = x + (((opt->col + opt->colspan) * ww) / priv->size.cols) - cx;
+cw += (opt->colspan - 1) * priv->pad.v;
 cy = y + ((opt->row * hh) / priv->size.rows);
 ch = y + (((opt->row + opt->rowspan) * hh) / priv->size.rows) - cy;
+ch += (opt->rowspan - 1) * priv->pad.h;
 
 cx += (opt->col) * priv->pad.h;
 cy += (opt->row) * priv->pad.v;

-- 




[EGIT] [core/efl] master 02/02: eldbus-cxx: Used inner braces for initialization of inner struct

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=83db6524ba763e204464e1d0b17d1db5a3bffab6

commit 83db6524ba763e204464e1d0b17d1db5a3bffab6
Author: Felipe Magno de Almeida 
Date:   Fri Jul 18 19:23:43 2014 -0300

eldbus-cxx: Used inner braces for initialization of inner struct

This removes lots of warnings when compiling with clang.
---
 src/bindings/eldbus_cxx/eldbus_service.hh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bindings/eldbus_cxx/eldbus_service.hh 
b/src/bindings/eldbus_cxx/eldbus_service.hh
index 1568420..6a4919c 100644
--- a/src/bindings/eldbus_cxx/eldbus_service.hh
+++ b/src/bindings/eldbus_cxx/eldbus_service.hh
@@ -167,7 +167,7 @@ void _create_methods_specification(Tuple const&
, std::integral_constant
, std::true_type)
 {
-  methods[I] = Eldbus_Method2 {0, 0, 0, 0, 0, 0};
+  methods[I] = Eldbus_Method2 {{0, 0, 0, 0, 0}, 0};
 };
 
 template 
@@ -293,12 +293,12 @@ void _create_methods_specification_impl(Method const& 
method, Eldbus_Method2& el
 
   eldbus::_fill_methods(*out_params, method.outs);
 
-  eldbus_method = {method.name, &(*in_params)[0], &(*out_params)[0]
+  eldbus_method = {{method.name, &(*in_params)[0], &(*out_params)[0]
, reinterpret_cast
 (static_cast
  (&_method_callback))
-   , ELDBUS_METHOD_FLAG_HAS_DATA
+   , ELDBUS_METHOD_FLAG_HAS_DATA}
, new std::tuple(std::move(method.f), method.ins, method.outs)};

-- 




[EGIT] [core/efl] master 01/02: eolian-cxx: Fixed generation using abstract return-type instead of C type

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ad66192465360e45548c1344033b9c3a6861cc11

commit ad66192465360e45548c1344033b9c3a6861cc11
Author: Felipe Magno de Almeida 
Date:   Fri Jul 18 19:20:55 2014 -0300

eolian-cxx: Fixed generation using abstract return-type instead of C type

The _tmp_ret variable should use the native C type and not the
abstracted C++ type.
---
 src/lib/eolian_cxx/grammar/inheritance_base_generator.hh | 16 ++--
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh 
b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
index c7aaa8d..54617f1 100644
--- a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
+++ b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
@@ -192,7 +192,7 @@ operator<<(std::ostream& out, 
inheritance_base_operations_function const& x)
<< tab(2) << "{" << endl;
if (!is_void)
  {
-out << tab(3) << reinterpret_type(func.ret) << " _tmp_ret = {};"  << 
endl;
+out << tab(3) << func.ret.front().native << " _tmp_ret = {};"  << endl;
  }
out << tab(3)
<< "eo_do_super(static_cast(this)->_eo_ptr()" << endl
@@ -202,10 +202,8 @@ operator<<(std::ostream& out, 
inheritance_base_operations_function const& x)
<< "(";
parameter_names_enumerate(out, func.params)
<< "));" << endl;
-   if (!is_void)
- {
-out << tab(3) << "return _tmp_ret;" << endl;
- }
+   if (!function_is_void(func))
+ out << tab(4) << "return " << to_cxx(func.ret, "_tmp_ret") << ";" << endl;
out << tab(2) << "}" << endl << endl;
return out;
 }
@@ -315,7 +313,7 @@ operator<<(std::ostream& out, 
inheritance_extension_function const& x)
 
if (!is_void)
  {
-out << tab(3) << reinterpret_type(x._func.ret) << " _tmp_ret = {};" << 
endl;
+out << tab(3) << x._func.ret.front().native << " _tmp_ret = {};"  << 
endl;
  }
 
parameters_container_type::const_iterator callback_iter =
@@ -332,10 +330,8 @@ operator<<(std::ostream& out, 
inheritance_extension_function const& x)
out << tab(3) << "eo_do(static_cast(this)->_eo_ptr(), "
<< function_call(x._func) << ");" << endl;
 
-   if (!is_void)
- {
-out << tab(3) << "return _tmp_ret;" << endl;
- }
+   if (!function_is_void(x._func))
+ out << tab(4) << "return " << to_cxx(x._func.ret, "_tmp_ret") << ";" << 
endl;
 
out << tab(2) << "}" << endl
<< endl;

-- 




[EGIT] [core/efl] master 10/36: evas-cxx: Added canvas sub-directory to include paths for evas and evas-cxx

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c915df4f409181e71ce03eb5f9fd79a900d27e89

commit c915df4f409181e71ce03eb5f9fd79a900d27e89
Author: Felipe Magno de Almeida 
Date:   Wed Jul 16 11:04:22 2014 -0300

evas-cxx: Added canvas sub-directory to include paths for evas and evas-cxx

These subdirectories are needed because the generated wrappers include them 
directly.
---
 pc/evas-cxx.pc.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pc/evas-cxx.pc.in b/pc/evas-cxx.pc.in
index 4db98e7..e9525e9 100644
--- a/pc/evas-cxx.pc.in
+++ b/pc/evas-cxx.pc.in
@@ -13,4 +13,4 @@ Requires.private: @requirements_pc_evas@
 Version: @VERSION@
 Libs: -L${libdir} -levas
 Libs.private: @requirements_libs_evas@
-Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/evas-@VMAJ@ 
-I${includedir}/evas-cxx-@VMAJ@
+Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/evas-@VMAJ@ 
-I${includedir}/evas-cxx-@VMAJ@ -I${includedir}/evas-cxx-@VMAJ@/canvas 
-I${includedir}/evas-@VMAJ@/canvas

-- 




[EGIT] [core/efl] master 06/36: eolian-cxx: Initial version of complex types / callbacks / events implementation.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=78e396ac19b203b0dbfb1a2b8d298177fffde9e4

commit 78e396ac19b203b0dbfb1a2b8d298177fffde9e4
Author: Savio Sena 
Date:   Wed Jul 16 21:29:47 2014 -0300

eolian-cxx: Initial version of complex types / callbacks / events 
implementation.
---
 src/Makefile_Eo_Cxx.am |   3 +-
 src/Makefile_Eolian_Cxx.am |  11 +-
 src/bin/eolian_cxx/convert.cc  |   2 +-
 src/bin/eolian_cxx/eolian_wrappers.hh  |  19 +-
 src/bin/eolian_cxx/type_lookup.hh  |  48 -
 src/bin/eolian_cxx/type_lookup_table.cc|  31 +++
 src/bindings/eo_cxx/eo_base.hh |   1 +
 src/bindings/eo_cxx/eo_cxx_interop.hh  | 237 +
 src/bindings/eo_cxx/eo_event.hh| 130 +++
 src/lib/eolian_cxx/eo_types.hh | 188 ++--
 src/lib/eolian_cxx/eo_validate.hh  |  37 
 .../grammar/eo_class_constructors_generator.hh |  24 ++-
 .../grammar/eo_class_events_generator.hh   |  76 +++
 .../grammar/eo_class_functions_generator.hh|  45 ++--
 src/lib/eolian_cxx/grammar/eo_class_generator.hh   |   2 +
 src/lib/eolian_cxx/grammar/eo_header_generator.hh  |  38 
 .../grammar/inheritance_base_generator.hh  |  12 +-
 src/lib/eolian_cxx/grammar/parameters_generator.hh |  67 +-
 src/lib/eolian_cxx/grammar/type_generator.hh   | 106 +
 19 files changed, 943 insertions(+), 134 deletions(-)

diff --git a/src/Makefile_Eo_Cxx.am b/src/Makefile_Eo_Cxx.am
index 2acdc05..ffb0e1d 100644
--- a/src/Makefile_Eo_Cxx.am
+++ b/src/Makefile_Eo_Cxx.am
@@ -16,6 +16,7 @@ bindings/eo_cxx/eo_inherit.hh \
 bindings/eo_cxx/eo_ops.hh \
 bindings/eo_cxx/eo_private.hh \
 bindings/eo_cxx/eo_inherit_bindings.hh \
-bindings/eo_cxx/Eo.hh
+bindings/eo_cxx/Eo.hh \
+bindings/eo_cxx/eo_cxx_interop.hh
 
 endif
diff --git a/src/Makefile_Eolian_Cxx.am b/src/Makefile_Eolian_Cxx.am
index af89d12..6bfc6c1 100644
--- a/src/Makefile_Eolian_Cxx.am
+++ b/src/Makefile_Eolian_Cxx.am
@@ -22,6 +22,7 @@ lib/eolian_cxx/grammar/eo_class_generator.hh \
 lib/eolian_cxx/grammar/eo_header_generator.hh \
 lib/eolian_cxx/grammar/inheritance_base_generator.hh \
 lib/eolian_cxx/grammar/parameters_generator.hh \
+lib/eolian_cxx/grammar/type_generator.hh \
 lib/eolian_cxx/grammar/tab.hh
 
 ### Binary
@@ -35,7 +36,8 @@ bin_eolian_cxx_eolian_cxx_SOURCES = \
 bin/eolian_cxx/convert.hh \
 bin/eolian_cxx/eolian_wrappers.hh \
 bin/eolian_cxx/safe_strings.hh \
-bin/eolian_cxx/type_lookup.hh \
+ bin/eolian_cxx/type_lookup.hh \
+ bin/eolian_cxx/type_lookup_table.cc \
 bin/eolian_cxx/eolian_cxx.cc
 
 bin_eolian_cxx_eolian_cxx_CXXFLAGS = -I$(top_builddir)/src/lib/efl \
@@ -82,11 +84,4 @@ tests_eolian_cxx_eolian_cxx_suite_DEPENDENCIES = 
@USE_EOLIAN_INTERNAL_LIBS@
 
 endif
 
-EXTRA_DIST += \
-tests/eolian_cxx/data/base.eo \
-tests/eolian_cxx/data/class_simple.eo \
-tests/eolian_cxx/data/scope.eo \
-tests/eolian_cxx/data/ctor_dtor.eo \
-tests/eolian_cxx/data/complex_type.eo
-
 endif
diff --git a/src/bin/eolian_cxx/convert.cc b/src/bin/eolian_cxx/convert.cc
index 873068d..f52affa 100644
--- a/src/bin/eolian_cxx/convert.cc
+++ b/src/bin/eolian_cxx/convert.cc
@@ -116,7 +116,7 @@ convert_eolian_property_to_functions(Eolian_Class const& 
klass)
  {
 efl::eolian::eolian_type getter_param_type =
   type_to_native(param.type);
-getter_param_type/*.native*/ += "*"; // XXX implement 
complex types
+getter_param_type.native += "*";
 return efl::eolian::eo_parameter
   { { getter_param_type }, param.name };
  });
diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index e9a9ab9..7954428 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -180,8 +180,7 @@ function_type(Eolian_Function const& func)
 inline efl::eolian::eolian_type_instance
 function_return_type(Eolian_Function const& func, Eolian_Function_Type 
func_type = method_t::value)
 {
-   return type_lookup
- (::eolian_function_return_type_get(&func, func_type));
+   return type_lookup(::eolian_function_return_type_get(&func, func_type));
 }
 
 inline efl::eolian::eolian_type_instance
@@ -286,11 +285,17 @@ parameter_type(Eolian_Function_Parameter const& parameter,
efl::eolian::eolian_type_instance type
  (type_lookup(::eolian_parameter_type_get(¶meter)));
assert(!type.empty());
-   // XXX implement complex types.
if (parameter_is_out(parameter))
- type = { type_to_native(type) + "*" };
+ {
+type = { efl::eolian::type_to_native(type) };
+type.front().native += "*";
+ }
if (pa

[EGIT] [core/efl] master 09/36: eolian-cxx: Fixed inheritance extensions not proper qualifying the base class

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6109d17de1c77a027a9c7243233c2138c170139b

commit 6109d17de1c77a027a9c7243233c2138c170139b
Author: Felipe Magno de Almeida 
Date:   Wed Jul 16 11:33:42 2014 -0300

eolian-cxx: Fixed inheritance extensions not proper qualifying the base 
class

The generator now globally qualifies the base names, so it works
outside the efl namespace
---
 src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh 
b/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
index f25a9a9..adc4e63 100644
--- a/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
+++ b/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
@@ -46,8 +46,8 @@ operator<<(std::ostream& out, class_extensions const& x)
 if (it != first) out << ",";
 out << tab(2)
 << "efl::eo::detail::extension_inheritance<"
-<<  *it << ">::type<"
-<<  cls.name << ">";
+<<  *it << ">::type< ::"
+<<  cls.name_space << "::" << cls.name << ">";
  }
out << endl;
return out;

-- 




[EGIT] [core/efl] master 21/36: eo-cxx: Added catch-all to_c interoperability function

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=df5f57d0ad323faa37f1ce36f39a4f77128340f6

commit df5f57d0ad323faa37f1ce36f39a4f77128340f6
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 14:05:19 2014 -0300

eo-cxx: Added catch-all to_c interoperability function
---
 src/bindings/eo_cxx/eo_cxx_interop.hh | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/bindings/eo_cxx/eo_cxx_interop.hh 
b/src/bindings/eo_cxx/eo_cxx_interop.hh
index 4a15949..8d17e89 100644
--- a/src/bindings/eo_cxx/eo_cxx_interop.hh
+++ b/src/bindings/eo_cxx/eo_cxx_interop.hh
@@ -37,6 +37,12 @@ to_c(bool x)
return x ? EINA_TRUE : EINA_FALSE;
 }
 
+template 
+T to_c(T const& v)
+{
+   return v;
+}
+
  From C to C++
 
 template 

-- 




[EGIT] [core/efl] master 30/36: Fixed type looking up for complex types

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3abc94696e0ee447b02f2c427723c41e7fb3c087

commit 3abc94696e0ee447b02f2c427723c41e7fb3c087
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 21:47:36 2014 -0300

Fixed type looking up for complex types
---
 src/bin/eolian_cxx/type_lookup.hh | 43 +++
 1 file changed, 16 insertions(+), 27 deletions(-)

diff --git a/src/bin/eolian_cxx/type_lookup.hh 
b/src/bin/eolian_cxx/type_lookup.hh
index b26fff9..da68ff4 100644
--- a/src/bin/eolian_cxx/type_lookup.hh
+++ b/src/bin/eolian_cxx/type_lookup.hh
@@ -2,7 +2,6 @@
 #ifndef EOLIAN_CXX_TYPE_LOOKUP_HH
 #define EOLIAN_CXX_TYPE_LOOKUP_HH
 
-#include 
 #include 
 #include 
 #include 
@@ -52,36 +51,26 @@ type_lookup(const Eolian_Type* type,
 {
if (type == NULL) return { efl::eolian::void_type }; // XXX shouldn't
 
-   Eina_List const* lt = NULL;
-   Eina_Iterator *it = NULL;
-   unsigned int n_;
-   if ( (it = ::eolian_type_subtypes_list_get(type)) != NULL)
- {
-lt = static_cast(::eina_iterator_container_get(it));
-n_ = ::eina_list_count(lt) + 1;
-::eina_iterator_free(it);
- }
-   else
+   std::vector types; types.push_back(type);
+   efl::eina::iterator iterator ( 
::eolian_type_subtypes_list_get(type) );
+   while(iterator != efl::eina::iterator())
+ if(Eolian_Type const* t = &*iterator)
+   types.push_back(t), ++iterator;
+
+   efl::eolian::eolian_type_instance v(types.size());
+   for (std::size_t i = 0; i != types.size(); ++i)
  {
-n_ = 1;
+v[i] = type_find(lut.begin(), lut.end(), type_from_eolian(*types[i]));
  }
-   // assert(n_ > 0);
-   efl::eolian::eolian_type_instance v(n_);
-   for (size_t i=0; i

[EGIT] [core/efl] master 05/36: eolian-cxx: Added examples.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=88f12935278c9d3547da96b74e525402e2efd3f0

commit 88f12935278c9d3547da96b74e525402e2efd3f0
Author: Savio Sena 
Date:   Wed Jul 16 16:32:56 2014 -0300

eolian-cxx: Added examples.

Added complex types, callbacks and events examples.
---
 src/examples/eolian_cxx/Makefile.am|  29 +++--
 src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc |  58 ++
 .../eolian_cxx/eolian_cxx_complex_types_01.cc  | 119 +
 src/examples/eolian_cxx/eolian_cxx_eo_events_01.cc | 103 ++
 4 files changed, 301 insertions(+), 8 deletions(-)

diff --git a/src/examples/eolian_cxx/Makefile.am 
b/src/examples/eolian_cxx/Makefile.am
index c5ad78a..a163522 100644
--- a/src/examples/eolian_cxx/Makefile.am
+++ b/src/examples/eolian_cxx/Makefile.am
@@ -27,6 +27,8 @@ AM_CXXFLAGS = \
-I$(top_builddir)/src/bindings/eo_cxx \
-I$(top_srcdir)/src/bindings/eina_cxx \
-I$(top_builddir)/src/bindings/eina_cxx \
+   -I$(top_srcdir)/src/bindings/ecore_cxx \
+   -I$(top_builddir)/src/bindings/ecore_cxx \
-I$(top_srcdir)/src/lib/evas/ \
-I$(top_builddir)/src/lib/evas/ \
-I$(top_srcdir)/src/lib/evas/common \
@@ -77,11 +79,17 @@ IMPL = \
 SRCS = \
eolian_cxx_simple_01.cc \
eolian_cxx_inherit_01.cc \
+   eolian_cxx_callbacks_01.cc \
+   eolian_cxx_eo_events_01.cc \
+   eolian_cxx_complex_types_01.cc \
$(IMPL)
 
 EXTRA_PROGRAMS = \
-   eolian_cxx_simple_01 #\
-   eolian_cxx_inherit_01
+   eolian_cxx_simple_01 \
+   eolian_cxx_inherit_01 \
+   eolian_cxx_callbacks_01 \
+   eolian_cxx_eo_events_01 \
+   eolian_cxx_complex_types_01
 
 DATA_FILES = Makefile.examples $(EOS)
 
@@ -89,15 +97,19 @@ eolian_cxx_simple_01_SOURCES = \
eolian_cxx_simple_01.cc \
colourable.c \
colourablesquare.c
-
 eolian_cxx_simple_01.$(OBJEXT): $(GENERATED)
 
-# eolian_cxx_inherit_01_SOURCES = \
-#  eolian_cxx_inherit_01.cc \
-#  colourable.c \
-#  colourablesquare.c
+eolian_cxx_inherit_01_SOURCES = \
+   eolian_cxx_inherit_01.cc \
+   colourable.c \
+   colourablesquare.c
+eolian_cxx_inherit_01.$(OBJEXT): $(GENERATED)
 
-# eolian_cxx_inherit_01.$(OBJEXT): $(GENERATED)
+eolian_cxx_callbacks_01_SOURCES = eolian_cxx_callbacks_01.cc
+
+eolian_cxx_eo_events_01_SOURCES = eolian_cxx_eo_events_01.cc
+
+eolian_cxx_complex_types_01_SOURCES = eolian_cxx_complex_types_01.cc
 
 %.eo.hh: %.eo
$(AM_V_EOLCXX)$(EOLIAN_CXX) $(EOLIAN_FLAGS) -I${abs_srcdir} -o $@ $<
@@ -125,3 +137,4 @@ uninstall-local:
 if ALWAYS_BUILD_EXAMPLES
 noinst_PROGRAMS = $(EXTRA_PROGRAMS)
 endif
+
diff --git a/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc 
b/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc
new file mode 100644
index 000..4efff00
--- /dev/null
+++ b/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc
@@ -0,0 +1,58 @@
+#include 
+#include 
+#include 
+#include 
+
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+
+#include 
+
+namespace efl { namespace ecore {
+using ::ecore_poller;
+} }
+
+void
+example_callbacks()
+{
+   int count = 0;
+   efl::ecore::ecore_poller poller
+  (ECORE_POLLER_CORE, 1,
+   [&count, &poller]
+  {
+ if (++count == 5)
+   {
+  std::cout << std::endl;
+  ecore_main_loop_quit();
+  return false;
+   }
+ poller.interval_set(2*poller.interval_get());
+ std::cout << "."<< std::flush;
+ return true;
+  });
+   ::ecore_main_loop_begin();
+}
+
+int main()
+{
+   efl::eina::eina_init eina_;
+   efl::eo::eo_init eo_;
+   efl::ecore::ecore_init ecore_;
+
+   std::cerr << "[+] Running EFL++ example: Callbacks" << std::endl;
+   example_callbacks();
+
+   return 0;
+}
+
diff --git a/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc 
b/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc
new file mode 100644
index 000..cc2c760
--- /dev/null
+++ b/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc
@@ -0,0 +1,119 @@
+#include 
+#include 
+#include 
+#include 
+
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+
+namespace efl { namespace evas { // XXX only while we don't have namespaces in 
EFL
+using evas_base = ::evas;
+using ::evas_object;
+using ::evas_text;
+using ::evas_grid;
+using ::evas_rectangle;
+using ::evas_common_interface;
+using ::evas_zoomable_interface;
+} }
+
+namespace {
+
+// EFL Ecore-Evas doesn't have C++ bindings yet.
+Ecore_Evas *ee;
+void
+_ecore_evas_init()
+{
+   if (!ee)
+ {
+::ecore_evas_init();
+::evas_init();
+ee = ::ecore_evas_new(NULL, 0, 0, 500, 380, NULL);
+::

[EGIT] [core/efl] master 26/36: eina-cxx: Added move-constructors to lists

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c4faec118eea5536b59fff49e6b1d1141df85ea9

commit c4faec118eea5536b59fff49e6b1d1141df85ea9
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 21:45:25 2014 -0300

eina-cxx: Added move-constructors to lists
---
 src/bindings/eina_cxx/eina_list.hh| 8 
 src/bindings/eina_cxx/eina_ptrlist.hh | 6 ++
 2 files changed, 14 insertions(+)

diff --git a/src/bindings/eina_cxx/eina_list.hh 
b/src/bindings/eina_cxx/eina_list.hh
index ec54f42..d0a856e 100644
--- a/src/bindings/eina_cxx/eina_list.hh
+++ b/src/bindings/eina_cxx/eina_list.hh
@@ -190,6 +190,8 @@ public:
   typedef typename _base_type::reverse_iterator reverse_iterator;
   typedef typename _base_type::const_reverse_iterator const_reverse_iterator;
 
+  list& operator=(list&& other) = default;
+
   using _base_type::_base_type;
   using _base_type::clear;
   using _base_type::size;
@@ -282,6 +284,8 @@ public:
 insert(end(), other.begin(), other.end());
 return *this;
   }
+  list& operator=(list&& other) = default;
+  list(list&& other) = default;
   
   using _base_type::clear;
   using _base_type::size;
@@ -438,6 +442,8 @@ public:
   typedef typename _base_type::reverse_iterator reverse_iterator;
   typedef typename _base_type::const_reverse_iterator const_reverse_iterator;
 
+  range_list& operator=(range_list&& other) = default;
+
   using _base_type::_base_type;
   using _base_type::clear;
   using _base_type::size;
@@ -502,6 +508,8 @@ public:
 _base_type::_handle = other._handle;
 return *this;
   }
+  range_list& operator=(range_list&& other) = default;
+  range_list(range_list&& other) = default;
   
   using _base_type::size;
   using _base_type::empty;
diff --git a/src/bindings/eina_cxx/eina_ptrlist.hh 
b/src/bindings/eina_cxx/eina_ptrlist.hh
index 140c5ce..42a930f 100644
--- a/src/bindings/eina_cxx/eina_ptrlist.hh
+++ b/src/bindings/eina_cxx/eina_ptrlist.hh
@@ -326,6 +326,9 @@ struct _ptr_list_common_base
 : _impl(_list)
   {}
 
+  _ptr_list_common_base& operator=(_ptr_list_common_base&& other) = default;
+  _ptr_list_common_base(_ptr_list_common_base&& other) = 
default;
+
   /**
* @brief Default constructor. Create an empty list.
*
@@ -431,6 +434,9 @@ public:
   ptr_list(clone_allocator_type alloc)
 : _base_type(alloc)
   {}
+
+  ptr_list& operator=(ptr_list&& other) 
= default;
+  ptr_list(ptr_list&& other) = default;
   
   /**
* @brief Construct an list object with @p n copies of @p t.

-- 




[EGIT] [core/efl] master 07/36: eolian-cxx: Fixed a bug in class validator.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=027fa407bd68c02eeb2cc52f8fdf60694834ba7f

commit 027fa407bd68c02eeb2cc52f8fdf60694834ba7f
Author: Savio Sena 
Date:   Thu Jul 17 00:38:13 2014 -0300

eolian-cxx: Fixed a bug in class validator.
---
 src/lib/eolian_cxx/eo_validate.hh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eolian_cxx/eo_validate.hh 
b/src/lib/eolian_cxx/eo_validate.hh
index e317f8f..4f131a0 100644
--- a/src/lib/eolian_cxx/eo_validate.hh
+++ b/src/lib/eolian_cxx/eo_validate.hh
@@ -13,7 +13,7 @@ namespace efl { namespace eolian {
 inline bool
 _is_valid(std::string const& value)
 {
-   return !value.empty() and isalpha(value[0]);
+   return !value.empty() and (isalpha(value[0]) || value[0] == '_');
 }
 
 inline bool

-- 




[EGIT] [core/efl] master 24/36: eina-cxx: Added range_list to range types for eina-cxx

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e256a92eb1a6b4ca927e1a52a2850ad8b39bd18c

commit e256a92eb1a6b4ca927e1a52a2850ad8b39bd18c
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 15:29:16 2014 -0300

eina-cxx: Added range_list to range types for eina-cxx

Added range_list which abstracts a ptr_list for wrapper types.
---
 src/bindings/eina_cxx/eina_list.hh| 260 +-
 src/bindings/eina_cxx/eina_ptrlist.hh | 352 +-
 src/bindings/eina_cxx/eina_range_types.hh |   1 +
 3 files changed, 358 insertions(+), 255 deletions(-)

diff --git a/src/bindings/eina_cxx/eina_list.hh 
b/src/bindings/eina_cxx/eina_list.hh
index dbdfea9..ec54f42 100644
--- a/src/bindings/eina_cxx/eina_list.hh
+++ b/src/bindings/eina_cxx/eina_list.hh
@@ -73,6 +73,100 @@ struct _ptr_eo_list_iterator : _ptr_list_iterator
   using _base_type::native_handle;
 };
 
+/**
+ * @internal
+ */
+struct _eo_list_access_traits : _ptr_list_access_traits
+{
+  template 
+  struct iterator
+  {
+typedef _ptr_eo_list_iterator type;
+  };
+  template 
+  struct const_iterator : iterator {};
+  template 
+  static T& back(Eina_List* list)
+  {
+return *static_cast(static_cast(&eina_list_last(list)->data));
+  }
+  template 
+  static T const& back(Eina_List const* list)
+  {
+return _eo_list_access_traits::back(const_cast(list));
+  }
+  template 
+  static T& front(Eina_List* list)
+  {
+return *static_cast(static_cast(&list->data));
+  }
+  template 
+  static T const& front(Eina_List const* list)
+  {
+return _eo_list_access_traits::front(const_cast(list));
+  }
+  template 
+  static typename iterator::type begin(Eina_List* list)
+  {
+return typename iterator::type(list, list);
+  }
+  template 
+  static typename iterator::type end(Eina_List* list)
+  {
+return typename iterator::type(list, nullptr);
+  }
+  template 
+  static typename const_iterator::type begin(Eina_List const* list)
+  {
+return _eo_list_access_traits::begin(const_cast(list));
+  }
+  template 
+  static typename const_iterator::type end(Eina_List const* list)
+  {
+return _eo_list_access_traits::end(const_cast(list));
+  }
+  template 
+  static std::reverse_iterator::type> rbegin(Eina_List* 
list)
+  {
+return std::reverse_iterator::type>(_eo_list_access_traits::end(list));
+  }
+  template 
+  static std::reverse_iterator::type> rend(Eina_List* 
list)
+  {
+return std::reverse_iterator::type>(_eo_list_access_traits::begin(list));
+  }
+  template 
+  static std::reverse_iterator::type> 
rbegin(Eina_List const* list)
+  {
+return _eo_list_access_traits::rbegin(const_cast(list));
+  }
+  template 
+  static std::reverse_iterator::type> 
rend(Eina_List const* list)
+  {
+return _eo_list_access_traits::rend(const_cast(list));
+  }
+  template 
+  static typename const_iterator::type cbegin(Eina_List const* list)
+  {
+return _eo_list_access_traits::begin(list);
+  }
+  template 
+  static typename const_iterator::type cend(Eina_List const* list)
+  {
+return _eo_list_access_traits::end(list);
+  }
+  template 
+  static std::reverse_iterator::type> 
crbegin(Eina_List const* list)
+  {
+return _eo_list_access_traits::rbegin(list);
+  }
+  template 
+  static std::reverse_iterator::type> 
crend(Eina_List const* list)
+  {
+return _eo_list_access_traits::rend(list);
+  }
+};
+
 template 
 class list : ptr_list::value
@@ -253,21 +347,21 @@ public:
   
   reference front()
   {
-return *static_cast(static_cast(&native_handle()->data));
+return _eo_list_access_traits::front(native_handle());
   }
   reference back()
   {
-return 
*static_cast(static_cast(&eina_list_last(native_handle())->data));
+return _eo_list_access_traits::back(native_handle());
   }
   const_reference front() const { return 
const_cast<_self_type*>(this)->front(); }
   const_reference back() const { return const_cast<_self_type*>(this)->back(); 
}
   iterator begin()
   {
-return iterator(native_handle(), native_handle());
+return _eo_list_access_traits::begin(native_handle());
   }
   iterator end()
   {
-return iterator(native_handle(), nullptr);
+return _eo_list_access_traits::end(native_handle());
   }
   const_iterator begin() const
   {
@@ -287,11 +381,11 @@ public:
   }
   reverse_iterator rbegin()
   {
-return reverse_iterator(end());
+return _eo_list_access_traits::rbegin(native_handle());
   }
   reverse_iterator rend()
   {
-return reverse_iterator(begin());
+return _eo_list_access_traits::rend(native_handle());
   }
   const_reverse_iterator rbegin() const
   {
@@ -324,6 +418,160 @@ bool operator!=(list const& rhs, 
list cons
 {
   return !(rhs == lhs);
 }
+
+template 
+class range_list : range_ptr_list
+{
+  typedef range_ptr_list _base_type;
+public:
+  typedef typename _base_type::value_type value_type;
+  typedef typename _base_type::reference reference;
+  

[EGIT] [core/efl] master 31/36: eo-cxx: Added a few complex types to lookup table

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7e84cc01548568e5880d026b2103c8865188d0e9

commit 7e84cc01548568e5880d026b2103c8865188d0e9
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 21:48:00 2014 -0300

eo-cxx: Added a few complex types to lookup table
---
 src/bin/eolian_cxx/type_lookup_table.cc | 10 +-
 src/lib/eolian_cxx/eo_validate.hh   |  8 +++-
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/bin/eolian_cxx/type_lookup_table.cc 
b/src/bin/eolian_cxx/type_lookup_table.cc
index 19c84f4..6b89ab9 100644
--- a/src/bin/eolian_cxx/type_lookup_table.cc
+++ b/src/bin/eolian_cxx/type_lookup_table.cc
@@ -17,14 +17,14 @@ type_lookup_table
   {"Eina_Inlist *", eolian_type::complex_, false, "efl::eina::range_inlist", 
{"eina-cxx/eina_inlist.hh"}},
   {"Eina_Inlist *", eolian_type::complex_, true, "efl::eina::inlist", 
{"eina-cxx/eina_inlist.hh"}},
   {"Eina_Iterator *", eolian_type::complex_, false, "efl::eina::iterator", 
{"eina-cxx/eina_iterator.hh"}},
-  {"Eina_List *", eolian_type::complex_, false, "efl::eina::range_ptr_list", 
{"eina-cxx/eina_ptrlist.hh"}},
-  {"Eina_List *", eolian_type::complex_, true, "efl::eina::ptr_list", 
{"eina-cxx/eina_ptrlist.hh"}},
-  //{"Eina_List *", eolian_type::complex_, false, "efl::eina::ptr_list", 
{"eina-cxx/eina_ptrlist.hh"}},
+  {"Eina_List *", eolian_type::complex_, false, "efl::eina::range_list", 
{"eina-cxx/eina_list.hh"}},
+  {"Eina_List *", eolian_type::complex_, true, "efl::eina::list", 
{"eina-cxx/eina_list.hh"}},
   {"Eo *", eolian_type::simple_, true, "efl::eo::base", {"eo_base.hh"}},
-  //{"Evas_Object *", eolian_type::simple_, false, "evas::object", 
{"canvas/evas_object.eo.hh"}},
+  //{"Evas_Object_Box_Layout", eolian_type::callback_, {"Evas.h"}},
+  {"Evas_Object *", eolian_type::simple_, false, "evas::object", 
{"canvas/evas_object.eo.hh"}},
   {"char *", eolian_type::simple_, true, "std::unique_ptr", {"memory"}},
   {"const Eina_Inlist *", eolian_type::complex_, false, 
"efl::eina::range_inlist", {"eina-cxx/eina_inlist.hh"}},
-  {"const Eina_List *", eolian_type::complex_, false, 
"efl::eina::range_ptr_list", {"eina-cxx/eina_ptrlist.hh"}},
+  {"const Eina_List *", eolian_type::complex_, false, "efl::eina::range_list", 
{"eina-cxx/eina_ptrlist.hh"}},
   {"const char *", eolian_type::simple_, false, "std::string", {"string"}}
 };
 
diff --git a/src/lib/eolian_cxx/eo_validate.hh 
b/src/lib/eolian_cxx/eo_validate.hh
index 53bfec5..bca15c6 100644
--- a/src/lib/eolian_cxx/eo_validate.hh
+++ b/src/lib/eolian_cxx/eo_validate.hh
@@ -19,8 +19,8 @@ _is_valid(std::string const& value)
 inline bool
 _is_valid(eolian_type_instance const& type)
 {
-   if (type.empty() || (*type.rbegin()).category == eolian_type::complex_)
- return false;
+   // if (type.empty() || (*type.rbegin()).category == eolian_type::complex_)
+   //   return false;
for (auto rit = ++type.rbegin(), last = type.rend(); rit != last; ++rit)
  {
 if ((*rit).binding.empty() || (*rit).category != eolian_type::complex_)
@@ -56,9 +56,7 @@ _validate(T const& val, eo_class const& cls)
if(!_is_valid(val))
  {
 static_cast(cls);
-#ifndef NDEBUG
-   std::abort();
-#endif
+assert(false && "Failed identifier validation");
  }
 }
 

-- 




[EGIT] [core/efl] master 36/36: eolian-cxx: Fixed exapmle with support for complex types

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b1c9ca5c24911179663e51106d5426f35cf9dade

commit b1c9ca5c24911179663e51106d5426f35cf9dade
Author: Felipe Magno de Almeida 
Date:   Fri Jul 18 17:58:45 2014 -0300

eolian-cxx: Fixed exapmle with support for complex types

Automatic conversion of Evas_Object* to evas::object wrapper broke the
example. Fixed it by using the new feature :).
---
 src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc 
b/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc
index d2eaac2..264ece2 100644
--- a/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc
+++ b/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc
@@ -86,7 +86,7 @@ example_complex_types()
text1.visibility_set(true);
int t1w, t1h;
text1.size_get(&t1w, &t1h);
-   grid.pack(text1._eo_ptr(), 1, 1, t1w, t1h);
+   grid.pack(text1, 1, 1, t1w, t1h);
 
efl::evas::text text2(efl::eo::parent = canvas);
text2.style_set(EVAS_TEXT_STYLE_PLAIN);

-- 




[EGIT] [core/efl] master 19/36: eolian-cxx: Fixed double qualifying operator on generated code

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bb1e5248c4f45b530b9bf643c823e62996311d4d

commit bb1e5248c4f45b530b9bf643c823e62996311d4d
Author: Felipe Magno de Almeida 
Date:   Wed Jul 16 20:12:58 2014 -0300

eolian-cxx: Fixed double qualifying operator on generated code

Fixed the generation of double qualifying operators on extension
inheritance for classes defined in the global namespace.
---
 src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh 
b/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
index 259fead..1630335 100644
--- a/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
+++ b/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
@@ -43,11 +43,13 @@ operator<<(std::ostream& out, class_extensions const& x)
extensions_container_type::const_iterator last = cls.extensions.end();
for (it = first; it != last; ++it)
  {
-if (it != first) out << ",";
+if (it != first) out << ",\n";
 out << tab(2)
 << "efl::eo::detail::extension_inheritance<"
-<<  *it << ">::type< ::"
-<<  cls.name_space << "::" << cls.name << ">";
+<<  *it << ">::template type< ::";
+if(!cls.name_space.empty())
+  out <<  cls.name_space << "::";
+out << cls.name << ">";
  }
out << endl;
return out;

-- 




[EGIT] [core/efl] master 33/36: eolian-cxx: Various and various fixes with callbacks

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=907544be7b0e3ac241130193518b6158822ceae0

commit 907544be7b0e3ac241130193518b6158822ceae0
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 21:49:12 2014 -0300

eolian-cxx: Various and various fixes with callbacks

Mimic the callback function generation for other functions that were
being generated incorrectly and inconsistently.
---
 .../grammar/eo_class_constructors_generator.hh |  3 +-
 .../grammar/eo_class_events_generator.hh   | 50 --
 .../grammar/eo_class_functions_generator.hh| 11 +
 .../grammar/inheritance_base_generator.hh  | 29 ++---
 src/lib/eolian_cxx/grammar/parameters_generator.hh | 45 +++
 src/lib/eolian_cxx/grammar/type_generator.hh   | 23 +-
 6 files changed, 140 insertions(+), 21 deletions(-)

diff --git a/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh 
b/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
index 1630335..5d7ab1f 100644
--- a/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
+++ b/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
@@ -209,7 +209,8 @@ operator<<(std::ostream& out, eo_class_constructors const& 
x)
 if (callback_iter != (*it).params.cend())
   {
  out << tab(2)
- << "F* _tmp_f = new F(std::move("
+ << "typedef typename std::remove_reference::type 
function_type;" << endl
+ << "function_type* _tmp_f = new F(std::forward("
  << (*callback_iter).name << "));"
  << endl;
   }
diff --git a/src/lib/eolian_cxx/grammar/eo_class_events_generator.hh 
b/src/lib/eolian_cxx/grammar/eo_class_events_generator.hh
index da796ae..d35fc46 100644
--- a/src/lib/eolian_cxx/grammar/eo_class_events_generator.hh
+++ b/src/lib/eolian_cxx/grammar/eo_class_events_generator.hh
@@ -10,12 +10,32 @@
 
 namespace efl { namespace eolian { namespace grammar {
 
+struct add_cast_to_t
+{
+  add_cast_to_t(bool b)
+: _b(b)
+  {
+  }
+
+  bool _b;
+};
+
+inline std::ostream&
+operator<<(std::ostream& out, add_cast_to_t x)
+{
+  if(x._b)
+out << "static_cast(this)->";
+  return out;
+}
+  
 struct event_callback_add
 {
eo_event const& _event;
eo_class const& _cls;
-   event_callback_add(eo_event const& event, eo_class const& cls)
- : _event(event), _cls(cls)
+   bool _add_cast_to_t;
+   event_callback_add(eo_event const& event, eo_class const& cls
+  , bool add_cast_to_t)
+ : _event(event), _cls(cls), _add_cast_to_t(add_cast_to_t)
{}
 };
 
@@ -28,13 +48,16 @@ operator<<(std::ostream& out, event_callback_add const& x)
<< tab(11) << "::efl::eo::callback_priority priority_ =" << endl
<< tab(11) << "::efl::eo::callback_priorities::default_)" << endl
<< tab(1) << "{" << endl
-   << tab(2) << "::std::unique_ptr f ( new F(std::move(callback_)) );" 
<< endl
-   << tab(2) << "eo_do(_eo_ptr()," << endl
+   << tab(2) << "typedef typename std::remove_reference::type 
function_type;" << endl
+   << tab(2) << "::std::unique_ptr f ( new 
function_type(std::move(callback_)) );" << endl
+   << tab(2) << "eo_do(" << add_cast_to_t(x._add_cast_to_t) << 
"_eo_ptr()," << endl
<< tab(4) << "eo_event_callback_priority_add" << endl
<< tab(4) << "(" << x._event.eo_name << ", priority_," << endl
-   << tab(4) << "&efl::eo::_detail::event_callback<" << x._cls.name << ", 
F>, f.get()));" << endl
+   << tab(4) << "&efl::eo::_detail::event_callback<" << x._cls.name_space 
<< "::" << x._cls.name << ", function_type>, f.get()));" << endl
<< tab(2) << "return ::efl::eo::make_signal_connection" << endl
-   << tab(3) << "(f, this->_eo_ptr(), &efl::eo::_detail::event_callback<" 
<< x._cls.name << ", F>," << endl
+   << tab(3) << "(f, " << add_cast_to_t(x._add_cast_to_t)
+   << "_eo_ptr(), &efl::eo::_detail::event_callback<"
+   << x._cls.name_space << "::" << x._cls.name << ", function_type>," << 
endl
<< tab(3) << x._event.eo_name << " );" << endl
<< tab(1) << "}" << endl;
return out;
@@ -43,8 +66,9 @@ operator<<(std::ostream& out, event_callback_add const& x)
 struct event_callback_call
 {
eo_event const& _event;
-   event_callback_call(eo_event const& event)
- : _event(event)
+   bool _add_cast_to_t;
+   event_callback_call(eo_event const& event, bool add_cast_to_t)
+ : _event(event), _add_cast_to_t(add_cast_to_t)
{}
 };
 
@@ -55,7 +79,7 @@ operator<<(std::ostream& out, event_callback_call const& x)
<< tab(1) << "void" << endl
<< tab(1) << "event_" << x._event.name << "_callback_call(T* info)" << 
endl
<< tab(1) << "{" << endl
-   << tab(2) << "eo_do(_eo_ptr(), eo_event_callback_call" << endl
+   << tab(2) << "eo_do(" << add_cast_to_t(x._add_cast_to_t) << "_eo

[EGIT] [core/efl] master 22/36: eina-cxx: eldbus-cxx: eo-cxx: Fixed test includes and header installation

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d21e400425527cc24bd7bc43ab025021e06231b0

commit d21e400425527cc24bd7bc43ab025021e06231b0
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 14:07:09 2014 -0300

eina-cxx: eldbus-cxx: eo-cxx: Fixed test includes and header installation
---
 src/Makefile_Eina_Cxx.am   | 3 +++
 src/Makefile_Eldbus_Cxx.am | 6 +++---
 src/Makefile_Eo_Cxx.am | 1 +
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/Makefile_Eina_Cxx.am b/src/Makefile_Eina_Cxx.am
index 0acb420..94b5ab2 100644
--- a/src/Makefile_Eina_Cxx.am
+++ b/src/Makefile_Eina_Cxx.am
@@ -9,14 +9,17 @@ bindings/eina_cxx/Eina.hh
 installed_einacxxheadersdir = $(includedir)/eina-cxx-@VMAJ@/eina-cxx
 dist_installed_einacxxheaders_DATA = \
 bindings/eina_cxx/eina_accessor.hh   \
+bindings/eina_cxx/eina_array.hh \
 bindings/eina_cxx/eina_clone_allocators.hh   \
 bindings/eina_cxx/eina_error.hh \
+bindings/eina_cxx/eina_eo_base_fwd.hh \
 bindings/eina_cxx/eina_fold.hh \
 bindings/eina_cxx/eina_inarray.hh  \
 bindings/eina_cxx/eina_inlist.hh   \
 bindings/eina_cxx/eina_integer_sequence.hh \
 bindings/eina_cxx/eina_iterator.hh \
 bindings/eina_cxx/eina_lists_auxiliary.hh \
+bindings/eina_cxx/eina_list.hh \
 bindings/eina_cxx/eina_log.hh \
 bindings/eina_cxx/eina_optional.hh \
 bindings/eina_cxx/eina_ptrarray.hh \
diff --git a/src/Makefile_Eldbus_Cxx.am b/src/Makefile_Eldbus_Cxx.am
index 17b0941..d4140e8 100644
--- a/src/Makefile_Eldbus_Cxx.am
+++ b/src/Makefile_Eldbus_Cxx.am
@@ -36,9 +36,9 @@ tests_eldbus_cxx_eldbus_cxx_suite_CPPFLAGS = \
 -I$(top_builddir)/src/bindings/eldbus_cxx \
 -I$(top_srcdir)/src/bindings/eldbus_cxx \
 -I$(top_builddir)/src/lib/efl \
-@CHECK_CFLAGS@ \
- @ELDBUS_CFLAGS@ \
--DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eldbus\"
+-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eldbus\" \
+@CHECK_CFLAGS@ @ECORE_CXX_CFLAGS@ @EINA_CXX_CFLAGS@ @EINA_CFLAGS@ \
+@ECORE_CFLAGS@ @EO_CFLAGS@ @EO_CXX_CFLAGS@ @ELDBUS_CFLAGS@
 
 tests_eldbus_cxx_eldbus_cxx_suite_LDADD = @CHECK_LIBS@ @USE_ELDBUS_LIBS@
 tests_eldbus_cxx_eldbus_cxx_suite_DEPENDENCIES = @USE_ELDBUS_INTERNAL_LIBS@
diff --git a/src/Makefile_Eo_Cxx.am b/src/Makefile_Eo_Cxx.am
index ffb0e1d..21987b5 100644
--- a/src/Makefile_Eo_Cxx.am
+++ b/src/Makefile_Eo_Cxx.am
@@ -10,6 +10,7 @@ bindings/eo_cxx/Eo.hh
 installed_eocxxheadersdir = $(includedir)/eo-cxx-@VMAJ@/
 dist_installed_eocxxheaders_DATA = \
 bindings/eo_cxx/eo_base.hh \
+bindings/eo_cxx/eo_event.hh \
 bindings/eo_cxx/eo_init.hh \
 bindings/eo_cxx/eo_wref.hh \
 bindings/eo_cxx/eo_inherit.hh \

-- 




[EGIT] [core/efl] master 04/36: eolian-cxx: Added tests.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ac8975a73f90c07dfa6f9587b72cfde1e6014bdb

commit ac8975a73f90c07dfa6f9587b72cfde1e6014bdb
Author: Savio Sena 
Date:   Wed Jul 16 16:14:17 2014 -0300

eolian-cxx: Added tests.
---
 src/Makefile_Eolian_Cxx.am   |  39 +
 src/tests/eolian_cxx/eolian_cxx_suite.cc | 103 +++
 src/tests/eolian_cxx/eolian_cxx_test_binding.cc  |   2 +
 src/tests/eolian_cxx/eolian_cxx_test_generate.cc |  21 +
 src/tests/eolian_cxx/eolian_cxx_test_parse.cc|  30 +++
 src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc  |   2 +
 6 files changed, 197 insertions(+)

diff --git a/src/Makefile_Eolian_Cxx.am b/src/Makefile_Eolian_Cxx.am
index e31be2b..af89d12 100644
--- a/src/Makefile_Eolian_Cxx.am
+++ b/src/Makefile_Eolian_Cxx.am
@@ -49,5 +49,44 @@ bin_eolian_cxx_eolian_cxx_DEPENDENCIES = 
@USE_EOLIAN_INTERNAL_LIBS@
 
 include Makefile_Eolian_Cxx_Helper.am
 
+
+### Unit tests
+
+if EFL_ENABLE_TESTS
+
+check_PROGRAMS += tests/eolian_cxx/eolian_cxx_suite
+TESTS += tests/eolian_cxx/eolian_cxx_suite
+
+tests_eolian_cxx_eolian_cxx_suite_SOURCES = \
+tests/eolian_cxx/eolian_cxx_suite.cc \
+tests/eolian_cxx/eolian_cxx_test_parse.cc \
+tests/eolian_cxx/eolian_cxx_test_generate.cc
+
+tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS =   \
+-I$(top_builddir)/src/lib/efl \
+-I$(top_srcdir)/src/bin/eolian_cxx \
+-I$(top_srcdir)/src/lib/eolian_cxx \
+-DTESTS_WD=\"`pwd`\" \
+-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eolian_cxx\" \
+-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/eolian_cxx\" \
+-DPACKAGE_DATA_DIR=\"$(datadir)/eolian_cxx\" \
+-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian_cxx\" \
+@CHECK_CFLAGS@ @EOLIAN_CXX_CFLAGS@ @EINA_CXX_CFLAGS@ \
+@EOLIAN_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@
+
+tests_eolian_cxx_eolian_cxx_suite_CFLAGS = 
${tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS}
+tests_eolian_cxx_eolian_cxx_suite_CPPFLAGS = 
${tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS}
+tests_eolian_cxx_eolian_cxx_suite_LDADD = \
+@CHECK_LIBS@ @USE_EO_LIBS@ @USE_EINA_LIBS@ @USE_EOLIAN_LIBS@
+tests_eolian_cxx_eolian_cxx_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@
+
 endif
 
+EXTRA_DIST += \
+tests/eolian_cxx/data/base.eo \
+tests/eolian_cxx/data/class_simple.eo \
+tests/eolian_cxx/data/scope.eo \
+tests/eolian_cxx/data/ctor_dtor.eo \
+tests/eolian_cxx/data/complex_type.eo
+
+endif
diff --git a/src/tests/eolian_cxx/eolian_cxx_suite.cc 
b/src/tests/eolian_cxx/eolian_cxx_suite.cc
new file mode 100644
index 000..86747cb
--- /dev/null
+++ b/src/tests/eolian_cxx/eolian_cxx_suite.cc
@@ -0,0 +1,103 @@
+#include 
+#include 
+#include 
+#include 
+
+void eolian_cxx_test_parse(TCase* tc);
+void eolian_cxx_test_generate(TCase* tc);
+
+typedef struct _Eolian_Cxx_Test_Case Eolian_Cxx_Test_Case;
+struct _Eolian_Cxx_Test_Case
+{
+   const char *test_case;
+   void (*build)(TCase *tc);
+};
+
+static const Eolian_Cxx_Test_Case etc[] = {
+  { "Eolian-Cxx Parsing", eolian_cxx_test_parse },
+  { "Eolian-Cxx Generation", eolian_cxx_test_generate },
+  { NULL, NULL }
+};
+
+static void
+_list_tests(void)
+{
+  const Eolian_Cxx_Test_Case *itr;
+
+   itr = etc;
+   fputs("Available Test Cases:\n", stderr);
+   for (; itr->test_case; itr++)
+ fprintf(stderr, "\t%s\n", itr->test_case);
+}
+
+static bool
+_use_test(int argc, const char **argv, const char *test_case)
+{
+   if (argc < 1)
+ return 1;
+
+   for (; argc > 0; argc--, argv++)
+ if (strcmp(test_case, *argv) == 0)
+   return 1;
+   return 0;
+}
+
+Suite *
+eolian_cxx_build_suite(int argc, const char **argv)
+{
+   TCase *tc;
+   Suite *s;
+   int i;
+
+   s = suite_create("Eolian C++");
+
+   for (i = 0; etc[i].test_case; ++i)
+ {
+if (!_use_test(argc, argv, etc[i].test_case))
+   continue;
+
+tc = tcase_create(etc[i].test_case);
+tcase_set_timeout(tc, 0);
+
+etc[i].build(tc);
+suite_add_tcase(s, tc);
+ }
+
+   return s;
+}
+
+int main(int argc, char* argv[])
+{
+   Suite *s;
+   SRunner *sr;
+   int i, failed_count;
+
+   for (i = 1; i < argc; i++)
+  if ((strcmp(argv[i], "-h") == 0) ||
+  (strcmp(argv[i], "--help") == 0))
+{
+   fprintf(stderr, "Usage:\n\t%s [test_case1 .. [test_caseN]]\n",
+   argv[0]);
+   _list_tests();
+   return 0;
+}
+  else if ((strcmp(argv[i], "-l") == 0) ||
+   (strcmp(argv[i], "--list") == 0))
+{
+   _list_tests();
+   return 0;
+}
+
+   putenv(const_cast("EFL_RUN_IN_TREE=1"));
+
+   s = eolian_cxx_build_suite(argc - 1, (const char **)argv + 1);
+   sr = srunner_create(s);
+
+   srunner_set_xml(sr, TESTS_BUILD_DIR "/check-results.xml");
+
+   srunner_run_all(sr, CK_ENV);
+   failed_count = srunner_ntests_failed(sr);
+   srunner_free(sr);
+
+   return (failed_count == 0) ? 0 : 255;
+}
diff --git a/src/tests/eolian_cxx/eolian_cxx_test_binding.cc 

[EGIT] [core/efl] master 13/36: eolian-cxx: Added eo_base extension_inheritance

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bde4b6e9dfd01348c0aa81bd2bf625e8d9ee5e50

commit bde4b6e9dfd01348c0aa81bd2bf625e8d9ee5e50
Author: Felipe Magno de Almeida 
Date:   Wed Jul 16 20:13:46 2014 -0300

eolian-cxx: Added eo_base extension_inheritance

Added eo::base as a partial specialization for extension inheritance,
since eo::base is not generated.
---
 src/bindings/eo_cxx/eo_base.hh | 21 +
 1 file changed, 21 insertions(+)

diff --git a/src/bindings/eo_cxx/eo_base.hh b/src/bindings/eo_cxx/eo_base.hh
index a99d614..cdb8e64 100644
--- a/src/bindings/eo_cxx/eo_base.hh
+++ b/src/bindings/eo_cxx/eo_base.hh
@@ -230,6 +230,27 @@ inline bool operator!=(base const& lhs, base const& rhs)
   return !(lhs == rhs);
 }
 
+namespace detail {
+
+template 
+struct extension_inheritance;
+  
+template<>
+struct extension_inheritance
+{
+   template 
+   struct type
+   {
+  operator base() const
+  {
+ return base(eo_ref(static_cast(this)->_eo_ptr()));
+  }
+
+   };
+};
+
+}
+
 /// @brief Downcast @p U to @p T.
 ///
 /// @param T An EO C++ Class.

-- 




[EGIT] [core/efl] master 14/36: eo-cxx: Fixed duplicated constructors.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b9c30eac7144c918b4ffc12b25d09bcac7f3ea6c

commit b9c30eac7144c918b4ffc12b25d09bcac7f3ea6c
Author: Savio Sena 
Date:   Thu Jul 17 04:04:51 2014 -0300

eo-cxx: Fixed duplicated constructors.
---
 src/bindings/eo_cxx/eo_base.hh | 5 -
 1 file changed, 5 deletions(-)

diff --git a/src/bindings/eo_cxx/eo_base.hh b/src/bindings/eo_cxx/eo_base.hh
index cdb8e64..8801b7f 100644
--- a/src/bindings/eo_cxx/eo_base.hh
+++ b/src/bindings/eo_cxx/eo_base.hh
@@ -61,11 +61,6 @@ struct base
  other._eo_raw = nullptr;
}
 
-   base(base const& other)
- : _eo_raw( detail::ref(other._eo_ptr()) )
-   {
-   }
-
/// @brief Assignment operator.
///
base& operator=(base const& other)

-- 




[EGIT] [core/efl] master 02/36: tests: Added config.h to tests.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=34c3d4ded7dc0a3b1f7e18750cd8812063a7d25d

commit 34c3d4ded7dc0a3b1f7e18750cd8812063a7d25d
Author: Savio Sena 
Date:   Fri Jul 11 20:19:01 2014 -0300

tests: Added config.h to tests.
---
 src/examples/eina_cxx/eina_cxx_list_01.cc  | 4 
 src/examples/eina_cxx/eina_cxx_thread_01.cc| 7 +--
 src/tests/ecore_cxx/ecore_cxx_suite.cc | 3 +++
 src/tests/ecore_cxx/ecore_cxx_test_safe_call.cc| 3 +++
 src/tests/eet_cxx/eet_cxx_suite.cc | 4 
 src/tests/eet_cxx/eet_cxx_test_descriptors.cc  | 4 
 src/tests/eina_cxx/eina_cxx_suite.cc   | 6 +-
 src/tests/eina_cxx/eina_cxx_test_accessor.cc   | 4 
 src/tests/eina_cxx/eina_cxx_test_error.cc  | 4 
 src/tests/eina_cxx/eina_cxx_test_inarray.cc| 4 
 src/tests/eina_cxx/eina_cxx_test_inlist.cc | 4 
 src/tests/eina_cxx/eina_cxx_test_iterator.cc   | 4 
 src/tests/eina_cxx/eina_cxx_test_log.cc| 4 
 src/tests/eina_cxx/eina_cxx_test_optional.cc   | 4 
 src/tests/eina_cxx/eina_cxx_test_stringshare.cc| 4 
 src/tests/eina_cxx/eina_cxx_test_thread.cc | 4 
 src/tests/eina_cxx/eina_cxx_test_value.cc  | 4 
 src/tests/eldbus_cxx/eldbus_cxx_suite.cc   | 4 
 src/tests/eldbus_cxx/eldbus_cxx_test_eldbus_client.cc  | 4 
 src/tests/eldbus_cxx/eldbus_cxx_test_eldbus_connect.cc | 4 
 20 files changed, 80 insertions(+), 3 deletions(-)

diff --git a/src/examples/eina_cxx/eina_cxx_list_01.cc 
b/src/examples/eina_cxx/eina_cxx_list_01.cc
index 0cb0381..f74f9d6 100644
--- a/src/examples/eina_cxx/eina_cxx_list_01.cc
+++ b/src/examples/eina_cxx/eina_cxx_list_01.cc
@@ -1,6 +1,10 @@
 //Compile with:
 //gcc -g eina_list_01.c -o eina_list_01 `pkg-config --cflags --libs eina`
 
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
 #include 
 #include 
 
diff --git a/src/examples/eina_cxx/eina_cxx_thread_01.cc 
b/src/examples/eina_cxx/eina_cxx_thread_01.cc
index 64c7525..b47b1a6 100644
--- a/src/examples/eina_cxx/eina_cxx_thread_01.cc
+++ b/src/examples/eina_cxx/eina_cxx_thread_01.cc
@@ -1,6 +1,10 @@
 //Compile with:
 //gcc -g eina_list_01.c -o eina_list_01 `pkg-config --cflags --libs eina`
 
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
 #include 
 #include 
 
@@ -13,7 +17,6 @@ namespace eina = efl::eina;
 
 void thread1(eina::mutex&)
 {
-  
 }
 
 int main()
@@ -27,6 +30,6 @@ int main()
eina::unique_lock l(m);
 
eina::thread thread1(&::thread1, eina::ref(m));
-   
+
thread1.join();
 }
diff --git a/src/tests/ecore_cxx/ecore_cxx_suite.cc 
b/src/tests/ecore_cxx/ecore_cxx_suite.cc
index 9394672..d2888ef 100644
--- a/src/tests/ecore_cxx/ecore_cxx_suite.cc
+++ b/src/tests/ecore_cxx/ecore_cxx_suite.cc
@@ -1,3 +1,6 @@
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
 
 #include "Ecore.hh"
 
diff --git a/src/tests/ecore_cxx/ecore_cxx_test_safe_call.cc 
b/src/tests/ecore_cxx/ecore_cxx_test_safe_call.cc
index 9be7d73..1425041 100644
--- a/src/tests/ecore_cxx/ecore_cxx_test_safe_call.cc
+++ b/src/tests/ecore_cxx/ecore_cxx_test_safe_call.cc
@@ -1,3 +1,6 @@
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
 
 #include "Ecore.hh"
 #include "Eina.hh"
diff --git a/src/tests/eet_cxx/eet_cxx_suite.cc 
b/src/tests/eet_cxx/eet_cxx_suite.cc
index 26e658b..fa4465e 100644
--- a/src/tests/eet_cxx/eet_cxx_suite.cc
+++ b/src/tests/eet_cxx/eet_cxx_suite.cc
@@ -1,4 +1,8 @@
 
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
 #include "Eet.hh"
 #include 
 
diff --git a/src/tests/eet_cxx/eet_cxx_test_descriptors.cc 
b/src/tests/eet_cxx/eet_cxx_test_descriptors.cc
index bc21418..05af641 100644
--- a/src/tests/eet_cxx/eet_cxx_test_descriptors.cc
+++ b/src/tests/eet_cxx/eet_cxx_test_descriptors.cc
@@ -1,4 +1,8 @@
 
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
 #include "Eet.hh"
 
 #include 
diff --git a/src/tests/eina_cxx/eina_cxx_suite.cc 
b/src/tests/eina_cxx/eina_cxx_suite.cc
index 942d539..7555805 100644
--- a/src/tests/eina_cxx/eina_cxx_suite.cc
+++ b/src/tests/eina_cxx/eina_cxx_suite.cc
@@ -1,4 +1,8 @@
 
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
 #include "Eina.hh"
 
 #include 
@@ -71,7 +75,7 @@ eina_build_suite(int argc, const char **argv)
Suite *s;
int i;
 
-   s = suite_create("Eina");
+   s = suite_create("Eina C++");
 
for (i = 0; etc[i].test_case; ++i)
  {
diff --git a/src/tests/eina_cxx/eina_cxx_test_accessor.cc 
b/src/tests/eina_cxx/eina_cxx_test_accessor.cc
index 21ad5e0..8d04ecc 100644
--- a/src/tests/eina_cxx/eina_cxx_test_accessor.cc
+++ b/src/tests/eina_cxx/eina_cxx_test_accessor.cc
@@ -1,4 +1,8 @@
 
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
 #include "Eina.hh"
 
 #include 
diff --git a/src/tests/eina_cxx/eina_cxx_test_error.cc 
b/src/tests/eina_cxx/eina_cxx_test_error.cc
index fb3a6aa..8cea5b5 100644
--- a/src/tests/eina_cxx/eina_cxx_test_error.cc

[EGIT] [core/efl] master 34/36: eolian-cxx: Added callback test

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9c6c7728c0c1bf18018a2da7b33d55f128c527b1

commit 9c6c7728c0c1bf18018a2da7b33d55f128c527b1
Author: Felipe Magno de Almeida 
Date:   Fri Jul 18 17:25:06 2014 -0300

eolian-cxx: Added callback test

Added test for callback generation and uses
---
 src/Makefile_Eolian_Cxx.am   | 17 +++--
 src/tests/eolian_cxx/callback.c  | 48 
 src/tests/eolian_cxx/callback.eo | 39 +++
 src/tests/eolian_cxx/eolian_cxx_suite.cc |  2 +
 src/tests/eolian_cxx/eolian_cxx_test_callback.cc | 48 
 src/tests/eolian_cxx/eolian_cxx_test_parse.cc|  5 ++-
 6 files changed, 153 insertions(+), 6 deletions(-)

diff --git a/src/Makefile_Eolian_Cxx.am b/src/Makefile_Eolian_Cxx.am
index 6bfc6c1..7de22d2 100644
--- a/src/Makefile_Eolian_Cxx.am
+++ b/src/Makefile_Eolian_Cxx.am
@@ -49,32 +49,39 @@ bin_eolian_cxx_eolian_cxx_LDADD = @CHECK_LIBS@ 
@USE_EOLIAN_LIBS@
 
 bin_eolian_cxx_eolian_cxx_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@
 
-include Makefile_Eolian_Cxx_Helper.am
-
 
 ### Unit tests
 
 if EFL_ENABLE_TESTS
 
+BUILT_SOURCES += \
+   tests/eolian_cxx/callback.eo.c \
+   tests/eolian_cxx/callback.eo.h
+
 check_PROGRAMS += tests/eolian_cxx/eolian_cxx_suite
 TESTS += tests/eolian_cxx/eolian_cxx_suite
 
 tests_eolian_cxx_eolian_cxx_suite_SOURCES = \
 tests/eolian_cxx/eolian_cxx_suite.cc \
 tests/eolian_cxx/eolian_cxx_test_parse.cc \
+tests/eolian_cxx/callback.c \
+tests/eolian_cxx/eolian_cxx_test_callback.cc \
 tests/eolian_cxx/eolian_cxx_test_generate.cc
 
+tests/eolian_cxx/tests_eolian_cxx_eolian_cxx_suite-eolian_cxx_test_callback.$(OBJEXT):
 tests/eolian_cxx/callback.eo.hh
+
 tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS =   \
 -I$(top_builddir)/src/lib/efl \
 -I$(top_srcdir)/src/bin/eolian_cxx \
--I$(top_srcdir)/src/lib/eolian_cxx \
+-I$(top_builddir)/src/tests/eolian_cxx \
 -DTESTS_WD=\"`pwd`\" \
 -DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eolian_cxx\" \
 -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/eolian_cxx\" \
 -DPACKAGE_DATA_DIR=\"$(datadir)/eolian_cxx\" \
 -DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian_cxx\" \
 @CHECK_CFLAGS@ @EOLIAN_CXX_CFLAGS@ @EINA_CXX_CFLAGS@ \
-@EOLIAN_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@
+@EOLIAN_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@ @ECORE_CFLAGS@ \
+@EO_CXX_CFLAGS@
 
 tests_eolian_cxx_eolian_cxx_suite_CFLAGS = 
${tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS}
 tests_eolian_cxx_eolian_cxx_suite_CPPFLAGS = 
${tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS}
@@ -84,4 +91,6 @@ tests_eolian_cxx_eolian_cxx_suite_DEPENDENCIES = 
@USE_EOLIAN_INTERNAL_LIBS@
 
 endif
 
+include Makefile_Eolian_Cxx_Helper.am
+
 endif
diff --git a/src/tests/eolian_cxx/callback.c b/src/tests/eolian_cxx/callback.c
new file mode 100644
index 000..dc09118
--- /dev/null
+++ b/src/tests/eolian_cxx/callback.c
@@ -0,0 +1,48 @@
+
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
+#include 
+#include 
+
+#include 
+
+#include "callback.eo.h"
+
+struct _Callback_Data {};
+typedef struct _Callback_Data Callback_Data;
+
+#define MY_CLASS CALLBACK_CLASS
+
+static void _callback_default_constructor(Eo *obj EINA_UNUSED, Callback_Data 
*pd EINA_UNUSED)
+{
+  eo_do_super(obj, MY_CLASS, eo_constructor());
+}
+
+static void _callback_constructor(Eo *obj EINA_UNUSED, Callback_Data *pd 
EINA_UNUSED, Ecore_Cb cb, void *data)
+{
+  eo_do_super(obj, MY_CLASS, eo_constructor());
+  cb(data);
+}
+
+static void _callback_constructor2(Eo *obj EINA_UNUSED, Callback_Data *pd 
EINA_UNUSED, Ecore_Cb cb, void *data
+   , Ecore_Cb cb2 EINA_UNUSED)
+{
+  eo_do_super(obj, MY_CLASS, eo_constructor());
+  cb(data);
+}
+
+static void _callback_onecallback(Eo *obj EINA_UNUSED, Callback_Data *pd 
EINA_UNUSED, Ecore_Cb cb, void *data)
+{
+  cb(data);
+}
+
+static void _callback_twocallback(Eo *obj EINA_UNUSED, Callback_Data *pd 
EINA_UNUSED, Ecore_Cb cb, void *data
+  , Ecore_Cb  cb2 EINA_UNUSED)
+{
+  cb(data);
+}
+
+#include "callback.eo.c"
+
diff --git a/src/tests/eolian_cxx/callback.eo b/src/tests/eolian_cxx/callback.eo
new file mode 100644
index 000..27befd2
--- /dev/null
+++ b/src/tests/eolian_cxx/callback.eo
@@ -0,0 +1,39 @@
+class Callback (Eo.Base)
+{
+   legacy_prefix: null;
+   data: Callback_Data;
+   constructors {
+  default_constructor {
+  }
+  constructor {
+ params {
+@in Ecore_Cb cb;
+@in void* data;
+ }
+  }
+  constructor2 {
+ params {
+@in Ecore_Cb cb;
+@in void* data;
+@in Ecore_Cb cb2;
+ }
+  }
+   }
+   methods {
+  onecallback {
+ params {
+   @in Ecore_Cb cb;
+   @in void* data;
+ }
+  }
+  twocallback {
+ params {
+   @in Ecore_Cb cb;
+   @in void* data;
+  

[EGIT] [core/efl] master 20/36: eina-cxx: Fixed includ'ing list and array containers and fixed constructor

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=10502307a754201f261634481f475d747adf1a95

commit 10502307a754201f261634481f475d747adf1a95
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 14:02:23 2014 -0300

eina-cxx: Fixed includ'ing list and array containers and fixed constructor

Added include for eina_list and eina_array for Eina.hh and fixed the
eina_ptrlist constructor receiving a raw Eina_List*.
---
 src/bindings/eina_cxx/Eina.hh | 2 ++
 src/bindings/eina_cxx/eina_ptrlist.hh | 1 +
 2 files changed, 3 insertions(+)

diff --git a/src/bindings/eina_cxx/Eina.hh b/src/bindings/eina_cxx/Eina.hh
index ed25c3c..ffc6e49 100644
--- a/src/bindings/eina_cxx/Eina.hh
+++ b/src/bindings/eina_cxx/Eina.hh
@@ -11,6 +11,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 #include 
 #include 
 #include 
diff --git a/src/bindings/eina_cxx/eina_ptrlist.hh 
b/src/bindings/eina_cxx/eina_ptrlist.hh
index c0f8776..1cddce0 100644
--- a/src/bindings/eina_cxx/eina_ptrlist.hh
+++ b/src/bindings/eina_cxx/eina_ptrlist.hh
@@ -517,6 +517,7 @@ struct _ptr_list_common_base
   struct _ptr_list_impl : CloneAllocator
   {
 _ptr_list_impl() : _list(0) {}
+_ptr_list_impl(Eina_List* list) : _list(list) {}
 _ptr_list_impl(CloneAllocator allocator)
   : clone_allocator_type(allocator), _list(0) {}
 

-- 




[EGIT] [core/efl] master 17/36: eolian-cxx: Updated the examples according to the new syntax.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f60394c1af82daf8f38918a678081168940df340

commit f60394c1af82daf8f38918a678081168940df340
Author: Savio Sena 
Date:   Thu Jul 17 04:14:01 2014 -0300

eolian-cxx: Updated the examples according to the new syntax.
---
 src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc |  4 ++--
 .../eolian_cxx/eolian_cxx_complex_types_01.cc  | 28 +++---
 src/examples/eolian_cxx/eolian_cxx_eo_events_01.cc | 24 +--
 3 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc 
b/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc
index 4efff00..58377fe 100644
--- a/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc
+++ b/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc
@@ -20,14 +20,14 @@
 #include 
 
 namespace efl { namespace ecore {
-using ::ecore_poller;
+using ::ecore::poller;
 } }
 
 void
 example_callbacks()
 {
int count = 0;
-   efl::ecore::ecore_poller poller
+   efl::ecore::poller poller
   (ECORE_POLLER_CORE, 1,
[&count, &poller]
   {
diff --git a/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc 
b/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc
index cc2c760..d2eaac2 100644
--- a/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc
+++ b/src/examples/eolian_cxx/eolian_cxx_complex_types_01.cc
@@ -17,19 +17,19 @@
 #include 
 #include 
 
-#include 
+#include 
 #include 
 #include 
 #include 
 
 namespace efl { namespace evas { // XXX only while we don't have namespaces in 
EFL
-using evas_base = ::evas;
-using ::evas_object;
-using ::evas_text;
-using ::evas_grid;
-using ::evas_rectangle;
-using ::evas_common_interface;
-using ::evas_zoomable_interface;
+using ::evas::canvas;
+using ::evas::object;
+using ::evas::text;
+using ::evas::grid;
+using ::evas::rectangle;
+using ::evas::common_interface;
+using ::evas::zoomable_interface;
 } }
 
 namespace {
@@ -64,21 +64,21 @@ void
 example_complex_types()
 {
_ecore_evas_init();
-   efl::evas::evas_base canvas(::eo_ref(::ecore_evas_get(ee)));
+   efl::evas::canvas canvas(::eo_ref(::ecore_evas_get(ee)));
 
-   ::evas_rectangle bg(efl::eo::parent = canvas);
+   efl::evas::rectangle bg(efl::eo::parent = canvas);
bg.color_set(255, 255, 255, 255);
bg.position_set(0, 0);
bg.size_set(500, 250);
bg.visibility_set(true);
 
-   efl::evas::evas_grid grid(efl::eo::parent = canvas);
+   efl::evas::grid grid(efl::eo::parent = canvas);
grid.position_set(0, 0);
grid.color_set(0, 0, 0, 255);
grid.size_set(5, 5);
grid.visibility_set(true);
 
-   efl::evas::evas_text text1(efl::eo::parent = canvas);
+   efl::evas::text text1(efl::eo::parent = canvas);
text1.style_set(EVAS_TEXT_STYLE_OUTLINE);
text1.color_set(255, 0, 0, 255);
text1.font_set("DejaVu", 32);
@@ -86,9 +86,9 @@ example_complex_types()
text1.visibility_set(true);
int t1w, t1h;
text1.size_get(&t1w, &t1h);
-   grid.pack(text1, 1, 1, t1w, t1h);
+   grid.pack(text1._eo_ptr(), 1, 1, t1w, t1h);
 
-   efl::evas::evas_text text2(efl::eo::parent = canvas);
+   efl::evas::text text2(efl::eo::parent = canvas);
text2.style_set(EVAS_TEXT_STYLE_PLAIN);
text2.color_set(0, 120, 0, 255);
text2.position_set(t1w+50, t1h+50);
diff --git a/src/examples/eolian_cxx/eolian_cxx_eo_events_01.cc 
b/src/examples/eolian_cxx/eolian_cxx_eo_events_01.cc
index e3563ce..abb23c2 100644
--- a/src/examples/eolian_cxx/eolian_cxx_eo_events_01.cc
+++ b/src/examples/eolian_cxx/eolian_cxx_eo_events_01.cc
@@ -17,20 +17,20 @@
 #include 
 #include 
 
-#include 
+#include 
 #include 
 #include 
 #include 
 
 
 namespace efl { namespace evas {
-using evas_base = ::evas;
-using ::evas_object;
-using ::evas_text;
-using ::evas_grid;
-using ::evas_rectangle;
-using ::evas_common_interface;
-using ::evas_zoomable_interface;
+using ::evas::canvas;
+using ::evas::object;
+using ::evas::text;
+using ::evas::grid;
+using ::evas::rectangle;
+using ::evas::common_interface;
+using ::evas::zoomable_interface;
 } }
 
 namespace {
@@ -67,9 +67,9 @@ example_complex_types()
_ecore_evas_init();
 
{
- efl::evas::evas_base canvas(::eo_ref(::ecore_evas_get(ee)));
+ efl::evas::canvas canvas(::eo_ref(::ecore_evas_get(ee)));
 
- ::evas_rectangle bg(efl::eo::parent = canvas);
+ efl::evas::rectangle bg(efl::eo::parent = canvas);
  bg.color_set(255, 255, 255, 255);
  bg.position_set(0, 0);
  bg.size_set(500, 250);
@@ -77,9 +77,9 @@ example_complex_types()
 
  efl::eo::signal_connection conn =
bg.event_mouse_down_callback_add
-   ([] (::evas_object obj, Eo_Event_Description const& desc, void* info)
+   ([] (efl::evas::object obj, Eo_Event_Description const& desc, void* 
info)
 {
-  std::cout << "evas_box::mouse_down" << std::endl;
+  std::cout << "evas::box::mouse_down" << std::endl;
   return EO_CALLBACK_CONTINUE;
  

[EGIT] [core/efl] master 27/36: eo-cxx: Removed the necessity of copying for interoperability of containers

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1848d39588391ccde6297ccf0a0651b9970a03fc

commit 1848d39588391ccde6297ccf0a0651b9970a03fc
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 21:46:13 2014 -0300

eo-cxx: Removed the necessity of copying for interoperability of containers
---
 src/bindings/eo_cxx/eo_cxx_interop.hh | 71 +++
 1 file changed, 30 insertions(+), 41 deletions(-)

diff --git a/src/bindings/eo_cxx/eo_cxx_interop.hh 
b/src/bindings/eo_cxx/eo_cxx_interop.hh
index 8d17e89..a6b3b37 100644
--- a/src/bindings/eo_cxx/eo_cxx_interop.hh
+++ b/src/bindings/eo_cxx/eo_cxx_interop.hh
@@ -38,7 +38,7 @@ to_c(bool x)
 }
 
 template 
-T to_c(T const& v)
+T to_c(T const& v, typename std::enable_if::value>::type* = 0)
 {
return v;
 }
@@ -121,53 +121,24 @@ struct traits
 };
 
 template 
-inline efl::eina::range_ptr_list
-to_cxx(const Eina_List* x, std::tuple, tag< 
efl::eina::range_ptr_list >)
+inline efl::eina::range_list
+to_cxx(const Eina_List* x, std::tuple, tag< 
efl::eina::range_list >)
 {
-   efl::eina::ptr_list list;
-   const Eina_List *l;
-   void *val;
-   EINA_LIST_FOREACH(x, l, val)
- {
-typedef typename traits::type type;
-list.push_back(new T (to_cxx(static_cast(val), 
std::tuple()
- , tag(;
- }
-   return list;
+   return efl::eina::list {x};
 }
 
 template 
-inline efl::eina::range_ptr_list
-to_cxx(Eina_List* x, std::tuple, tag< 
efl::eina::range_ptr_list >)
-{
-   efl::eina::ptr_list list;
-   Eina_List *l;
-   void *val;
-   EINA_LIST_FOREACH(x, l, val)
- {
-typedef typename traits::type type;
-list.push_back(new T (to_cxx(static_cast(val), 
std::tuple()
- , tag(;
- }
-   eina_list_free(x);
-   return list;
+inline efl::eina::range_list
+to_cxx(Eina_List* x, std::tuple, tag< 
efl::eina::range_list >)
+{
+   return efl::eina::range_list{x};
 }
 
 template 
-inline efl::eina::ptr_list
-to_cxx(Eina_List* x, std::tuple, tag< 
efl::eina::ptr_list >)
-{
-   efl::eina::ptr_list list;
-   Eina_List *l;
-   void *val;
-   EINA_LIST_FOREACH(x, l, val)
- {
-typedef typename traits::type type;
-list.push_back(new T (to_cxx(static_cast(val), 
std::tuple()
- , tag(;
- }
-   eina_list_free(x);
-   return list;
+inline efl::eina::list
+to_cxx(Eina_List* x, std::tuple, tag< 
efl::eina::list >)
+{
+   return efl::eina::list {x};
 }
 
 inline eina::stringshare
@@ -190,6 +161,24 @@ to_cxx(Eina_Iterator* x, std::tuple, tag< efl::eina::i
return efl::eina::iterator(x);
 }
 
+template 
+T
+to_cxx(Eo const* x, std::tuple, tag< T >
+   , typename std::enable_if::value>* = 
0)
+{
+   // Workaround for erroneous constness
+   return T{ ::eo_ref(const_cast(x))};
+}
+
+template 
+T
+to_cxx(Eo const* x, std::tuple, tag< T >
+   , typename std::enable_if::value>* = 
0)
+{
+   // Workaround for erroneous constness
+   return T{const_cast(x)};
+}
+
 template 
 T to_cxx(U object, O o)
 {

-- 




[EGIT] [core/efl] master 11/36: eolian-cxx: Added empty wrapper constructor

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=377bb449ba1dbdb89bb6f8accda8c8eeb514fdbe

commit 377bb449ba1dbdb89bb6f8accda8c8eeb514fdbe
Author: Felipe Magno de Almeida 
Date:   Wed Jul 16 21:52:22 2014 -0300

eolian-cxx: Added empty wrapper constructor

Added empty wrapper constructor to generation from std::nullptr_t and
allowed efl::eo::base to be empty with proper copy-constructors and
assignment operators.
---
 src/bindings/eo_cxx/eo_base.hh | 53 --
 .../grammar/eo_class_constructors_generator.hh | 10 
 2 files changed, 60 insertions(+), 3 deletions(-)

diff --git a/src/bindings/eo_cxx/eo_base.hh b/src/bindings/eo_cxx/eo_base.hh
index 3953fb9..a99d614 100644
--- a/src/bindings/eo_cxx/eo_base.hh
+++ b/src/bindings/eo_cxx/eo_base.hh
@@ -38,14 +38,27 @@ struct base
///
explicit base(Eo* eo) : _eo_raw(eo)
{
-  assert(eo != 0);
}
 
/// @brief Class destructor.
///
~base()
{
-  detail::unref(_eo_raw);
+  if(_eo_raw)
+detail::unref(_eo_raw);
+   }
+
+   base(base const& other)
+   {
+ if(other._eo_raw)
+   _eo_raw = detail::ref(other._eo_raw);
+   }
+
+   base(base&& other)
+   {
+ if(_eo_raw) detail::unref(_eo_raw);
+ _eo_raw = other._eo_raw;
+ other._eo_raw = nullptr;
}
 
base(base const& other)
@@ -57,10 +70,27 @@ struct base
///
base& operator=(base const& other)
{
-  _eo_raw = detail::ref(other._eo_ptr());
+  if(_eo_raw)
+{
+   detail::unref(_eo_raw);
+   _eo_raw = nullptr;
+}
+  if(other._eo_raw)
+_eo_raw = detail::ref(other._eo_raw);
   return *this;
}
 
+   base& operator=(base&& other)
+   {
+  if(_eo_raw)
+{
+   detail::unref(_eo_raw);
+   _eo_raw = nullptr;
+}
+  std::swap(_eo_raw, other._eo_raw);
+  return *this;
+   }
+  
/// @brief Return a pointer to the EO Object stored in this
/// instance.
///
@@ -68,6 +98,19 @@ struct base
///
Eo* _eo_ptr() const { return _eo_raw; }
 
+   /// @brief Releases the reference from this wrapper object and
+   /// return the pointer to the EO Object stored in this
+   /// instance.
+   ///
+   /// @return A pointer to the opaque EO Object.
+   ///
+   Eo* _release()
+   {
+ Eo* tmp = _eo_raw;
+ _eo_raw = nullptr;
+ return tmp;
+   }
+  
/// @brief Get the reference count of this object.
///
/// @return The referencer count of this object.
@@ -168,6 +211,10 @@ struct base
   return info;
}
 
+   explicit operator bool() const
+   {
+  return _eo_raw;
+   }
  protected:
Eo* _eo_raw; ///< The opaque EO Object.
 
diff --git a/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh 
b/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
index adc4e63..259fead 100644
--- a/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
+++ b/src/lib/eolian_cxx/grammar/eo_class_constructors_generator.hh
@@ -94,6 +94,16 @@ operator<<(std::ostream& out, constructor_eo const& x)
<< "explicit " << x._cls.name << "(Eo* eo)" << endl
<< tab(2) << ": " << class_name(x._cls.parent) << "(eo)" << endl
<< tab(1) << "{}" << endl << endl;
+
+   out << comment(
+  "@brief nullptr_t Constructor.\n\n"
+  "Constructs an empty (null) object.\n\n"
+  , 1
+ )
+   << tab(1)
+   << "explicit " << x._cls.name << "(std::nullptr_t)" << endl
+   << tab(2) << ": " << class_name(x._cls.parent) << "(nullptr)" << endl
+   << tab(1) << "{}" << endl << endl;
return out;
 }
 

-- 




[EGIT] [core/efl] master 28/36: eo-cxx: Added support for returning-void function objects

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7af91ee8faafab80553cde9136ea31400c2e3ad4

commit 7af91ee8faafab80553cde9136ea31400c2e3ad4
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 21:46:50 2014 -0300

eo-cxx: Added support for returning-void function objects
---
 src/bindings/eo_cxx/eo_event.hh | 17 -
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/bindings/eo_cxx/eo_event.hh b/src/bindings/eo_cxx/eo_event.hh
index 4d990ce..f3d2e51 100644
--- a/src/bindings/eo_cxx/eo_event.hh
+++ b/src/bindings/eo_cxx/eo_event.hh
@@ -115,12 +115,27 @@ signal_connection 
make_signal_connection(std::unique_ptr& data, Eo* eo, ::Eo_
 namespace _detail {
 
 template 
+Eina_Bool really_call_event(T& wrapper, F& f, Eo_Event_Description const& 
desc, void *info
+, std::true_type)
+{
+   f(wrapper, desc, info);
+   return true;
+}
+template 
+Eina_Bool really_call_event(T& wrapper, F& f, Eo_Event_Description const& 
desc, void *info
+, std::false_type)
+{
+   return f(wrapper, desc, info);
+}
+
+template 
 Eina_Bool
 event_callback(void *data, Eo *obj, Eo_Event_Description const* desc, void 
*info)
 {
T wrapper(::eo_ref(obj));
F *f = static_cast(data);
-   return (*f)(wrapper, *desc, info);
+   return _detail::really_call_event(wrapper, *f, *desc, info
+ , std::is_void());
 }
 
 }

-- 




[EGIT] [core/efl] master 35/36: eolian-cxx: Fixed inheritance feature with callbacks

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c1e8918b88dd2b069b62c8b2798df72a2c8c0a29

commit c1e8918b88dd2b069b62c8b2798df72a2c8c0a29
Author: Felipe Magno de Almeida 
Date:   Fri Jul 18 17:57:04 2014 -0300

eolian-cxx: Fixed inheritance feature with callbacks

The addition of callbacks was making the inheritance to fail. Fixed
generation by using the C types, instead of the abstracted callback
types for the wrapper functions.
---
 .../eolian_cxx/grammar/inheritance_base_generator.hh | 16 +++-
 src/lib/eolian_cxx/grammar/parameters_generator.hh   | 20 +---
 2 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh 
b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
index 8fe6e09..c7aaa8d 100644
--- a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
+++ b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
@@ -188,7 +188,7 @@ operator<<(std::ostream& out, 
inheritance_base_operations_function const& x)
 
out << tab(2) << "virtual " << reinterpret_type(func.ret) << " "
<< func.name << "("
-   << parameters_declaration(func.params) << ")" << endl
+   << parameters_c_declaration(func.params) << ")" << endl
<< tab(2) << "{" << endl;
if (!is_void)
  {
@@ -196,9 +196,12 @@ operator<<(std::ostream& out, 
inheritance_base_operations_function const& x)
  }
out << tab(3)
<< "eo_do_super(static_cast(this)->_eo_ptr()" << endl
-   << tab(4) << ", static_cast(this)->_eo_class()" << endl
-   << tab(4) << ", " << function_call(func)
-   << ");" << endl;
+   << tab(4) << ", static_cast(this)->_eo_class()," << endl
+   << tab(4) << (!is_void ? "_tmp_ret = " : "")
+   << "::" << x._func.impl
+   << "(";
+   parameter_names_enumerate(out, func.params)
+   << "));" << endl;
if (!is_void)
  {
 out << tab(3) << "return _tmp_ret;" << endl;
@@ -399,17 +402,12 @@ operator<<(std::ostream& out, inheritance_eo_class_getter 
const& x)
 inline void
 eo_inheritance_detail_generator(std::ostream& out, eo_class const& cls)
 {
-#if 0 // Will be fixed ASAP
out << inheritance_wrappers(cls)
-#endif
-   out
<< "namespace efl { namespace eo { namespace detail {" << endl << endl
-#if 0 // Will be fixed ASAP
<< inheritance_base_operations(cls) << endl
<< inheritance_base_operations_size(cls)
<< inheritance_operations_description(cls)
<< inheritance_call_constructors(cls)
-#endif
<< inheritance_extension(cls)
<< inheritance_eo_class_getter(cls)
<<  "} } }" << endl;
diff --git a/src/lib/eolian_cxx/grammar/parameters_generator.hh 
b/src/lib/eolian_cxx/grammar/parameters_generator.hh
index a94eda6..053cef6 100644
--- a/src/lib/eolian_cxx/grammar/parameters_generator.hh
+++ b/src/lib/eolian_cxx/grammar/parameters_generator.hh
@@ -86,6 +86,21 @@ operator<<(std::ostream& out, parameters_types const& x)
return out;
 }
 
+inline
+std::ostream& parameter_names_enumerate(std::ostream& out
+, parameters_container_type const& 
params)
+{
+   for (auto first = params.begin()
+  , iterator = first
+  , last = params.end()
+  ; iterator != last; ++iterator)
+ {
+if(iterator != first) out << ", ";
+out << iterator->name;
+ }
+   return out;
+}
+
 struct
 parameters_list
 {
@@ -160,10 +175,9 @@ operator<<(std::ostream& out, parameters_cxx_list const& x)
  {
 if (it != first)
   out << ", ";
-if (type_is_callback((*it).type))
+if (type_is_callback((*it).type) && it + 1 != last)
   {
- out << "std::move(" << (*it).name << ")";
- assert(it+1 != last);
+ out << "std::forward(" << (*it).name << ")";
  ++it; // skip next.
   }
 else

-- 




[EGIT] [core/efl] master 01/36: examples: Removed compilation warnings.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7e1f131286dc61a51268dbaaec70a74ee66ea19c

commit 7e1f131286dc61a51268dbaaec70a74ee66ea19c
Author: Savio Sena 
Date:   Fri Jul 11 20:17:04 2014 -0300

examples: Removed compilation warnings.
---
 src/examples/ecore/ecore_compose_get_example.c |   6 +-
 src/examples/ecore/ecore_evas_buffer_example_02.c  |   2 +-
 .../ecore/ecore_evas_window_sizes_example.c|   6 +-
 src/examples/ecore/ecore_imf_example.c |   2 +
 src/examples/ecore/ecore_job_example.c |   5 +
 src/examples/edje/edje-multisense.c|   2 +-
 src/examples/eet/eet-data-file_descriptor_01.c |  20 ++--
 src/examples/eina/eina_hash_02.c   |   2 +-
 src/examples/eina/eina_hash_03.c   |   2 +-
 src/examples/eina/eina_hash_04.c   |   2 +-
 src/examples/eina/eina_hash_05.c   |   2 +-
 src/examples/eina/eina_hash_06.c   |   2 +-
 src/examples/evas/evas-box.c   |   8 +-
 src/examples/evas/evas-gl.c| 114 ++---
 14 files changed, 91 insertions(+), 84 deletions(-)

diff --git a/src/examples/ecore/ecore_compose_get_example.c 
b/src/examples/ecore/ecore_compose_get_example.c
index 846b43b..f9b45cf 100644
--- a/src/examples/ecore/ecore_compose_get_example.c
+++ b/src/examples/ecore/ecore_compose_get_example.c
@@ -45,7 +45,7 @@ _is_modifier(const char *key)
 /*** end 1 : Ecore compose stuff ***/
 
 static void
-_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event)
+_key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event)
 {
 Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event;
 int alt;
@@ -57,7 +57,7 @@ _key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void
 ctrl = evas_key_modifier_is_set(ev->modifiers, "Control");
 
 printf("down : keyname: %s  key: %s  compose: **%s**  string: **%s** [%zu] 
%d (%d:%d:%d)\n",
-   ev->keyname, ev->key, ev->string, ev->compose, (ev->compose) ? 
strlen(ev->compose) : -1, (ev->compose) ? *(ev->compose) : -1,
+   ev->keyname, ev->key, ev->string, ev->compose, (ev->compose) ? 
strlen(ev->compose) : (size_t)-1, (ev->compose) ? *(ev->compose) : -1,
   alt, shift, ctrl);
 }
 
@@ -138,7 +138,7 @@ _key_up_cb(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *
 }
 
 static void
-_del(Ecore_Evas *ee)
+_del(Ecore_Evas *ee EINA_UNUSED)
 {
   ecore_main_loop_quit();
 }
diff --git a/src/examples/ecore/ecore_evas_buffer_example_02.c 
b/src/examples/ecore/ecore_evas_buffer_example_02.c
index 15180b6..e1e59c4 100644
--- a/src/examples/ecore/ecore_evas_buffer_example_02.c
+++ b/src/examples/ecore/ecore_evas_buffer_example_02.c
@@ -31,7 +31,7 @@ static Ecore_Evas *ee;
 static const char *border_img_path = PACKAGE_EXAMPLES_DIR "/red.png";
 
 static void
-_on_destroy(Ecore_Evas *ee EINA_UNUSED)
+_on_destroy(Ecore_Evas *ee_ EINA_UNUSED)
 {
ecore_main_loop_quit();
 }
diff --git a/src/examples/ecore/ecore_evas_window_sizes_example.c 
b/src/examples/ecore/ecore_evas_window_sizes_example.c
index d7f66ae..9c71cb5 100644
--- a/src/examples/ecore/ecore_evas_window_sizes_example.c
+++ b/src/examples/ecore/ecore_evas_window_sizes_example.c
@@ -41,12 +41,12 @@ static const char commands[] = \
 
 /* to inform current window's size */
 static void
-_canvas_resize_cb(Ecore_Evas *ee)
+_canvas_resize_cb(Ecore_Evas *ee_)
 {
int w, h;
char buf[1024];
 
-   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+   ecore_evas_geometry_get(ee_, NULL, NULL, &w, &h);
snprintf(buf, sizeof(buf), "%d x %d", w, h);
evas_object_text_text_set(text, buf);
evas_object_move(text, (w - 150) / 2, (h - 50) / 2);
@@ -55,7 +55,7 @@ _canvas_resize_cb(Ecore_Evas *ee)
 }
 
 static void
-_on_destroy(Ecore_Evas *ee EINA_UNUSED)
+_on_destroy(Ecore_Evas *ee_ EINA_UNUSED)
 {
ecore_main_loop_quit();
 }
diff --git a/src/examples/ecore/ecore_imf_example.c 
b/src/examples/ecore/ecore_imf_example.c
index 6075037..ca8569c 100644
--- a/src/examples/ecore/ecore_imf_example.c
+++ b/src/examples/ecore/ecore_imf_example.c
@@ -365,6 +365,8 @@ _key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object 
*o EINA_UNUSED, void *
control = evas_key_modifier_is_set(ev->modifiers, "Control");
alt = evas_key_modifier_is_set(ev->modifiers, "Alt");
shift = evas_key_modifier_is_set(ev->modifiers, "Shift");
+   (void)alt;
+   (void)shift;
 
if (!strcmp(ev->key, "BackSpace"))
  {
diff --git a/src/examples/ecore/ecore_job_example.c 
b/src/examples/ecore/ecore_job_example.c
index 541cadb..221f012 100644
--- a/src/examples/ecore/ecore_job_example.c
+++ b/src/examples/ecore/ecore_job_example.c
@@ -37,6 +37,11 @@ main(void)
job3 = ecore_job_add(_job_print_cb, str3);
 
job_quit = ecore_job_add(_job_quit_cb,

[EGIT] [core/efl] master 32/36: eolian-cxx: Workaround for callbacks without void* data parameter

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=15d85d7dc65cdf868be198938d0b9f66d8809d32

commit 15d85d7dc65cdf868be198938d0b9f66d8809d32
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 21:48:56 2014 -0300

eolian-cxx: Workaround for callbacks without void* data parameter
---
 src/lib/eolian_cxx/eo_types.hh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eolian_cxx/eo_types.hh b/src/lib/eolian_cxx/eo_types.hh
index 31a32da..58d9fb4 100644
--- a/src/lib/eolian_cxx/eo_types.hh
+++ b/src/lib/eolian_cxx/eo_types.hh
@@ -247,7 +247,7 @@ parameters_find_callback(parameters_container_type const& 
parameters)
for (auto it = parameters.cbegin(), last = parameters.cend();
 it != last; ++it)
  {
-if (type_is_callback((*it).type))
+if (type_is_callback((*it).type) && it + 1 != last)
   return it;
  }
return parameters.cend();

-- 




[EGIT] [core/efl] master 12/36: eolian-cxx: Fixed using eo::base for extension_inheritance

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=637a97a0f5e2552659a7ab7c21959387e786b453

commit 637a97a0f5e2552659a7ab7c21959387e786b453
Author: Felipe Magno de Almeida 
Date:   Wed Jul 16 20:17:10 2014 -0300

eolian-cxx: Fixed using eo::base for extension_inheritance

Extended the logic for rewriting the eo::base to efl::eo::base for
parents to extension inheritance.
---
 src/bin/eolian_cxx/convert.cc | 29 +
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/src/bin/eolian_cxx/convert.cc b/src/bin/eolian_cxx/convert.cc
index f52affa..7131188 100644
--- a/src/bin/eolian_cxx/convert.cc
+++ b/src/bin/eolian_cxx/convert.cc
@@ -155,6 +155,14 @@ convert_eolian_property_to_functions(Eolian_Class const& 
klass)
return container;
 }
 
+std::string get_class_name(std::string const& name)
+{
+  // "eo_base" is the Eolian name for EO_BASE_CLASS.
+  return (name == "eo_base" || name == "eo::base" || name == "")
+? "efl::eo::base"
+: name;
+}
+
 void
 convert_eolian_inheritances(efl::eolian::eo_class& cls, Eolian_Class const& 
klass)
 {
@@ -171,21 +179,18 @@ convert_eolian_inheritances(efl::eolian::eo_class& cls, 
Eolian_Class const& klas
  }
else
  {
+// First element is the parent
 const char *ptr = static_cast
   (eina_list_data_get(inheritances));
-std::string parent = class_format_cxx(safe_lower(ptr));
+cls.parent = get_class_name(class_format_cxx(safe_lower(ptr)));
 
-// "eo_base" is the Eolian name for EO_BASE_CLASS.
-cls.parent =
-  (parent == "eo_base" || parent == "eo::base" || parent == "")
-  ? "efl::eo::base"
-  : parent;
- }
-   inheritances = eina_list_next(inheritances);
-   EINA_LIST_FOREACH (inheritances, it, curr)
- {
-std::string extension = safe_lower(static_cast(curr));
-cls.extensions.push_back(class_format_cxx(extension));
+inheritances = eina_list_next(inheritances);
+
+EINA_LIST_FOREACH (inheritances, it, curr)
+ {
+   std::string extension = safe_lower(static_cast(curr));
+   
cls.extensions.push_back(get_class_name(class_format_cxx(extension)));
+ }
  }
 }
 

-- 




[EGIT] [core/efl] master 08/36: eolian-cxx: Fixed the translation of the native type.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=67e187bebc1c2d6395e389f7d63a7605bff992a3

commit 67e187bebc1c2d6395e389f7d63a7605bff992a3
Author: Savio Sena 
Date:   Thu Jul 17 01:25:45 2014 -0300

eolian-cxx: Fixed the translation of the native type.
---
 src/bin/eolian_cxx/type_lookup.hh | 6 +++---
 src/lib/eolian_cxx/eo_types.hh| 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/bin/eolian_cxx/type_lookup.hh 
b/src/bin/eolian_cxx/type_lookup.hh
index b5c7cfa..8465ef9 100644
--- a/src/bin/eolian_cxx/type_lookup.hh
+++ b/src/bin/eolian_cxx/type_lookup.hh
@@ -28,8 +28,8 @@ inline efl::eolian::eolian_type
 type_from_eolian(Eolian_Type const& type)
 {
efl::eolian::eolian_type x;
-   x.native = normalize_spaces(safe_str(type.name));
-   x.is_own = type.is_own;
+   x.native = normalize_spaces(safe_str(::eolian_type_c_type_get(&type)));
+   x.is_own = ::eolian_type_is_own(&type);
return x;
 }
 
@@ -50,7 +50,7 @@ inline efl::eolian::eolian_type_instance
 type_lookup(const Eolian_Type* type,
 lookup_table_type const& lut = type_lookup_table)
 {
-   if (type == NULL) return { efl::eolian::void_type };
+   if (type == NULL) return { efl::eolian::void_type }; // XXX shouldn't
size_t n = ::eina_list_count(type->subtypes) + 1;
assert(n > 0);
efl::eolian::eolian_type_instance v(n);
diff --git a/src/lib/eolian_cxx/eo_types.hh b/src/lib/eolian_cxx/eo_types.hh
index bd6e7d9..f9b8946 100644
--- a/src/lib/eolian_cxx/eo_types.hh
+++ b/src/lib/eolian_cxx/eo_types.hh
@@ -248,7 +248,7 @@ parameters_find_callback(parameters_container_type const& 
parameters)
  {
 if (type_is_callback((*it).type))
   return it;
-}
+ }
return parameters.cend();
 }
 

-- 




[EGIT] [core/efl] master 18/36: eolian-cxx: Fixed complex-types.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e807421f602c1adab47c3fcadbc508155d0d1136

commit e807421f602c1adab47c3fcadbc508155d0d1136
Author: Savio Sena 
Date:   Thu Jul 17 04:14:22 2014 -0300

eolian-cxx: Fixed complex-types.
---
 src/bin/eolian_cxx/type_lookup.hh| 33 +++-
 src/bin/eolian_cxx/type_lookup_table.cc  |  2 +-
 src/lib/eolian_cxx/grammar/type_generator.hh |  2 +-
 3 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/src/bin/eolian_cxx/type_lookup.hh 
b/src/bin/eolian_cxx/type_lookup.hh
index 8465ef9..b26fff9 100644
--- a/src/bin/eolian_cxx/type_lookup.hh
+++ b/src/bin/eolian_cxx/type_lookup.hh
@@ -51,13 +51,36 @@ type_lookup(const Eolian_Type* type,
 lookup_table_type const& lut = type_lookup_table)
 {
if (type == NULL) return { efl::eolian::void_type }; // XXX shouldn't
-   size_t n = ::eina_list_count(type->subtypes) + 1;
-   assert(n > 0);
-   efl::eolian::eolian_type_instance v(n);
-   for (size_t i=0; i(::eina_iterator_container_get(it));
+n_ = ::eina_list_count(lt) + 1;
+::eina_iterator_free(it);
+ }
+   else
+ {
+n_ = 1;
+ }
+   // assert(n_ > 0);
+   efl::eolian::eolian_type_instance v(n_);
+   for (size_t i=0; i", {"memory"}},
   {"const Eina_Inlist *", eolian_type::complex_, false, 
"efl::eina::range_inlist", {"eina-cxx/eina_inlist.hh"}},
   {"const Eina_List *", eolian_type::complex_, false, 
"efl::eina::range_ptr_list", {"eina-cxx/eina_ptrlist.hh"}},
diff --git a/src/lib/eolian_cxx/grammar/type_generator.hh 
b/src/lib/eolian_cxx/grammar/type_generator.hh
index 1ca5a66..acc7aa9 100644
--- a/src/lib/eolian_cxx/grammar/type_generator.hh
+++ b/src/lib/eolian_cxx/grammar/type_generator.hh
@@ -76,7 +76,7 @@ operator<<(std::ostream& out, to_cxx const& x)
 << ", " << type_ownership(x._type) << ");";
  }
else
- out << "_ret";
+ out << "_tmp_ret";
return out;
 }
 

-- 




[EGIT] [core/efl] master 29/36: Changed uses of std::abort to assert's with better description

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2ff390e087587f755ec09a2ccf2bcd673e6272a5

commit 2ff390e087587f755ec09a2ccf2bcd673e6272a5
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 21:47:23 2014 -0300

Changed uses of std::abort to assert's with better description
---
 src/bin/eolian_cxx/eolian_cxx.cc | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/bin/eolian_cxx/eolian_cxx.cc b/src/bin/eolian_cxx/eolian_cxx.cc
index 93064bc..d68548c 100644
--- a/src/bin/eolian_cxx/eolian_cxx.cc
+++ b/src/bin/eolian_cxx/eolian_cxx.cc
@@ -183,7 +183,7 @@ run(options_type const& opts)
EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain)
  << "Error generating: " << class_name(*klass)
  << std::endl;
-   std::abort();
+   assert(false && "error generating class");
 }
 
 static void
@@ -201,7 +201,7 @@ database_load(options_type const& opts)
  {
 EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain)
   << "Eolian failed parsing eot files";
-std::abort();
+assert(false && "Error parsing eot files");
  }
if (!opts.in_file.empty())
  {
@@ -209,14 +209,14 @@ database_load(options_type const& opts)
   {
  EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain)
<< "Failed parsing: " << opts.in_file << ".";
- std::abort();
+ assert(false && "Error parsing input file");
   }
  }
if (!::eolian_all_eo_files_parse())
  {
 EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain)
   << "Eolian failed parsing input files";
-std::abort();
+assert(false && "Error parsing input files");
  }
 }
 
@@ -327,7 +327,7 @@ opts_get(int argc, char **argv)
if (!eolian_cxx::opts_check(opts))
  {
 _usage(argv[0]);
-std::abort();
+assert(false && "Wrong options passed in command-line");
  }
 
return opts;

-- 




[EGIT] [core/efl] master 15/36: eolian-cxx: Fixed the translation of classnames

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5d61edabd8385f010b45192d83c784b07da86dbc

commit 5d61edabd8385f010b45192d83c784b07da86dbc
Author: Savio Sena 
Date:   Thu Jul 17 04:05:30 2014 -0300

eolian-cxx: Fixed the translation of classnames
---
 src/bin/eolian_cxx/eolian_wrappers.hh | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index 7954428..1b26a35 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -316,15 +316,14 @@ event_create(Eolian_Class const& klass, const 
Eolian_Event *event_)
 {
efl::eolian::eo_event event;
const char *name, *comment;
-   const Eolian_Type *type;
-   static_cast(type); // XXX
-   if(::eolian_class_event_information_get(event_, &name, &type, &comment))
+   if(::eolian_class_event_information_get(event_, &name, NULL, &comment))
  {
 std::string name_ = safe_str(name);
 std::transform(name_.begin(), name_.end(), name_.begin(),
[](int c) { return c != ',' ? c : '_'; });
 event.name = normalize_spaces(name_);
-event.eo_name = safe_upper(class_name(klass) + "_EVENT_" + event.name);
+event.eo_name = safe_upper
+  (find_replace(class_full_name(klass), ".", "_") + "_EVENT_" + 
event.name);
 event.comment = safe_str(comment);
  }
return event;

-- 




[EGIT] [core/efl] master 16/36: eolian-cxx: Relevant cosmetics.

2014-07-18 Thread Savio Sena
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=04d90ae131bd037ccd59eff15531f2459c799897

commit 04d90ae131bd037ccd59eff15531f2459c799897
Author: Savio Sena 
Date:   Thu Jul 17 04:06:07 2014 -0300

eolian-cxx: Relevant cosmetics.
---
 src/lib/eolian_cxx/eo_types.hh| 2 +-
 src/lib/eolian_cxx/eo_validate.hh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian_cxx/eo_types.hh b/src/lib/eolian_cxx/eo_types.hh
index f9b8946..08bbd73 100644
--- a/src/lib/eolian_cxx/eo_types.hh
+++ b/src/lib/eolian_cxx/eo_types.hh
@@ -114,7 +114,7 @@ type_is_binding(eolian_type_instance const& type)
 inline eolian_type
 type_to_native(eolian_type const& type)
 {
-   eolian_type native = type;
+   eolian_type native(type);
native.binding.clear();
native.category = eolian_type::simple_;
return native;
diff --git a/src/lib/eolian_cxx/eo_validate.hh 
b/src/lib/eolian_cxx/eo_validate.hh
index 4f131a0..53bfec5 100644
--- a/src/lib/eolian_cxx/eo_validate.hh
+++ b/src/lib/eolian_cxx/eo_validate.hh
@@ -51,7 +51,7 @@ _is_valid(events_container_type const& events)
 
 template 
 inline void
-_validate(T val, const eo_class& cls)
+_validate(T const& val, eo_class const& cls)
 {
if(!_is_valid(val))
  {

-- 




[EGIT] [core/efl] master 25/36: eo-cxx: Added default-constructor to wref type

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=df1c03b56be63e90a12a232bc2a7d06d5d142215

commit df1c03b56be63e90a12a232bc2a7d06d5d142215
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 15:29:31 2014 -0300

eo-cxx: Added default-constructor to wref type
---
 src/bindings/eo_cxx/eo_wref.hh | 17 +
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/bindings/eo_cxx/eo_wref.hh b/src/bindings/eo_cxx/eo_wref.hh
index 4e2385f..ec3b619 100644
--- a/src/bindings/eo_cxx/eo_wref.hh
+++ b/src/bindings/eo_cxx/eo_wref.hh
@@ -18,8 +18,16 @@ namespace efl { namespace eo {
 /// @brief Weak references to an EO Object.
 ///
 template
-struct wref {
-
+struct wref
+{
+   /// @brief Default constructor.
+   ///
+   /// Create a empty weak reference.
+   ///
+   wref() : _eo_wref(nullptr)
+   {
+   }
+  
/// @brief Class constructor.
///
/// @param obj The EO Object to be referenced.
@@ -46,8 +54,9 @@ struct wref {
///
~wref()
{
-  if(eina::optional p = lock())
-_del();
+  if(_eo_wref)
+if(eina::optional p = lock())
+  _del();
}
 
/// @brief Try to acquire a strong reference to the underlying

-- 




[EGIT] [core/efl] master 23/36: eolian-cxx: Workaround for multiple callbacks without corresponding void*data

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=401cc81355be66c147848815d243ec167c1f7532

commit 401cc81355be66c147848815d243ec167c1f7532
Author: Felipe Magno de Almeida 
Date:   Thu Jul 17 14:09:26 2014 -0300

eolian-cxx: Workaround for multiple callbacks without corresponding 
void*data

Added workaround for generating classes with methods that have more
than one callback but doesn't have a corresponding void* data
parameter. E.g., elm_box.eo.
---
 src/lib/eolian_cxx/eo_types.hh  |  5 +++--
 .../grammar/inheritance_base_generator.hh   |  2 +-
 src/lib/eolian_cxx/grammar/parameters_generator.hh  | 21 ++---
 3 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/src/lib/eolian_cxx/eo_types.hh b/src/lib/eolian_cxx/eo_types.hh
index 08bbd73..31a32da 100644
--- a/src/lib/eolian_cxx/eo_types.hh
+++ b/src/lib/eolian_cxx/eo_types.hh
@@ -234,8 +234,9 @@ inline unsigned int
 parameters_count_callbacks(parameters_container_type const& parameters)
 {
unsigned int r = 0u;
-   for (eo_parameter const& param : parameters)
- if(type_is_callback(param.type))
+   for (auto first = parameters.begin(), last = parameters.end()
+  ; first != last ; ++first)
+ if(type_is_callback(first->type) && first + 1 != last)
++r;
return r;
 }
diff --git a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh 
b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
index 8f426a5..1b902fc 100644
--- a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
+++ b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
@@ -250,7 +250,7 @@ operator<<(std::ostream& out, 
inheritance_call_constructor_arguments const& x)
for (i=0; i()";
+out << "::efl::eolian::to_c(args.get<" << i << ">())";
  }
return out;
 }
diff --git a/src/lib/eolian_cxx/grammar/parameters_generator.hh 
b/src/lib/eolian_cxx/grammar/parameters_generator.hh
index 9f6f3e5..648a995 100644
--- a/src/lib/eolian_cxx/grammar/parameters_generator.hh
+++ b/src/lib/eolian_cxx/grammar/parameters_generator.hh
@@ -28,11 +28,11 @@ operator<<(std::ostream& out, parameters_declaration const& 
x)
  {
 if (it != first)
   out << ", ";
-if (type_is_callback((*it).type))
+if (type_is_callback((*it).type) && it+1 != last)
   {
- out << "F && " << (*it).name;
- assert(it+1 != last);
- ++it; // skip next.
+out << "F && " << (*it).name;
+assert(it+1 != last);
+++it; // skip next.
   }
 else
   out << reinterpret_type((*it).type) << " " << (*it).name;
@@ -80,12 +80,19 @@ operator<<(std::ostream& out, parameters_list const& x)
  {
 if (it != first)
   out << ", ";
-out << to_c((*it).type, (*it).name);
 if (type_is_callback((*it).type))
   {
- out << ", _tmp_f";
- ++it; // skip next
+if(it + 1 != last)
+  {
+out << to_c((*it).type, (*it).name)
+<< ", _tmp_f";
+++it; // skip next
+  }
+else
+  out << it->name;
   }
+else
+  out << to_c((*it).type, (*it).name);
  }
return out;
 }

-- 




[EGIT] [apps/epour] master 01/02: Check that torrent has metadata before attempting to display tooltip

2014-07-18 Thread Kai Huuhko
kuuko pushed a commit to branch master.

http://git.enlightenment.org/apps/epour.git/commit/?id=7fb1efddbaac8994044482e5b7e681a5ba376c6b

commit 7fb1efddbaac8994044482e5b7e681a5ba376c6b
Author: Kai Huuhko 
Date:   Fri Jul 18 22:11:14 2014 +0300

Check that torrent has metadata before attempting to display tooltip
---
 epour/gui/__init__.py | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/epour/gui/__init__.py b/epour/gui/__init__.py
index 9d4cce1..19aadd1 100644
--- a/epour/gui/__init__.py
+++ b/epour/gui/__init__.py
@@ -255,7 +255,12 @@ class MainInterface(object):
 if not h.is_valid():
 return
 
-tt = TorrentTooltip(tooltip, h)
+s = h.status(8)
+
+if not s.has_metadata:
+return
+
+tt = TorrentTooltip(tooltip, h, s)
 
 return tt
 
@@ -584,12 +589,10 @@ class TorrentTooltip(Table):
 ("Number of peers", None, "num_peers"),
 )
 
-def __init__(self, parent, h):
+def __init__(self, parent, h, s):
 
 Table.__init__(self, parent, size_hint_weight=EXPAND_BOTH)
 
-s = h.status(8)
-
 value_labels = []
 
 for i, (desc, conv, attr_name) in enumerate(self.items):

-- 




[EGIT] [apps/epour] master 02/02: Fix save and restore of torrents without metadata

2014-07-18 Thread Kai Huuhko
kuuko pushed a commit to branch master.

http://git.enlightenment.org/apps/epour.git/commit/?id=5541a2ad759a4ef5bae9e7b7797f6e3c356d2dde

commit 5541a2ad759a4ef5bae9e7b7797f6e3c356d2dde
Author: Kai Huuhko 
Date:   Fri Jul 18 22:13:36 2014 +0300

Fix save and restore of torrents without metadata
---
 epour/session.py | 27 +--
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/epour/session.py b/epour/session.py
index f3234d2..d869736 100644
--- a/epour/session.py
+++ b/epour/session.py
@@ -180,12 +180,14 @@ class Session(lt.session):
 try:
 if isinstance(t, dict):
 for k, v in t.items():
-if k == "ti":
+if v is None:
+continue
+elif k == "ti":
 t[k] = lt.torrent_info(lt.bdecode(v))
 # with open(v, "rb") as f:
 # torrents[i][k] = \
 # 
lt.torrent_info(lt.bdecode(f.read()))
-if k == "info_hash":
+elif k == "info_hash":
 torrents[i][k] = lt.big_number(v)
 else:
 # Upgrade from older versions where t is file path
@@ -219,17 +221,22 @@ class Session(lt.session):
 else:
 self.torrents[i][k] = v.to_string()
 
-for h in self.get_torrents():
-if h.is_valid() and h.has_metadata():
+handles = self.get_torrents()
+for h in handles:
+if h.is_valid():
 i = str(h.info_hash())
 t_dict = self.torrents[i]
-t_info = h.get_torrent_info()
-t = {}
-t["info"] = lt.bdecode(t_info.metadata())
-t_dict["ti"] = lt.bencode(t)
 t_dict["save_path"] = h.save_path()
-resume_data = lt.bencode(h.write_resume_data())
-t_dict["resume_data"] = resume_data
+s = h.status(0)
+if s.has_metadata:
+resume_data = lt.bencode(h.write_resume_data())
+t_dict["resume_data"] = resume_data
+t_info = h.get_torrent_info()
+t = {}
+t["info"] = lt.bdecode(t_info.metadata())
+t_dict["ti"] = lt.bencode(t)
+else:
+self.log.debug("Handle is invalid, skipping")
 
 path = os.path.join(save_data_path("epour"), "torrents")
 with open(path, 'wb') as f:

-- 




[EGIT] [tools/enventor] master 01/01: change the desktop category to Development/Utility

2014-07-18 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=4b45c690f3eef5855f3daa9df714fd5a08862ce9

commit 4b45c690f3eef5855f3daa9df714fd5a08862ce9
Author: ChunEon Park 
Date:   Sat Jul 19 01:35:13 2014 +0900

change the desktop category to Development/Utility
---
 data/desktop/enventor.desktop | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/data/desktop/enventor.desktop b/data/desktop/enventor.desktop
index 867d0af..c1baf48 100644
--- a/data/desktop/enventor.desktop
+++ b/data/desktop/enventor.desktop
@@ -7,4 +7,4 @@ Icon=enventor
 Exec=enventor
 Terminal=false
 #MimeType=text/edc
-Categories=Utility;EdcEditor;
+Categories=Development;Utility;

-- 




[EGIT] [core/elementary] master 01/01: update according to latest eolian changes

2014-07-18 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=1e0a451cea728528a32d0118b0f739873a94be26

commit 1e0a451cea728528a32d0118b0f739873a94be26
Author: Daniel Kolesa 
Date:   Fri Jul 18 17:30:06 2014 +0100

update according to latest eolian changes
---
 src/lib/elm_interface_atspi_editable_text.eo | 1 -
 src/lib/elm_interface_atspi_selection.eo | 1 -
 src/lib/elm_interface_atspi_text.eo  | 1 -
 src/lib/elm_interface_atspi_value.eo | 1 -
 src/lib/elm_interface_atspi_window.eo| 1 -
 src/lib/elm_interface_fileselector.eo| 1 -
 6 files changed, 6 deletions(-)

diff --git a/src/lib/elm_interface_atspi_editable_text.eo 
b/src/lib/elm_interface_atspi_editable_text.eo
index e2628f5..2f431e2 100644
--- a/src/lib/elm_interface_atspi_editable_text.eo
+++ b/src/lib/elm_interface_atspi_editable_text.eo
@@ -2,7 +2,6 @@ interface Elm_Interface_Atspi_Editable_Text ()
 {
legacy_prefix: null;
eo_prefix: elm_interface_atspi_editable_text;
-   data: null;
properties {
   protected content {
  set {
diff --git a/src/lib/elm_interface_atspi_selection.eo 
b/src/lib/elm_interface_atspi_selection.eo
index 79785a5..0269cac 100644
--- a/src/lib/elm_interface_atspi_selection.eo
+++ b/src/lib/elm_interface_atspi_selection.eo
@@ -2,7 +2,6 @@ interface Elm_Interface_Atspi_Selection ()
 {
legacy_prefix: null;
eo_prefix: elm_interface_atspi_selection;
-   data: null;
properties {
   protected selected_children_count {
  get {
diff --git a/src/lib/elm_interface_atspi_text.eo 
b/src/lib/elm_interface_atspi_text.eo
index af8d869..44e79db 100644
--- a/src/lib/elm_interface_atspi_text.eo
+++ b/src/lib/elm_interface_atspi_text.eo
@@ -2,7 +2,6 @@ interface Elm_Interface_Atspi_Text ()
 {
legacy_prefix: null;
eo_prefix: elm_interface_atspi_text;
-   data: null;
properties {
   protected character {
  get {
diff --git a/src/lib/elm_interface_atspi_value.eo 
b/src/lib/elm_interface_atspi_value.eo
index 96ae355..ded5a7b 100644
--- a/src/lib/elm_interface_atspi_value.eo
+++ b/src/lib/elm_interface_atspi_value.eo
@@ -2,7 +2,6 @@ interface Elm_Interface_Atspi_Value ()
 {
legacy_prefix: null;
eo_prefix: elm_interface_atspi_value;
-   data: null;
properties {
   protected value_and_text {
  get {
diff --git a/src/lib/elm_interface_atspi_window.eo 
b/src/lib/elm_interface_atspi_window.eo
index d21fb69..4d57361 100644
--- a/src/lib/elm_interface_atspi_window.eo
+++ b/src/lib/elm_interface_atspi_window.eo
@@ -1,6 +1,5 @@
 interface Elm_Interface_Atspi_Window ()
 {
-   data: null;
events {
   window,created; /*@ Called when new window has been created. */
   window,activated; /*@ Called when new window has been activated. 
(unfocused) */
diff --git a/src/lib/elm_interface_fileselector.eo 
b/src/lib/elm_interface_fileselector.eo
index 8fbae0f..751353c 100644
--- a/src/lib/elm_interface_fileselector.eo
+++ b/src/lib/elm_interface_fileselector.eo
@@ -2,7 +2,6 @@ interface Elm_Interface_Fileselector ()
 {
legacy_prefix: null;
eo_prefix: elm_interface_fileselector;
-   data: null;
properties {
   folder_only {
  set {

-- 




[EGIT] [core/efl] master 01/01: eolian: disallow the data field in interfaces; it's always null

2014-07-18 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fa3e433f6ea86988f2324119f1869eeacaa7dca5

commit fa3e433f6ea86988f2324119f1869eeacaa7dca5
Author: Daniel Kolesa 
Date:   Fri Jul 18 17:29:25 2014 +0100

eolian: disallow the data field in interfaces; it's always null
---
 src/lib/eolian/eo_parser.c   | 5 +
 src/lib/evas/canvas/evas_clickable_interface.eo  | 1 -
 src/lib/evas/canvas/evas_common_interface.eo | 1 -
 src/lib/evas/canvas/evas_draggable_interface.eo  | 1 -
 src/lib/evas/canvas/evas_scrollable_interface.eo | 1 -
 src/lib/evas/canvas/evas_selectable_interface.eo | 1 -
 src/lib/evas/canvas/evas_signal_interface.eo | 1 -
 src/lib/evas/canvas/evas_zoomable_interface.eo   | 1 -
 8 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 9ddcf25..d5bdc0c 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -939,6 +939,10 @@ parse_class_body(Eo_Lexer *ls, Eina_Bool allow_ctors, 
Eolian_Class_Type type)
 ls->tmp.kls->comment = eina_stringshare_ref(ls->t.value);
 eo_lexer_get(ls);
  }
+   if (type == EOLIAN_CLASS_INTERFACE)
+ {
+ls->tmp.kls->data_type = eina_stringshare_add("null");
+ }
for (;;) switch (ls->t.kw)
  {
   case KW_legacy_prefix:
@@ -960,6 +964,7 @@ parse_class_body(Eo_Lexer *ls, Eina_Bool allow_ctors, 
Eolian_Class_Type type)
 check_next(ls, ';');
 break;
   case KW_data:
+if (type == EOLIAN_CLASS_INTERFACE) return;
 CASE_LOCK(ls, data, "data definition")
 eo_lexer_get(ls);
 check_next(ls, ':');
diff --git a/src/lib/evas/canvas/evas_clickable_interface.eo 
b/src/lib/evas/canvas/evas_clickable_interface.eo
index d3de7ee..47337b6 100644
--- a/src/lib/evas/canvas/evas_clickable_interface.eo
+++ b/src/lib/evas/canvas/evas_clickable_interface.eo
@@ -1,6 +1,5 @@
 interface Evas.Clickable_Interface (Evas.Signal_Interface)
 {
-   data: null;
events {
   clicked;
   clicked,double;
diff --git a/src/lib/evas/canvas/evas_common_interface.eo 
b/src/lib/evas/canvas/evas_common_interface.eo
index 392f8ec..390ef4c 100644
--- a/src/lib/evas/canvas/evas_common_interface.eo
+++ b/src/lib/evas/canvas/evas_common_interface.eo
@@ -1,7 +1,6 @@
 interface Evas.Common_Interface ()
 {
eo_prefix: evas_common;
-   data: null;
properties {
   evas {
  get {
diff --git a/src/lib/evas/canvas/evas_draggable_interface.eo 
b/src/lib/evas/canvas/evas_draggable_interface.eo
index 628f32f..5f1a8d0 100644
--- a/src/lib/evas/canvas/evas_draggable_interface.eo
+++ b/src/lib/evas/canvas/evas_draggable_interface.eo
@@ -1,6 +1,5 @@
 interface Evas.Draggable_Interface (Evas.Signal_Interface)
 {
-   data: null;
events {
   drag;
   drag,start;
diff --git a/src/lib/evas/canvas/evas_scrollable_interface.eo 
b/src/lib/evas/canvas/evas_scrollable_interface.eo
index 370435c..8fd36d3 100644
--- a/src/lib/evas/canvas/evas_scrollable_interface.eo
+++ b/src/lib/evas/canvas/evas_scrollable_interface.eo
@@ -1,6 +1,5 @@
 interface Evas.Scrollable_Interface (Evas.Signal_Interface)
 {
-   data: null;
events {
   scroll;
   scroll,anim,start;
diff --git a/src/lib/evas/canvas/evas_selectable_interface.eo 
b/src/lib/evas/canvas/evas_selectable_interface.eo
index 4ee2685..44952ab 100644
--- a/src/lib/evas/canvas/evas_selectable_interface.eo
+++ b/src/lib/evas/canvas/evas_selectable_interface.eo
@@ -1,6 +1,5 @@
 interface Evas.Selectable_Interface (Evas.Signal_Interface)
 {
-   data: null;
events {
   selected;
   unselected;
diff --git a/src/lib/evas/canvas/evas_signal_interface.eo 
b/src/lib/evas/canvas/evas_signal_interface.eo
index 733e020..1938c96 100644
--- a/src/lib/evas/canvas/evas_signal_interface.eo
+++ b/src/lib/evas/canvas/evas_signal_interface.eo
@@ -1,6 +1,5 @@
 interface Evas.Signal_Interface ()
 {
-   data: null;
implements {
 class.constructor;
 class.destructor;
diff --git a/src/lib/evas/canvas/evas_zoomable_interface.eo 
b/src/lib/evas/canvas/evas_zoomable_interface.eo
index ce39aba..43de299 100644
--- a/src/lib/evas/canvas/evas_zoomable_interface.eo
+++ b/src/lib/evas/canvas/evas_zoomable_interface.eo
@@ -1,6 +1,5 @@
 interface Evas.Zoomable_Interface (Evas.Signal_Interface)
 {
-   data: null;
events {
   zoom,start;
   zoom,stop;

-- 




Re: [E-devel] Model-View-Controller

2014-07-18 Thread Carlos Carvalho
enum Foo {} is simpler but it also means that all tapedef's are equally
prefixed by "_". What if you need to have a different prefix or name?

In C I prefer 'typedef struct {} Foo;' but 'typedef _Foo Foo' close to
the top of header helps readability when you have many structs in your .h
however your code editor may help on this too (depending on which features
your code editor has)


On Thu, Jul 17, 2014 at 9:31 PM, Jean-Philippe André 
wrote:

> Hi
>
> On Thu, Jul 17, 2014 at 6:31 AM, Daniel Kolesa  wrote:
>
> > 2014-07-16 22:17 GMT+01:00 Larry de Oliveira Lira Jr <
> > la...@expertisesolutions.com.br>:
> >
> > > Hello all
> > >
> > > we have a new version of emodel based in all feedback here (thanks for
> > all)
> > > this version is in working progress, and docs is not complete yet, but
> > any
> > > new feedback is appreciated
> > >
> > > http://pastebin.com/uAxb3PHp
> > >
> > >
> > Glad you guys are trying out new Eolian stuff already. The enum won't
> parse
> > yet though...
> >
> > also
> >
> > the syntax will allow this notation:
> >
> > type Foo: enum _Foo
> > {
> > 
> > }
> >
> > just like C allows "typedef enum _Foo { ... } Foo;".
> >
>
> Why do we need to declare type Foo when we already declared enum Foo?
> IMO this is an ugly thing in C (typedef struct _A A), no need to repeat it
> in Eo.
>
> enum Foo {} would be simpler, no?
>
> Unless there's a very good reason for it, of course :)
>
> Cheers,
>
>
> >
> >
> > >
> > > On Tue, Jul 8, 2014 at 2:46 AM, Carsten Haitzler  >
> > > wrote:
> > >
> > > > On Mon, 7 Jul 2014 11:27:27 -0300 Carlos Carvalho
> > > >  said:
> > > >
> > > > > Hi Raster!
> > > > >
> > > > >
> > > > > On Tue, Jul 1, 2014 at 6:36 AM, Carsten Haitzler <
> > ras...@rasterman.com
> > > >
> > > > > wrote:
> > > > >
> > > > > > On Tue, 24 Jun 2014 12:25:53 -0300 Carlos Carvalho
> > > > > >  said:
> > > > > >
> > > > > > child_select() and child_select_eval() are basically not
> > documented.
> > > i
> > > > can
> > > > > > guess that they may create a EMODEL_EVENT_CHILD_SELECTED later...
> > but
> > > > what
> > > > > > is
> > > > > > the difference between these? no info there. and the docs for the
> > > > events
> > > > > > point
> > > > > > back to these  functions...
> > > > > >
> > > > > > prop_list and prop_fetch are also basically undocumented. how do
> > > these
> > > > > > interact
> > > > > > with EMODEL_EVENT_PROPERTY_CHANGE callbacks? i might guess
> > prop_list
> > > > calls
> > > > > > the
> > > > > > callback on every property the object has once it has fetched
> them.
> > > > how do
> > > > > > i
> > > > > > know the calls are finished? imagine it finds one property every
> > > > second and
> > > > > > keeps calling... for how long? when is it done? no info there and
> > as
> > > > best i
> > > > > > see, no way to figure it out. prop_fetch fetches a single prop
> so i
> > > > know
> > > > > > once i
> > > > > > get the cb after that... i have my prop. now more fun - what if i
> > > > > > prop_list and
> > > > > > prop_fetch one after the other? ... fetches are delayed... but
> the
> > > same
> > > > > > callback. again - docs!
> > > > > >
> > > > > > prop_set - this sets a prop. .. what does that have to do with
> > > > > > EMODEL_EVENT_PROPERTY_CHANGE event callbacks? no info. no docs.
> no
> > > > > > explanation.
> > > > > > please... explain!
> > > > > >
> > > > >
> > > > > The prop_list will raise EMODEL_EVENT_PROPERTIES_CHANGE event. It
> > > > provides
> > > > > Eina_Value that may be dependent on implementation. In Emodel_Eio
> it
> > > > > is Eina_Value_Struct containing all properties.
> > > >
> > > > ok - so do you get one prop change event per prop list? mutliple? can
> > you
> > > > get
> > > > zero? how do you know the object has no properties at all? (if you
> prop
> > > > list
> > > > and never get a cb... how long should you wait? etc.). i'm pointing
> > out a
> > > > hole
> > > > here. if you have zero props - how do i know for sure in a known
> > bounded
> > > > amount
> > > > of time? you need to let the caller know when their prop change
> events
> > > are
> > > > finished (eg a prop change event with a NULL eina value), but you
> need
> > to
> > > > document this too. also should it maybe be Eina_Value *value in the
> > > > property
> > > > event? then the value can be shared out from the model internals
> > without
> > > > copying ... maybe const Eina_Value * to indicate its read-only
> > > >
> > > > > With prop_fetch you can retrieve the value associated with the
> > > property.
> > > > > prop_list must be executed beforehand so you can know what are the
> > > > > properties available.
> > > > > prop_fetch is associated with the event
> EMODEL_EVENT_PROPERTY_CHANGE.
> > > >
> > > > ok - so on a fetch success a prop change event is triggered, what
> > happens
> > > > on
> > > > failure? how do i know it failed? what if i do several fetches in a
> > row -
> > > > fetch
> > > > a, b then c... and later get the cb's... how do i know 

Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Iván Briano
http://img2.wikia.nocookie.net/__cb2010204123/theyhadrealgoats/images/b/bd/Buzz-and-woody-Dicks-Dicks-everywhere.jpeg

On Fri, Jul 18, 2014 at 10:16 AM, Tom Hacohen  wrote:
> On 18/07/14 14:07, Stefan Schmidt wrote:
>> Hello.
>>
>> On Fri, 2014-07-18 at 13:45, Tom Hacohen wrote:
>>> Hello,
>>>
>>> Could you say in a non-dicky way?
>>
>> Is pretty please, please with sugar on top needed nowadays?
>>
>> I asked if you could stop top posting (something you asked people
>> dozens of times here) not more and not less. If you take that personal
>> its your own feeling not my writing.
>>
>
> If it was not your intention, I take it back.
>
> However, you've just been a dick (again?). So dude, chill.
>
> I didn't take the request personally, and it was well deserved (as I've
> been a top-posting offender recently), however your style of writing was
> very dicky, just so you know.
>
> --
> Tom.
>
>
> --
> Want fast and easy access to all the code in your enterprise? Index and
> search up to 200,000 lines of code with a free copy of Black Duck
> Code Sight - the same software that powers the world's largest code
> search on Ohloh, the Black Duck Open Hub! Try it now.
> http://p.sf.net/sfu/bds
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/02: eolian-cxx: Disabled temporarily the inheritance feature

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5e5b00bc904316fb55a0f8ff2bc971129aa91c44

commit 5e5b00bc904316fb55a0f8ff2bc971129aa91c44
Author: Felipe Magno de Almeida 
Date:   Fri Jul 18 12:00:39 2014 -0300

eolian-cxx: Disabled temporarily the inheritance feature

This feature is buggy when using multi-level namespaces. I disabled it
temporarily and will fix it ASAP and re-enable it.
---
 src/examples/eolian_cxx/Makefile.am  | 13 +++--
 src/lib/eolian_cxx/grammar/inheritance_base_generator.hh |  5 +
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/examples/eolian_cxx/Makefile.am 
b/src/examples/eolian_cxx/Makefile.am
index f1f678a..c5ad78a 100644
--- a/src/examples/eolian_cxx/Makefile.am
+++ b/src/examples/eolian_cxx/Makefile.am
@@ -9,6 +9,7 @@ EOLIAN_FLAGS = \
   -I$(top_srcdir)/src/lib/eo \
   -I$(top_srcdir)/src/lib/evas/canvas \
   -I$(top_srcdir)/src/lib/edje \
+  -I$(top_srcdir)/src/lib/efl \
   -I$(top_srcdir)/src/lib/ecore_audio
 
 include $(top_srcdir)/src/Makefile_Eolian_Helper.am
@@ -79,7 +80,7 @@ SRCS = \
$(IMPL)
 
 EXTRA_PROGRAMS = \
-   eolian_cxx_simple_01 \
+   eolian_cxx_simple_01 #\
eolian_cxx_inherit_01
 
 DATA_FILES = Makefile.examples $(EOS)
@@ -91,12 +92,12 @@ eolian_cxx_simple_01_SOURCES = \
 
 eolian_cxx_simple_01.$(OBJEXT): $(GENERATED)
 
-eolian_cxx_inherit_01_SOURCES = \
-   eolian_cxx_inherit_01.cc \
-   colourable.c \
-   colourablesquare.c
+# eolian_cxx_inherit_01_SOURCES = \
+#  eolian_cxx_inherit_01.cc \
+#  colourable.c \
+#  colourablesquare.c
 
-eolian_cxx_inherit_01.$(OBJEXT): $(GENERATED)
+# eolian_cxx_inherit_01.$(OBJEXT): $(GENERATED)
 
 %.eo.hh: %.eo
$(AM_V_EOLCXX)$(EOLIAN_CXX) $(EOLIAN_FLAGS) -I${abs_srcdir} -o $@ $<
diff --git a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh 
b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
index fe89e6d..2bc9a0e 100644
--- a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
+++ b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
@@ -384,12 +384,17 @@ operator<<(std::ostream& out, inheritance_eo_class_getter 
const& x)
 inline void
 eo_inheritance_detail_generator(std::ostream& out, eo_class const& cls)
 {
+#if 0 // Will be fixed ASAP
out << inheritance_wrappers(cls)
+#endif
+   out
<< "namespace efl { namespace eo { namespace detail {" << endl << endl
+#if 0 // Will be fixed ASAP
<< inheritance_base_operations(cls) << endl
<< inheritance_base_operations_size(cls)
<< inheritance_operations_description(cls)
<< inheritance_call_constructors(cls)
+#endif
<< inheritance_extension(cls)
<< inheritance_eo_class_getter(cls)
<<  "} } }" << endl;

-- 




[EGIT] [core/efl] master 02/02: eolian-cxx: Fixed example eo file

2014-07-18 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=15ab5f02e27b3692e4d117934e5db8263347a671

commit 15ab5f02e27b3692e4d117934e5db8263347a671
Author: Felipe Magno de Almeida 
Date:   Fri Jul 18 12:23:32 2014 -0300

eolian-cxx: Fixed example eo file

The coulourable.eo file got outdated when Eolian syntax changed, it is
now updated and fixed.
---
 src/examples/eolian_cxx/colourable.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/examples/eolian_cxx/colourable.eo 
b/src/examples/eolian_cxx/colourable.eo
index 9a28aac..a34f74c 100644
--- a/src/examples/eolian_cxx/colourable.eo
+++ b/src/examples/eolian_cxx/colourable.eo
@@ -59,6 +59,6 @@ class Colourable (Eo.Base)
 }
 }
 events {
-colour_changed(int);
+colour_changed: int;
 }
 }

-- 




[EGIT] [core/efl] master 01/01: build/drm: Allow building from scratch by not using pkgconfig for internal libs

2014-07-18 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6d08b96bd3d41d6089c0456fc5044fce2a0506f9

commit 6d08b96bd3d41d6089c0456fc5044fce2a0506f9
Author: Stefan Schmidt 
Date:   Fri Jul 18 15:29:35 2014 +0200

build/drm: Allow building from scratch by not using pkgconfig for internal 
libs

Using pkgconfig for internal libs turns out to be not a really good idea. It
works fine if you already have an efl install with the needed ecore-drm.pc
file but it will fail if you build from scratch.

We already have a m4 macro for these internal dependencies. Make use of it
for the evas drm engine depending on ecore-drm.

Fixes T1432
---
 configure.ac|  3 ++-
 m4/evas_check_engine.m4 | 12 ++--
 2 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/configure.ac b/configure.ac
index 44480a0..c665cfd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3618,7 +3618,8 @@ ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
 ECORE_EVAS_MODULE([ews], [yes])
 ECORE_EVAS_MODULE([fb], [${want_fb}])
 ECORE_EVAS_MODULE([drm], [${want_drm}], 
-  [ EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm]) 
]
+  [ EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])
+EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EVAS], [${want_drm}], [ecore-drm]) ]
 )
 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
 
diff --git a/m4/evas_check_engine.m4 b/m4/evas_check_engine.m4
index cb29b14..05ec1f8 100644
--- a/m4/evas_check_engine.m4
+++ b/m4/evas_check_engine.m4
@@ -592,7 +592,7 @@ AC_DEFUN([EVAS_CHECK_ENGINE_DEP_DRM],
 [
 
 requirement=""
-have_dep="no"
+have_dep="yes"
 have_hw_dep="no"
 evas_engine_[]$1[]_cflags=""
 evas_engine_[]$1[]_libs=""
@@ -603,20 +603,13 @@ else
 gl_library="gl"
 fi
 
-PKG_CHECK_EXISTS([ecore-drm],
-   [
-have_dep="yes"
-requirement="ecore-drm"
-   ],
-   [have_dep="no"])
-
 if test "x${have_dep}" = "xyes" ; then
   AC_MSG_CHECKING([whether to enable Drm hardware acceleration])
   if test "x${want_drm_hw_accel}" = "xyes" ; then
 PKG_CHECK_EXISTS([egl >= 7.10 ${gl_library}],
  [
   have_hw_dep="yes"
-  requirement="ecore-drm egl >= 7.10 ${gl_library}"
+  requirement="egl >= 7.10 ${gl_library}"
  ],
  [have_hw_dep="no"])
   fi
@@ -626,7 +619,6 @@ if test "x${have_dep}" = "xyes" ; then
   requirements_pc_evas="${requirement} ${requirements_pc_evas}"
   requirements_pc_deps_evas="${requirement} ${requirements_pc_deps_evas}"
else
-  PKG_CHECK_MODULES([DRM], [${requirement}])
   evas_engine_[]$1[]_cflags="${DRM_CFLAGS}"
   evas_engine_[]$1[]_libs="${DRM_LIBS}"
fi

-- 




Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Tom Hacohen
On 18/07/14 14:07, Stefan Schmidt wrote:
> Hello.
>
> On Fri, 2014-07-18 at 13:45, Tom Hacohen wrote:
>> Hello,
>>
>> Could you say in a non-dicky way?
>
> Is pretty please, please with sugar on top needed nowadays?
>
> I asked if you could stop top posting (something you asked people
> dozens of times here) not more and not less. If you take that personal
> its your own feeling not my writing.
>

If it was not your intention, I take it back.

However, you've just been a dick (again?). So dude, chill.

I didn't take the request personally, and it was well deserved (as I've 
been a top-posting offender recently), however your style of writing was 
very dicky, just so you know.

--
Tom.


--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Stefan Schmidt
Hello.

On Fri, 2014-07-18 at 13:45, Tom Hacohen wrote:
> Hello,
> 
> Could you say in a non-dicky way?

Is pretty please, please with sugar on top needed nowadays?

I asked if you could stop top posting (something you asked people
dozens of times here) not more and not less. If you take that personal
its your own feeling not my writing.

regards
Stefan Schmidt

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/02: m4/evas_check_engine: Link evas drm engine to ecore-drm instead libdrm

2014-07-18 Thread Gwanglim Lee
You're already trying to resolve this issue. :)

--- Original Message ---
Sender : Stefan Schmidt 
Date   : 2014-07-18 21:19 (GMT+09:00)
Title  : Re: Re: [E-devel] [EGIT] [core/efl] master 01/02:
 m4/evas_check_engine: Link evas drm engine to ecore-drm instead libdrm

Hello.

On Fri, 2014-07-18 at 12:12, Gwanglim Lee wrote:
> Hello,
> 
> Is there any problem to build efl on the clean machine?

Yes, there is.

> I mean when we try to configure efl at first build time, then we could get a 
> configuration error
> because that machine doesn't have ecore-drm pkg not yet.
> 
> Actually, I've tested this. I changed name of ecore-drm.pc in my desktop to 
> temporary thing, and
> tried to build efl with ' --with-opengl=es --enable-egl --enable-wayland 
> --enable-drm' options,
> then I saw following configuration error message.
> 
> checking whether to enable Wayland Egl rendering backend... yes
> checking for WAYLAND_EGL... yes
> checking whether Wayland Egl rendering backend will be built... yes
> checking whether to enable Wayland Shm rendering backend... yes
> checking for WAYLAND_SHM... yes
> checking whether Wayland Shm rendering backend will be built... yes
> checking whether to enable Drm rendering backend... yes
> configure: error: Drm dependencies not found
> 
> devilhorns and stefan and also I can build efl successfully because our 
> desktops already have
> previous version of ecore-drm pkg. But I think other people can meet this 
> config error.

Look at https://phab.enlightenment.org/T1432

I'm looking at it right now.

regards
Stefan Schmidt
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Tom Hacohen
On 18/07/14 13:36, Stefan Schmidt wrote:
> Hello.
>
> On Fri, 2014-07-18 at 13:41, Lukasz Stanislawski wrote:
>>
>> W dniu 18.07.2014 12:10, Stefan Schmidt pisze:
>>> Hello.
>>>
>>> On Tue, 2014-07-15 at 22:53, Tom Hacohen wrote:
 On 15/07/14 22:46, ryuan Choi wrote:
> I compiled Elementary with tests and got below errors.
> Some APIs look changed.
>
> What I did:
> cd elementary
> ./autogen.sh --prefix=/usr/elocal --with-tests=regular
> make -j8
> sudo make install
> make check -j8
>
> Error message:
>
> elm_suite-elm_test_atspi.o: In function
> `elm_test_atspi_object_children_get':
> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262:
> undefined reference to `_elm_atspi_root_get'
> elm_suite-elm_test_atspi.o: In function `generate_app':
> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35:
> undefined reference to `_elm_atspi_init'
> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37:
> undefined reference to `_elm_atspi_root_get'
> elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get':
> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271:
> undefined reference to `elm_interface_atspi_text_text_get'
>
> Best Regards,
> Ryuan Choi
> --
> Want fast and easy access to all the code in your enterprise? Index and
> search up to 200,000 lines of code with a free copy of Black Duck
> Code Sight - the same software that powers the world's largest code
> search on Ohloh, the Black Duck Open Hub! Try it now.
> http://p.sf.net/sfu/bds
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
 Hey,

 I fixed the issue with the entry test, thanks for reporting. No idea
 about the rest. Can't find those functions or any trace of them, and
 don't really have the time to try and find them in history. It would be
 great if whoever who wrote it will fix it.

 Stefan: don't we "make check" for elementary on jenkins? I wonder how
 this was missed for so long.
>>> Took me a moment as I was on some training.
>>>
>>> We run make check but what we never did was actually configuring elm
>>> with regular tests. I changed this now and it is segfaulting nicely on
>>> jenkins. If anyone wants to have a look.
>>>
>>> https://build.enlightenment.org/job/changely_elm_gcc_x86_64/ws/src/tests/test-suite.log
>> Hi Stefan,
>>
>> After quick invastigation it looks like segmentation faults may be
>> caused by failures in setting elm objects text parts. Generally, all
>> test cases doesn't assume that
>> setting texts with elm_object_text_set method may fail and make string
>> comparison directly on elm_object_text_get return value.
>> I can add additonal NULL checks but all-in-all this tests will fail.
>>
>> It looks like elementary is unable to properly initialize without
>> xserver running or because there is no desktop attached.(there are some
>> log entries related to undefined desktop environmental variable). I'm
>> not getting sigsegv on my local machine.
>
> Thanks for investigating. There should be Xfb running and thmese are
> installed into the destdir, not into the host system.
>
> Reverting back to not running the tests now as I only have a few hours
> left before going on vacation and already messing around with another
> bug.

OK, if there's xfb you can ignore my other suggestion. I didn't know you 
had that there.

--
Tom.



--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Tom Hacohen
Hello,

Could you say in a non-dicky way?

On 18/07/14 13:38, Stefan Schmidt wrote:
> Hello.
> Could you stop top posting here?

Sure. I've been infected unfortunately. Talking to too many top-posters 
recently has made me lazy.

>
> On Fri, 2014-07-18 at 12:50, Tom Hacohen wrote:
>> This essentially means the tests are worthless on Jenkins.
>
> Like exactness on jenkins :P SCNR

No... Exactness doesn't depend on X.

>
>> Stefan, don't we set engine to buffer? Or is this something else that
>> doesn't depend on elm win being created but an heavy dependency on X11
>> things like clipboard and etc? (which btw we should implement for
>> framebuffer engine anyway, and may be a good idea to have it for buffer
>> too, I don't think we have it atm).
>
> So this is way more than just enabling regular tests and needs more
> work. Reverting back to notrunning them as I only have a few hours
> before going on vacation and already messing around with another bug.
>

Cool. Doing it as as simple as:
export ELM_ENGINE=buffer
before make check.

--
Tom.


--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Cedric BAIL
On Fri, Jul 18, 2014 at 1:41 PM, Lukasz Stanislawski
 wrote:
> W dniu 18.07.2014 12:10, Stefan Schmidt pisze:
>> Hello.
>>
>> On Tue, 2014-07-15 at 22:53, Tom Hacohen wrote:
>>> On 15/07/14 22:46, ryuan Choi wrote:
 I compiled Elementary with tests and got below errors.
 Some APIs look changed.

 What I did:
 cd elementary
 ./autogen.sh --prefix=/usr/elocal --with-tests=regular
 make -j8
 sudo make install
 make check -j8

 Error message:

 elm_suite-elm_test_atspi.o: In function
 `elm_test_atspi_object_children_get':
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262:
 undefined reference to `_elm_atspi_root_get'
 elm_suite-elm_test_atspi.o: In function `generate_app':
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35:
 undefined reference to `_elm_atspi_init'
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37:
 undefined reference to `_elm_atspi_root_get'
 elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get':
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271:
 undefined reference to `elm_interface_atspi_text_text_get'

 Best Regards,
 Ryuan Choi
 --
 Want fast and easy access to all the code in your enterprise? Index and
 search up to 200,000 lines of code with a free copy of Black Duck
 Code Sight - the same software that powers the world's largest code
 search on Ohloh, the Black Duck Open Hub! Try it now.
 http://p.sf.net/sfu/bds
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

>>> Hey,
>>>
>>> I fixed the issue with the entry test, thanks for reporting. No idea
>>> about the rest. Can't find those functions or any trace of them, and
>>> don't really have the time to try and find them in history. It would be
>>> great if whoever who wrote it will fix it.
>>>
>>> Stefan: don't we "make check" for elementary on jenkins? I wonder how
>>> this was missed for so long.
>> Took me a moment as I was on some training.
>>
>> We run make check but what we never did was actually configuring elm
>> with regular tests. I changed this now and it is segfaulting nicely on
>> jenkins. If anyone wants to have a look.
>>
>> https://build.enlightenment.org/job/changely_elm_gcc_x86_64/ws/src/tests/test-suite.log
> Hi Stefan,
>
> After quick invastigation it looks like segmentation faults may be
> caused by failures in setting elm objects text parts. Generally, all
> test cases doesn't assume that
> setting texts with elm_object_text_set method may fail and make string
> comparison directly on elm_object_text_get return value.
> I can add additonal NULL checks but all-in-all this tests will fail.
>
> It looks like elementary is unable to properly initialize without
> xserver running or because there is no desktop attached.(there are some
> log entries related to undefined desktop environmental variable). I'm
> not getting sigsegv on my local machine.

I did try to test it on my computer and I get also some failure :
77%: Checks: 99, Failures: 21, Errors: 1
elm_test_entry.c:203:F:elm_entry:elm_entry_atspi_text_string_get_paragraph:0:
Assertion 'val=="   dolor sit"' failed: val=="   dolor sit amęt", "
dolor sit"=="   dolor sit"
elm_test_entry.c:242:F:elm_entry:elm_entry_atspi_text_string_get_line:0:
Assertion 'val=="Lorem ipśum"' failed: val=="Lorem", "Lorem
ipśum"=="Lorem ipśum"
elm_test_entry.c:272:F:elm_entry:elm_entry_atspi_text_text_get:0:
Assertion 'val==txtnom' failed: val=="Lorem ip", txtnom=="Lorem ipśum
 dolor sit
 amęt"
elm_test_atspi.c:36:E:elm_atspi:elm_atspi_name_get:0: (after this
point) Received signal 11 (Segmentation fault)
elm_test_atspi.c:64:F:elm_atspi:elm_atspi_role_get:0: Assertion 'role
== ELM_ATSPI_ROLE_APPLICATION' failed
elm_test_atspi.c:81:F:elm_atspi:elm_atspi_role_name_get:0: Assertion
'ret != ((void *)0)' failed
elm_test_atspi.c:97:F:elm_atspi:elm_atspi_localized_role_name_get:0:
Assertion 'ret != ((void *)0)' failed
elm_test_atspi.c:121:F:elm_atspi:elm_atspi_description_set:0:
Assertion 'ret != ((void *)0)' failed
elm_test_atspi.c:140:F:elm_atspi:elm_atspi_children_and_parent:0:
Assertion 'eina_list_count(child_list) == 1' failed
elm_test_atspi.c:176:F:elm_atspi:elm_atspi_component_position:0:
Assertion 'ret == ((Eina_Bool)1)' failed
elm_test_atspi.c:205:F:elm_atspi:elm_atspi_component_size:0: Assertion
'ret == ((Eina_Bool)1)' failed
elm_test_atspi.c:234:F:elm_atspi:elm_atspi_component_focus:0:
Assertion 'ret == ((Eina_Bool)1)' failed
elm_test_atspi.c:269:F:elm_atspi:elm_test_atspi_obj_index_in_parent_get:0:
Assertion 'win != ((void *)0)' failed
elm_test_atspi.c:362:F:elm_atspi:elm_atspi_children_and_parent2:

Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Stefan Schmidt
Hello.
Could you stop top posting here?

On Fri, 2014-07-18 at 12:50, Tom Hacohen wrote:
> This essentially means the tests are worthless on Jenkins.

Like exactness on jenkins :P SCNR

> Stefan, don't we set engine to buffer? Or is this something else that 
> doesn't depend on elm win being created but an heavy dependency on X11 
> things like clipboard and etc? (which btw we should implement for 
> framebuffer engine anyway, and may be a good idea to have it for buffer 
> too, I don't think we have it atm).

So this is way more than just enabling regular tests and needs more
work. Reverting back to notrunning them as I only have a few hours
before going on vacation and already messing around with another bug.

regards
Stefan Schmidt

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Stefan Schmidt
Hello.

On Fri, 2014-07-18 at 13:41, Lukasz Stanislawski wrote:
> 
> W dniu 18.07.2014 12:10, Stefan Schmidt pisze:
> > Hello.
> >
> > On Tue, 2014-07-15 at 22:53, Tom Hacohen wrote:
> >> On 15/07/14 22:46, ryuan Choi wrote:
> >>> I compiled Elementary with tests and got below errors.
> >>> Some APIs look changed.
> >>>
> >>> What I did:
> >>> cd elementary
> >>> ./autogen.sh --prefix=/usr/elocal --with-tests=regular
> >>> make -j8
> >>> sudo make install
> >>> make check -j8
> >>>
> >>> Error message:
> >>>
> >>> elm_suite-elm_test_atspi.o: In function
> >>> `elm_test_atspi_object_children_get':
> >>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262:
> >>> undefined reference to `_elm_atspi_root_get'
> >>> elm_suite-elm_test_atspi.o: In function `generate_app':
> >>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35:
> >>> undefined reference to `_elm_atspi_init'
> >>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37:
> >>> undefined reference to `_elm_atspi_root_get'
> >>> elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get':
> >>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271:
> >>> undefined reference to `elm_interface_atspi_text_text_get'
> >>>
> >>> Best Regards,
> >>> Ryuan Choi
> >>> --
> >>> Want fast and easy access to all the code in your enterprise? Index and
> >>> search up to 200,000 lines of code with a free copy of Black Duck
> >>> Code Sight - the same software that powers the world's largest code
> >>> search on Ohloh, the Black Duck Open Hub! Try it now.
> >>> http://p.sf.net/sfu/bds
> >>> ___
> >>> enlightenment-devel mailing list
> >>> enlightenment-devel@lists.sourceforge.net
> >>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>>
> >> Hey,
> >>
> >> I fixed the issue with the entry test, thanks for reporting. No idea
> >> about the rest. Can't find those functions or any trace of them, and
> >> don't really have the time to try and find them in history. It would be
> >> great if whoever who wrote it will fix it.
> >>
> >> Stefan: don't we "make check" for elementary on jenkins? I wonder how
> >> this was missed for so long.
> > Took me a moment as I was on some training.
> >
> > We run make check but what we never did was actually configuring elm
> > with regular tests. I changed this now and it is segfaulting nicely on
> > jenkins. If anyone wants to have a look.
> >
> > https://build.enlightenment.org/job/changely_elm_gcc_x86_64/ws/src/tests/test-suite.log
> Hi Stefan,
> 
> After quick invastigation it looks like segmentation faults may be 
> caused by failures in setting elm objects text parts. Generally, all 
> test cases doesn't assume that
> setting texts with elm_object_text_set method may fail and make string 
> comparison directly on elm_object_text_get return value.
> I can add additonal NULL checks but all-in-all this tests will fail.
> 
> It looks like elementary is unable to properly initialize without 
> xserver running or because there is no desktop attached.(there are some 
> log entries related to undefined desktop environmental variable). I'm 
> not getting sigsegv on my local machine.

Thanks for investigating. There should be Xfb running and thmese are
installed into the destdir, not into the host system.

Reverting back to not running the tests now as I only have a few hours
left before going on vacation and already messing around with another
bug.

regards
Stefan Schmidt

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Request for help: Adding libefl to autotools

2014-07-18 Thread Tom Hacohen
OK. I don't know what I missed before but I started from scratch and now 
it works. :)

--
Tom.

On 15/07/14 23:49, Tom Hacohen wrote:
> Hey everyone (probably Gustavo),
>
> As part of my work on efl interfaces I've encountered the need of having
> a unified library that is both compiled and ships headers which are used
> by all of the efl.
>
> Unfortunately, I can't seem to figure out (to be honest, I just get
> frustrated with autofoo and our setup there) how to add a libefl that
> ships libefl.so and Efl.h that are added as dependencies for the rest of
> the libs during compile (in tree) and install (correctly updating the
> .pc files).
>
> I'd love it if someone could help me out there. I really don't want to
> dive into autofoo and try making sense of our macros if it can be helped
> (someone already knows from the top of their head).
>
> Looking forward for the rescue.
>
> Just to clarify a bit more with an example:
> I'd like to include Efl.h from Edje.h and have libedje.so linked with
> libefl.so without going around and updating all of the Makefile.am files
> we have all over the place, and have it working in tree and after
> installed. I think I've done it (was it me?) a while a go when I added
> Eo in tree so it shouldn't be too hard.
>
> Thanks,
> Tom.
>
>
> --
> Want fast and easy access to all the code in your enterprise? Index and
> search up to 200,000 lines of code with a free copy of Black Duck
> Code Sight - the same software that powers the world's largest code
> search on Ohloh, the Black Duck Open Hub! Try it now.
> http://p.sf.net/sfu/bds
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>



--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/02: m4/evas_check_engine: Link evas drm engine to ecore-drm instead libdrm

2014-07-18 Thread Stefan Schmidt
Hello.

On Fri, 2014-07-18 at 12:12, Gwanglim Lee wrote:
> Hello,
> 
> Is there any problem to build efl on the clean machine?

Yes, there is.

> I mean when we try to configure efl at first build time, then we could get a 
> configuration error
> because that machine doesn't have ecore-drm pkg not yet.
> 
> Actually, I've tested this. I changed name of ecore-drm.pc in my desktop to 
> temporary thing, and
> tried to build efl with ' --with-opengl=es --enable-egl --enable-wayland 
> --enable-drm' options,
> then I saw following configuration error message.
> 
> checking whether to enable Wayland Egl rendering backend... yes
> checking for WAYLAND_EGL... yes
> checking whether Wayland Egl rendering backend will be built... yes
> checking whether to enable Wayland Shm rendering backend... yes
> checking for WAYLAND_SHM... yes
> checking whether Wayland Shm rendering backend will be built... yes
> checking whether to enable Drm rendering backend... yes
> configure: error: Drm dependencies not found
> 
> devilhorns and stefan and also I can build efl successfully because our 
> desktops already have
> previous version of ecore-drm pkg. But I think other people can meet this 
> config error.

Look at https://phab.enlightenment.org/T1432

I'm looking at it right now.

regards
Stefan Schmidt

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/02: m4/evas_check_engine: Link evas drm engine to ecore-drm instead libdrm

2014-07-18 Thread Gwanglim Lee
Hello,

Is there any problem to build efl on the clean machine?
I mean when we try to configure efl at first build time, then we could get a 
configuration error
because that machine doesn't have ecore-drm pkg not yet.

Actually, I've tested this. I changed name of ecore-drm.pc in my desktop to 
temporary thing, and
tried to build efl with ' --with-opengl=es --enable-egl --enable-wayland 
--enable-drm' options,
then I saw following configuration error message.

checking whether to enable Wayland Egl rendering backend... yes
checking for WAYLAND_EGL... yes
checking whether Wayland Egl rendering backend will be built... yes
checking whether to enable Wayland Shm rendering backend... yes
checking for WAYLAND_SHM... yes
checking whether Wayland Shm rendering backend will be built... yes
checking whether to enable Drm rendering backend... yes
configure: error: Drm dependencies not found

devilhorns and stefan and also I can build efl successfully because our 
desktops already have
previous version of ecore-drm pkg. But I think other people can meet this 
config error.

BR,
Gwanglim

--- Original Message ---
Sender : Stefan Schmidt 
Date   : 2014-07-16 21:38 (GMT+09:00)
Title  : Re: [E-devel] [EGIT] [core/efl] master 01/02: m4/evas_check_engine:
 Link evas drm engine to ecore-drm instead libdrm

Hello.

On Wed, 2014-07-16 at 08:32, Chris Michael wrote:
> On 07/16/2014 08:20 AM, Stefan Schmidt wrote:
> >Hello.
> >
> >On Wed, 2014-07-16 at 08:11, Chris Michael wrote:
> >>This is not Entirely correct my friend ...
> >>
> >>While moving to ecore_drm could be a better solution, There are Still
> >>drm function calls being made inside evas_drm.c. (drmModeGetEncoder,
> >>drmDropMaster, etc, etc) so I think removing the link to libdrm was a
> >>bit premature here...
> >
> >I actually thought about this. :)
> >
> Ahhh ok, just wanted to be sure you realized it ;)

Always good to have another set of eyes looking over the code. :)

> >As ecore-drm is depending on libdrm this is no problem as the evas drm
> >engine gets the libdrm dependency through ecore-drm in this case.
> >
> True ... but I think if you are trying to remove libdrm stuff from evas (and
> rely on ecore_drm), then we May want to expose some new functions in
> Ecore_Drm to deal with these libdrm callsIMO, there is little point in
> removing libdrm (from evas) if we are still going to rely on one or two drm
> function calls. Better to move those into ecore_drm and remove libdrm from
> evas completely.

Exactly the plan. It just got postponed while I needed to fix the
breakage I did to expedite when testing the drm engine. Now that this
is sorted out I will move more things over to ecore-drm and add new
functions on the way when needed.

regards
Stefan Schmidt

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Tom Hacohen
This essentially means the tests are worthless on Jenkins.

Stefan, don't we set engine to buffer? Or is this something else that 
doesn't depend on elm win being created but an heavy dependency on X11 
things like clipboard and etc? (which btw we should implement for 
framebuffer engine anyway, and may be a good idea to have it for buffer 
too, I don't think we have it atm).

--
Tom.

On 18/07/14 12:41, Lukasz Stanislawski wrote:
>
> W dniu 18.07.2014 12:10, Stefan Schmidt pisze:
>> Hello.
>>
>> On Tue, 2014-07-15 at 22:53, Tom Hacohen wrote:
>>> On 15/07/14 22:46, ryuan Choi wrote:
 I compiled Elementary with tests and got below errors.
 Some APIs look changed.

 What I did:
 cd elementary
 ./autogen.sh --prefix=/usr/elocal --with-tests=regular
 make -j8
 sudo make install
 make check -j8

 Error message:

 elm_suite-elm_test_atspi.o: In function
 `elm_test_atspi_object_children_get':
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262:
 undefined reference to `_elm_atspi_root_get'
 elm_suite-elm_test_atspi.o: In function `generate_app':
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35:
 undefined reference to `_elm_atspi_init'
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37:
 undefined reference to `_elm_atspi_root_get'
 elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get':
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271:
 undefined reference to `elm_interface_atspi_text_text_get'

 Best Regards,
 Ryuan Choi
 --
 Want fast and easy access to all the code in your enterprise? Index and
 search up to 200,000 lines of code with a free copy of Black Duck
 Code Sight - the same software that powers the world's largest code
 search on Ohloh, the Black Duck Open Hub! Try it now.
 http://p.sf.net/sfu/bds
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

>>> Hey,
>>>
>>> I fixed the issue with the entry test, thanks for reporting. No idea
>>> about the rest. Can't find those functions or any trace of them, and
>>> don't really have the time to try and find them in history. It would be
>>> great if whoever who wrote it will fix it.
>>>
>>> Stefan: don't we "make check" for elementary on jenkins? I wonder how
>>> this was missed for so long.
>> Took me a moment as I was on some training.
>>
>> We run make check but what we never did was actually configuring elm
>> with regular tests. I changed this now and it is segfaulting nicely on
>> jenkins. If anyone wants to have a look.
>>
>> https://build.enlightenment.org/job/changely_elm_gcc_x86_64/ws/src/tests/test-suite.log
> Hi Stefan,
>
> After quick invastigation it looks like segmentation faults may be
> caused by failures in setting elm objects text parts. Generally, all
> test cases doesn't assume that
> setting texts with elm_object_text_set method may fail and make string
> comparison directly on elm_object_text_get return value.
> I can add additonal NULL checks but all-in-all this tests will fail.
>
> It looks like elementary is unable to properly initialize without
> xserver running or because there is no desktop attached.(there are some
> log entries related to undefined desktop environmental variable). I'm
> not getting sigsegv on my local machine.
>
> BR,
> Lukasz
>
>> 70%: Checks: 99, Failures: 22, Errors: 7
>> elm_test_check.c:12:E:elm_check:elm_check_onoff_text:0: (after this point) 
>> Received signal 11 (Segmentation fault)
>> elm_test_entry.c:50:F:elm_entry:elm_entry_atspi_text_char_get:0: Assertion 
>> 'val == expected[0]' failed
>> elm_test_entry.c:83:F:elm_entry:elm_entry_atspi_text_char_count:0: Assertion 
>> 'val == 12' failed
>> elm_test_entry.c:89:E:elm_entry:elm_entry_atspi_text_string_get_char:0: 
>> (after this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:134:E:elm_entry:elm_entry_atspi_text_string_get_word:0: 
>> (after this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:180:E:elm_entry:elm_entry_atspi_text_string_get_paragraph:0:
>>  (after this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:226:E:elm_entry:elm_entry_atspi_text_string_get_line:0: 
>> (after this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:258:E:elm_entry:elm_entry_atspi_text_text_get:0: (after 
>> this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:298:F:elm_entry:elm_entry_atspi_text_selections:0: 
>> Assertion 'val == 1' failed
>> elm_test_atspi.c:36:E:elm_atspi:elm_atspi_name_get:0: (after this point) 
>> Received signal 11 (Segmentation fault)
>> elm_test_atspi.c:64:F:elm_ats

Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Lukasz Stanislawski

W dniu 18.07.2014 13:41, Lukasz Stanislawski pisze:
> W dniu 18.07.2014 12:10, Stefan Schmidt pisze:
>> Hello.
>>
>> On Tue, 2014-07-15 at 22:53, Tom Hacohen wrote:
>>> On 15/07/14 22:46, ryuan Choi wrote:
 I compiled Elementary with tests and got below errors.
 Some APIs look changed.

 What I did:
 cd elementary
 ./autogen.sh --prefix=/usr/elocal --with-tests=regular
 make -j8
 sudo make install
 make check -j8

 Error message:

 elm_suite-elm_test_atspi.o: In function
 `elm_test_atspi_object_children_get':
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262:
 undefined reference to `_elm_atspi_root_get'
 elm_suite-elm_test_atspi.o: In function `generate_app':
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35:
 undefined reference to `_elm_atspi_init'
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37:
 undefined reference to `_elm_atspi_root_get'
 elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get':
 /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271:
 undefined reference to `elm_interface_atspi_text_text_get'

 Best Regards,
 Ryuan Choi
 --
 Want fast and easy access to all the code in your enterprise? Index and
 search up to 200,000 lines of code with a free copy of Black Duck
 Code Sight - the same software that powers the world's largest code
 search on Ohloh, the Black Duck Open Hub! Try it now.
 http://p.sf.net/sfu/bds
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

>>> Hey,
>>>
>>> I fixed the issue with the entry test, thanks for reporting. No idea
>>> about the rest. Can't find those functions or any trace of them, and
>>> don't really have the time to try and find them in history. It would be
>>> great if whoever who wrote it will fix it.
>>>
>>> Stefan: don't we "make check" for elementary on jenkins? I wonder how
>>> this was missed for so long.
>> Took me a moment as I was on some training.
>>
>> We run make check but what we never did was actually configuring elm
>> with regular tests. I changed this now and it is segfaulting nicely on
>> jenkins. If anyone wants to have a look.
>>
>> https://build.enlightenment.org/job/changely_elm_gcc_x86_64/ws/src/tests/test-suite.log
> Hi Stefan,
>
> After quick invastigation it looks like segmentation faults may be
> caused by failures in setting elm objects text parts. Generally, all
> test cases doesn't assume that
> setting texts with elm_object_text_set method may fail and make string
> comparison directly on elm_object_text_get return value.
> I can add additonal NULL checks but all-in-all this tests will fail.
>
> It looks like elementary is unable to properly initialize without
> xserver running or because there is no desktop attached.(there are some
> log entries related to undefined desktop environmental variable). I'm
> not getting sigsegv on my local machine.
>
> BR,
> Lukasz
One more thing - are elementary themes installed on build machine?

BR,
Lukasz
>
>> 70%: Checks: 99, Failures: 22, Errors: 7
>> elm_test_check.c:12:E:elm_check:elm_check_onoff_text:0: (after this point) 
>> Received signal 11 (Segmentation fault)
>> elm_test_entry.c:50:F:elm_entry:elm_entry_atspi_text_char_get:0: Assertion 
>> 'val == expected[0]' failed
>> elm_test_entry.c:83:F:elm_entry:elm_entry_atspi_text_char_count:0: Assertion 
>> 'val == 12' failed
>> elm_test_entry.c:89:E:elm_entry:elm_entry_atspi_text_string_get_char:0: 
>> (after this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:134:E:elm_entry:elm_entry_atspi_text_string_get_word:0: 
>> (after this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:180:E:elm_entry:elm_entry_atspi_text_string_get_paragraph:0:
>>  (after this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:226:E:elm_entry:elm_entry_atspi_text_string_get_line:0: 
>> (after this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:258:E:elm_entry:elm_entry_atspi_text_text_get:0: (after 
>> this point) Received signal 11 (Segmentation fault)
>> elm_test_entry.c:298:F:elm_entry:elm_entry_atspi_text_selections:0: 
>> Assertion 'val == 1' failed
>> elm_test_atspi.c:36:E:elm_atspi:elm_atspi_name_get:0: (after this point) 
>> Received signal 11 (Segmentation fault)
>> elm_test_atspi.c:64:F:elm_atspi:elm_atspi_role_get:0: Assertion 'role == 
>> ELM_ATSPI_ROLE_APPLICATION' failed
>> elm_test_atspi.c:81:F:elm_atspi:elm_atspi_role_name_get:0: Assertion 'ret != 
>> ((void *)0)' failed
>> elm_test_atspi.c:97:F:elm_atspi:elm_atspi_localized_role_name_get:0: 
>> Assertion 'ret != ((void *)0)' failed
>> e

Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Lukasz Stanislawski

W dniu 18.07.2014 12:10, Stefan Schmidt pisze:
> Hello.
>
> On Tue, 2014-07-15 at 22:53, Tom Hacohen wrote:
>> On 15/07/14 22:46, ryuan Choi wrote:
>>> I compiled Elementary with tests and got below errors.
>>> Some APIs look changed.
>>>
>>> What I did:
>>> cd elementary
>>> ./autogen.sh --prefix=/usr/elocal --with-tests=regular
>>> make -j8
>>> sudo make install
>>> make check -j8
>>>
>>> Error message:
>>>
>>> elm_suite-elm_test_atspi.o: In function
>>> `elm_test_atspi_object_children_get':
>>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262:
>>> undefined reference to `_elm_atspi_root_get'
>>> elm_suite-elm_test_atspi.o: In function `generate_app':
>>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35:
>>> undefined reference to `_elm_atspi_init'
>>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37:
>>> undefined reference to `_elm_atspi_root_get'
>>> elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get':
>>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271:
>>> undefined reference to `elm_interface_atspi_text_text_get'
>>>
>>> Best Regards,
>>> Ryuan Choi
>>> --
>>> Want fast and easy access to all the code in your enterprise? Index and
>>> search up to 200,000 lines of code with a free copy of Black Duck
>>> Code Sight - the same software that powers the world's largest code
>>> search on Ohloh, the Black Duck Open Hub! Try it now.
>>> http://p.sf.net/sfu/bds
>>> ___
>>> enlightenment-devel mailing list
>>> enlightenment-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>
>> Hey,
>>
>> I fixed the issue with the entry test, thanks for reporting. No idea
>> about the rest. Can't find those functions or any trace of them, and
>> don't really have the time to try and find them in history. It would be
>> great if whoever who wrote it will fix it.
>>
>> Stefan: don't we "make check" for elementary on jenkins? I wonder how
>> this was missed for so long.
> Took me a moment as I was on some training.
>
> We run make check but what we never did was actually configuring elm
> with regular tests. I changed this now and it is segfaulting nicely on
> jenkins. If anyone wants to have a look.
>
> https://build.enlightenment.org/job/changely_elm_gcc_x86_64/ws/src/tests/test-suite.log
Hi Stefan,

After quick invastigation it looks like segmentation faults may be 
caused by failures in setting elm objects text parts. Generally, all 
test cases doesn't assume that
setting texts with elm_object_text_set method may fail and make string 
comparison directly on elm_object_text_get return value.
I can add additonal NULL checks but all-in-all this tests will fail.

It looks like elementary is unable to properly initialize without 
xserver running or because there is no desktop attached.(there are some 
log entries related to undefined desktop environmental variable). I'm 
not getting sigsegv on my local machine.

BR,
Lukasz

> 70%: Checks: 99, Failures: 22, Errors: 7
> elm_test_check.c:12:E:elm_check:elm_check_onoff_text:0: (after this point) 
> Received signal 11 (Segmentation fault)
> elm_test_entry.c:50:F:elm_entry:elm_entry_atspi_text_char_get:0: Assertion 
> 'val == expected[0]' failed
> elm_test_entry.c:83:F:elm_entry:elm_entry_atspi_text_char_count:0: Assertion 
> 'val == 12' failed
> elm_test_entry.c:89:E:elm_entry:elm_entry_atspi_text_string_get_char:0: 
> (after this point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:134:E:elm_entry:elm_entry_atspi_text_string_get_word:0: 
> (after this point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:180:E:elm_entry:elm_entry_atspi_text_string_get_paragraph:0: 
> (after this point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:226:E:elm_entry:elm_entry_atspi_text_string_get_line:0: 
> (after this point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:258:E:elm_entry:elm_entry_atspi_text_text_get:0: (after this 
> point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:298:F:elm_entry:elm_entry_atspi_text_selections:0: Assertion 
> 'val == 1' failed
> elm_test_atspi.c:36:E:elm_atspi:elm_atspi_name_get:0: (after this point) 
> Received signal 11 (Segmentation fault)
> elm_test_atspi.c:64:F:elm_atspi:elm_atspi_role_get:0: Assertion 'role == 
> ELM_ATSPI_ROLE_APPLICATION' failed
> elm_test_atspi.c:81:F:elm_atspi:elm_atspi_role_name_get:0: Assertion 'ret != 
> ((void *)0)' failed
> elm_test_atspi.c:97:F:elm_atspi:elm_atspi_localized_role_name_get:0: 
> Assertion 'ret != ((void *)0)' failed
> elm_test_atspi.c:121:F:elm_atspi:elm_atspi_description_set:0: Assertion 'ret 
> != ((void *)0)' failed
> elm_test_atspi.c:140:F:elm_atspi:elm_atspi_children_and_parent:0: Assertion 
> 'eina_list_count(child_list) == 1' failed
> elm_test_atspi.c

[EGIT] [core/elementary] master 01/01: notify: removed unnecessary lines

2014-07-18 Thread Jaeun Choi
eunue pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=40919d6d94294bc24c0d01088aeb17b10f8560cd

commit 40919d6d94294bc24c0d01088aeb17b10f8560cd
Author: Jaeun Choi 
Date:   Fri Jul 18 19:36:39 2014 +0900

notify: removed unnecessary lines
---
 src/lib/elm_notify.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/elm_notify.c b/src/lib/elm_notify.c
index de17d82..6f1ec92 100644
--- a/src/lib/elm_notify.c
+++ b/src/lib/elm_notify.c
@@ -431,8 +431,6 @@ _elm_notify_evas_object_smart_add(Eo *obj, Elm_Notify_Data 
*priv)
priv->allow_events = EINA_TRUE;
 
priv->notify = edje_object_add(evas_object_evas_get(obj));
-   priv->horizontal_align = 0.5;
-   priv->vertical_align = 0.0;
 
evas_object_event_callback_add
  (obj, EVAS_CALLBACK_RESTACK, _restack_cb, obj);

-- 




[EGIT] [core/elementary] master 01/01: list: call "selected" callback after set focus to the selected item

2014-07-18 Thread Jaeun Choi
eunue pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=19c9ae51432093d7d610e3bdae3a0b85737c9e46

commit 19c9ae51432093d7d610e3bdae3a0b85737c9e46
Author: Jaeun Choi 
Date:   Thu Jul 17 16:58:36 2014 +0900

list: call "selected" callback after set focus to the selected item

in current code, when a list item is selected, "selected" callback is 
called first
and then focus is set to the item. this is a problem if another widget, 
popup for instance,
is created on top of the list in the callback function. in such a case, the 
popup should
get focused (not the list item). this patch fixes it by changing the order.

@fix
---
 src/lib/elm_list.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index 99aad4d..7695b7f 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -2729,8 +2729,8 @@ elm_list_item_selected_set(Elm_Object_Item *it,
}
   }
 _item_highlight(item);
-_item_select(item);
 elm_object_item_focus_set((Elm_Object_Item *)item, EINA_TRUE);
+_item_select(item);
  }
else
  {

-- 




Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Lukasz Stanislawski

> Hello.
>
> On Tue, 2014-07-15 at 22:53, Tom Hacohen wrote:
>> On 15/07/14 22:46, ryuan Choi wrote:
>>> I compiled Elementary with tests and got below errors.
>>> Some APIs look changed.
>>>
>>> What I did:
>>> cd elementary
>>> ./autogen.sh --prefix=/usr/elocal --with-tests=regular
>>> make -j8
>>> sudo make install
>>> make check -j8
>>>
>>> Error message:
>>>
>>> elm_suite-elm_test_atspi.o: In function
>>> `elm_test_atspi_object_children_get':
>>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262:
>>> undefined reference to `_elm_atspi_root_get'
>>> elm_suite-elm_test_atspi.o: In function `generate_app':
>>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35:
>>> undefined reference to `_elm_atspi_init'
>>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37:
>>> undefined reference to `_elm_atspi_root_get'
>>> elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get':
>>> /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271:
>>> undefined reference to `elm_interface_atspi_text_text_get'
>>>
>>> Best Regards,
>>> Ryuan Choi
>>> --
>>> Want fast and easy access to all the code in your enterprise? Index and
>>> search up to 200,000 lines of code with a free copy of Black Duck
>>> Code Sight - the same software that powers the world's largest code
>>> search on Ohloh, the Black Duck Open Hub! Try it now.
>>> http://p.sf.net/sfu/bds
>>> ___
>>> enlightenment-devel mailing list
>>> enlightenment-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>
>> Hey,
>>
>> I fixed the issue with the entry test, thanks for reporting. No idea
>> about the rest. Can't find those functions or any trace of them, and
>> don't really have the time to try and find them in history. It would be
>> great if whoever who wrote it will fix it.
>>
>> Stefan: don't we "make check" for elementary on jenkins? I wonder how
>> this was missed for so long.
> Took me a moment as I was on some training.
>
> We run make check but what we never did was actually configuring elm
> with regular tests. I changed this now and it is segfaulting nicely on
> jenkins. If anyone wants to have a look.
>
> https://build.enlightenment.org/job/changely_elm_gcc_x86_64/ws/src/tests/test-suite.log
Hey, I'm taking care of it. Ill commit patches asap.
I think which bothers me is that I don't have any sigsegv on my local 
machine.
>
> 70%: Checks: 99, Failures: 22, Errors: 7
> elm_test_check.c:12:E:elm_check:elm_check_onoff_text:0: (after this point) 
> Received signal 11 (Segmentation fault)
> elm_test_entry.c:50:F:elm_entry:elm_entry_atspi_text_char_get:0: Assertion 
> 'val == expected[0]' failed
> elm_test_entry.c:83:F:elm_entry:elm_entry_atspi_text_char_count:0: Assertion 
> 'val == 12' failed
> elm_test_entry.c:89:E:elm_entry:elm_entry_atspi_text_string_get_char:0: 
> (after this point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:134:E:elm_entry:elm_entry_atspi_text_string_get_word:0: 
> (after this point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:180:E:elm_entry:elm_entry_atspi_text_string_get_paragraph:0: 
> (after this point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:226:E:elm_entry:elm_entry_atspi_text_string_get_line:0: 
> (after this point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:258:E:elm_entry:elm_entry_atspi_text_text_get:0: (after this 
> point) Received signal 11 (Segmentation fault)
> elm_test_entry.c:298:F:elm_entry:elm_entry_atspi_text_selections:0: Assertion 
> 'val == 1' failed
> elm_test_atspi.c:36:E:elm_atspi:elm_atspi_name_get:0: (after this point) 
> Received signal 11 (Segmentation fault)
> elm_test_atspi.c:64:F:elm_atspi:elm_atspi_role_get:0: Assertion 'role == 
> ELM_ATSPI_ROLE_APPLICATION' failed
> elm_test_atspi.c:81:F:elm_atspi:elm_atspi_role_name_get:0: Assertion 'ret != 
> ((void *)0)' failed
> elm_test_atspi.c:97:F:elm_atspi:elm_atspi_localized_role_name_get:0: 
> Assertion 'ret != ((void *)0)' failed
> elm_test_atspi.c:121:F:elm_atspi:elm_atspi_description_set:0: Assertion 'ret 
> != ((void *)0)' failed
> elm_test_atspi.c:140:F:elm_atspi:elm_atspi_children_and_parent:0: Assertion 
> 'eina_list_count(child_list) == 1' failed
> elm_test_atspi.c:176:F:elm_atspi:elm_atspi_component_position:0: Assertion 
> 'ret == ((Eina_Bool)1)' failed
> elm_test_atspi.c:205:F:elm_atspi:elm_atspi_component_size:0: Assertion 'ret 
> == ((Eina_Bool)1)' failed
> elm_test_atspi.c:234:F:elm_atspi:elm_atspi_component_focus:0: Assertion 'ret 
> == ((Eina_Bool)1)' failed
> elm_test_atspi.c:269:F:elm_atspi:elm_test_atspi_obj_index_in_parent_get:0: 
> Assertion 'win != ((void *)0)' failed
> elm_test_atspi.c:362:F:elm_atspi:elm_atspi_children_and_parent2:0: Assertion 
> 'eina_list_count(win_children) == 2' failed
> elm

Re: [E-devel] Build error while building ELM with '--with-tests=regular'

2014-07-18 Thread Stefan Schmidt
Hello.

On Tue, 2014-07-15 at 22:53, Tom Hacohen wrote:
> On 15/07/14 22:46, ryuan Choi wrote:
> > I compiled Elementary with tests and got below errors.
> > Some APIs look changed.
> >
> > What I did:
> > cd elementary
> > ./autogen.sh --prefix=/usr/elocal --with-tests=regular
> > make -j8
> > sudo make install
> > make check -j8
> >
> > Error message:
> >
> > elm_suite-elm_test_atspi.o: In function
> > `elm_test_atspi_object_children_get':
> > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262:
> > undefined reference to `_elm_atspi_root_get'
> > elm_suite-elm_test_atspi.o: In function `generate_app':
> > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35:
> > undefined reference to `_elm_atspi_init'
> > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37:
> > undefined reference to `_elm_atspi_root_get'
> > elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get':
> > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271:
> > undefined reference to `elm_interface_atspi_text_text_get'
> >
> > Best Regards,
> > Ryuan Choi
> > --
> > Want fast and easy access to all the code in your enterprise? Index and
> > search up to 200,000 lines of code with a free copy of Black Duck
> > Code Sight - the same software that powers the world's largest code
> > search on Ohloh, the Black Duck Open Hub! Try it now.
> > http://p.sf.net/sfu/bds
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
> 
> Hey,
> 
> I fixed the issue with the entry test, thanks for reporting. No idea 
> about the rest. Can't find those functions or any trace of them, and 
> don't really have the time to try and find them in history. It would be 
> great if whoever who wrote it will fix it.
> 
> Stefan: don't we "make check" for elementary on jenkins? I wonder how 
> this was missed for so long.

Took me a moment as I was on some training.

We run make check but what we never did was actually configuring elm
with regular tests. I changed this now and it is segfaulting nicely on
jenkins. If anyone wants to have a look.

https://build.enlightenment.org/job/changely_elm_gcc_x86_64/ws/src/tests/test-suite.log

70%: Checks: 99, Failures: 22, Errors: 7
elm_test_check.c:12:E:elm_check:elm_check_onoff_text:0: (after this point) 
Received signal 11 (Segmentation fault)
elm_test_entry.c:50:F:elm_entry:elm_entry_atspi_text_char_get:0: Assertion 'val 
== expected[0]' failed
elm_test_entry.c:83:F:elm_entry:elm_entry_atspi_text_char_count:0: Assertion 
'val == 12' failed
elm_test_entry.c:89:E:elm_entry:elm_entry_atspi_text_string_get_char:0: (after 
this point) Received signal 11 (Segmentation fault)
elm_test_entry.c:134:E:elm_entry:elm_entry_atspi_text_string_get_word:0: (after 
this point) Received signal 11 (Segmentation fault)
elm_test_entry.c:180:E:elm_entry:elm_entry_atspi_text_string_get_paragraph:0: 
(after this point) Received signal 11 (Segmentation fault)
elm_test_entry.c:226:E:elm_entry:elm_entry_atspi_text_string_get_line:0: (after 
this point) Received signal 11 (Segmentation fault)
elm_test_entry.c:258:E:elm_entry:elm_entry_atspi_text_text_get:0: (after this 
point) Received signal 11 (Segmentation fault)
elm_test_entry.c:298:F:elm_entry:elm_entry_atspi_text_selections:0: Assertion 
'val == 1' failed
elm_test_atspi.c:36:E:elm_atspi:elm_atspi_name_get:0: (after this point) 
Received signal 11 (Segmentation fault)
elm_test_atspi.c:64:F:elm_atspi:elm_atspi_role_get:0: Assertion 'role == 
ELM_ATSPI_ROLE_APPLICATION' failed
elm_test_atspi.c:81:F:elm_atspi:elm_atspi_role_name_get:0: Assertion 'ret != 
((void *)0)' failed
elm_test_atspi.c:97:F:elm_atspi:elm_atspi_localized_role_name_get:0: Assertion 
'ret != ((void *)0)' failed
elm_test_atspi.c:121:F:elm_atspi:elm_atspi_description_set:0: Assertion 'ret != 
((void *)0)' failed
elm_test_atspi.c:140:F:elm_atspi:elm_atspi_children_and_parent:0: Assertion 
'eina_list_count(child_list) == 1' failed
elm_test_atspi.c:176:F:elm_atspi:elm_atspi_component_position:0: Assertion 'ret 
== ((Eina_Bool)1)' failed
elm_test_atspi.c:205:F:elm_atspi:elm_atspi_component_size:0: Assertion 'ret == 
((Eina_Bool)1)' failed
elm_test_atspi.c:234:F:elm_atspi:elm_atspi_component_focus:0: Assertion 'ret == 
((Eina_Bool)1)' failed
elm_test_atspi.c:269:F:elm_atspi:elm_test_atspi_obj_index_in_parent_get:0: 
Assertion 'win != ((void *)0)' failed
elm_test_atspi.c:362:F:elm_atspi:elm_atspi_children_and_parent2:0: Assertion 
'eina_list_count(win_children) == 2' failed
elm_test_list.c:32:F:elm_list:elm_list_atspi_selection_selected_children_count_get:0:
 Assertion 'val == 1' failed
elm_test_list.c:55:F:elm_list:elm_list_atspi_selection_child_select:0: 
Assertion 'val == ((Eina_Bool)1)' failed
elm_test_li

[EGIT] [core/elementary] master 01/01: popup: Remove unused variable.

2014-07-18 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=a1c7f8a36106565196b46de43e5d20d81a0fc348

commit a1c7f8a36106565196b46de43e5d20d81a0fc348
Author: Stefan Schmidt 
Date:   Fri Jul 18 12:00:52 2014 +0200

popup: Remove unused variable.

int_ret was never used here. Looks like a copy and paste error.
---
 src/lib/elc_popup.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
index f307e9a..c5a3d78 100644
--- a/src/lib/elc_popup.c
+++ b/src/lib/elc_popup.c
@@ -294,7 +294,6 @@ _elm_popup_elm_widget_theme_apply(Eo *obj, Elm_Popup_Data 
*sd)
unsigned int i = 0;
Eina_List *elist;
char buf[1024], style[1024];
-   Eina_Bool int_ret = EINA_FALSE;
 
_mirrored_set(obj, elm_widget_mirrored_get(obj));
 

-- 




[EGIT] [core/elementary] master 01/01: atspi: Orca is able to read slider value changes

2014-07-18 Thread Zbigniew Kosinski
stanluk pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=17515f2be90e9289f418a50ddfc3ce4186498d64

commit 17515f2be90e9289f418a50ddfc3ce4186498d64
Author: Zbigniew Kosinski 
Date:   Fri Jul 18 11:47:48 2014 +0200

atspi: Orca is able to read slider value changes

Reviewers: stanluk

Differential Revision: https://phab.enlightenment.org/D1012
---
 src/lib/elm_atspi_bridge.c   | 13 +++--
 src/lib/elm_interface_atspi_accessible.h |  6 ++
 src/lib/elm_slider.c |  1 +
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index b26d54f..66d63eb 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -2723,7 +2723,7 @@ _property_changed_signal_send(void *data, Eo *obj 
EINA_UNUSED, const Eo_Event_De
 {
Eldbus_Service_Interface *events = data;
const char *property = event_info;
-   char *path, *atspi_desc;
+   char *atspi_desc;
enum _Atspi_Object_Property prop = ATSPI_OBJECT_PROPERTY_LAST;
 
if (!events)
@@ -2752,7 +2752,11 @@ _property_changed_signal_send(void *data, Eo *obj 
EINA_UNUSED, const Eo_Event_De
 prop = ATSPI_OBJECT_PROPERTY_PARENT;
 atspi_desc = "accessible-role";
  }
-
+   else if (!strcmp(property, "value"))
+ {
+prop = ATSPI_OBJECT_PROPERTY_VALUE;
+atspi_desc = "accessible-value";
+ }
if (prop == ATSPI_OBJECT_PROPERTY_LAST)
  {
 ERR("Unrecognized property name!");
@@ -2764,10 +2768,7 @@ _property_changed_signal_send(void *data, Eo *obj 
EINA_UNUSED, const Eo_Event_De
 return EINA_FALSE;
  }
 
-   path = _path_from_access_object(obj);
-
-   _object_signal_send(events, ATSPI_OBJECT_EVENT_PROPERTY_CHANGED, 
atspi_desc, 0, 0, "s", path);
-   free(path);
+   _object_signal_send(events, ATSPI_OBJECT_EVENT_PROPERTY_CHANGED, 
atspi_desc, 0, 0, NULL, NULL);
 
DBG("signal sent PropertyChanged:%s", property);
 
diff --git a/src/lib/elm_interface_atspi_accessible.h 
b/src/lib/elm_interface_atspi_accessible.h
index 6dc6290..0cfdaa7 100644
--- a/src/lib/elm_interface_atspi_accessible.h
+++ b/src/lib/elm_interface_atspi_accessible.h
@@ -288,6 +288,12 @@ void elm_atspi_attributes_list_free(Eina_List *list);
eo_do(obj, 
eo_event_callback_call(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_PROPERTY_CHANGED, 
"role"));
 
 /**
+ * Emits ATSPI 'PropertyChanged' dbus signal for 'Value' property.
+ */
+#define elm_interface_atspi_accessible_value_changed_signal_emit(obj) \
+   eo_do(obj, 
eo_event_callback_call(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_PROPERTY_CHANGED, 
"value"));
+
+/**
  * Emits ATSPI 'ChildrenChanged' dbus signal with added child as argument.
  */
 #define elm_interface_atspi_accessible_children_changed_added_signal_emit(obj, 
child) \
diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c
index d3ea968..64d4e1d 100644
--- a/src/lib/elm_slider.c
+++ b/src/lib/elm_slider.c
@@ -98,6 +98,7 @@ _val_fetch(Evas_Object *obj, Eina_Bool user_event)
 if (user_event)
   {
  evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
+ elm_interface_atspi_accessible_value_changed_signal_emit(obj);
  ecore_timer_del(sd->delay);
  sd->delay = ecore_timer_add(SLIDER_DELAY_CHANGED_INTERVAL, 
_delay_change, obj);
   }

-- 




Re: [E-devel] Model-View-Controller

2014-07-18 Thread Daniel Kolesa
2014-07-18 1:31 GMT+01:00 Jean-Philippe André :

> Hi
>
> On Thu, Jul 17, 2014 at 6:31 AM, Daniel Kolesa  wrote:
>
> > 2014-07-16 22:17 GMT+01:00 Larry de Oliveira Lira Jr <
> > la...@expertisesolutions.com.br>:
> >
> > > Hello all
> > >
> > > we have a new version of emodel based in all feedback here (thanks for
> > all)
> > > this version is in working progress, and docs is not complete yet, but
> > any
> > > new feedback is appreciated
> > >
> > > http://pastebin.com/uAxb3PHp
> > >
> > >
> > Glad you guys are trying out new Eolian stuff already. The enum won't
> parse
> > yet though...
> >
> > also
> >
> > the syntax will allow this notation:
> >
> > type Foo: enum _Foo
> > {
> > 
> > }
> >
> > just like C allows "typedef enum _Foo { ... } Foo;".
> >
>
> Why do we need to declare type Foo when we already declared enum Foo?
> IMO this is an ugly thing in C (typedef struct _A A), no need to repeat it
> in Eo.
>
> enum Foo {} would be simpler, no?
>
> Unless there's a very good reason for it, of course :)
>
> Cheers,
>

The reason for this is to follow what C does and thus be compatible with C.
For example, a header file might define a structure that you wanna use in
typedef form inside eo files, so you do:

struct @extern _Foo {  } /* @extern because we don't want the C
generator to geenerate it - it's external */

type Foo: struct _Foo;

/* now use it in a class */


>
>
> >
> >
> > >
> > > On Tue, Jul 8, 2014 at 2:46 AM, Carsten Haitzler  >
> > > wrote:
> > >
> > > > On Mon, 7 Jul 2014 11:27:27 -0300 Carlos Carvalho
> > > >  said:
> > > >
> > > > > Hi Raster!
> > > > >
> > > > >
> > > > > On Tue, Jul 1, 2014 at 6:36 AM, Carsten Haitzler <
> > ras...@rasterman.com
> > > >
> > > > > wrote:
> > > > >
> > > > > > On Tue, 24 Jun 2014 12:25:53 -0300 Carlos Carvalho
> > > > > >  said:
> > > > > >
> > > > > > child_select() and child_select_eval() are basically not
> > documented.
> > > i
> > > > can
> > > > > > guess that they may create a EMODEL_EVENT_CHILD_SELECTED later...
> > but
> > > > what
> > > > > > is
> > > > > > the difference between these? no info there. and the docs for the
> > > > events
> > > > > > point
> > > > > > back to these  functions...
> > > > > >
> > > > > > prop_list and prop_fetch are also basically undocumented. how do
> > > these
> > > > > > interact
> > > > > > with EMODEL_EVENT_PROPERTY_CHANGE callbacks? i might guess
> > prop_list
> > > > calls
> > > > > > the
> > > > > > callback on every property the object has once it has fetched
> them.
> > > > how do
> > > > > > i
> > > > > > know the calls are finished? imagine it finds one property every
> > > > second and
> > > > > > keeps calling... for how long? when is it done? no info there and
> > as
> > > > best i
> > > > > > see, no way to figure it out. prop_fetch fetches a single prop
> so i
> > > > know
> > > > > > once i
> > > > > > get the cb after that... i have my prop. now more fun - what if i
> > > > > > prop_list and
> > > > > > prop_fetch one after the other? ... fetches are delayed... but
> the
> > > same
> > > > > > callback. again - docs!
> > > > > >
> > > > > > prop_set - this sets a prop. .. what does that have to do with
> > > > > > EMODEL_EVENT_PROPERTY_CHANGE event callbacks? no info. no docs.
> no
> > > > > > explanation.
> > > > > > please... explain!
> > > > > >
> > > > >
> > > > > The prop_list will raise EMODEL_EVENT_PROPERTIES_CHANGE event. It
> > > > provides
> > > > > Eina_Value that may be dependent on implementation. In Emodel_Eio
> it
> > > > > is Eina_Value_Struct containing all properties.
> > > >
> > > > ok - so do you get one prop change event per prop list? mutliple? can
> > you
> > > > get
> > > > zero? how do you know the object has no properties at all? (if you
> prop
> > > > list
> > > > and never get a cb... how long should you wait? etc.). i'm pointing
> > out a
> > > > hole
> > > > here. if you have zero props - how do i know for sure in a known
> > bounded
> > > > amount
> > > > of time? you need to let the caller know when their prop change
> events
> > > are
> > > > finished (eg a prop change event with a NULL eina value), but you
> need
> > to
> > > > document this too. also should it maybe be Eina_Value *value in the
> > > > property
> > > > event? then the value can be shared out from the model internals
> > without
> > > > copying ... maybe const Eina_Value * to indicate its read-only
> > > >
> > > > > With prop_fetch you can retrieve the value associated with the
> > > property.
> > > > > prop_list must be executed beforehand so you can know what are the
> > > > > properties available.
> > > > > prop_fetch is associated with the event
> EMODEL_EVENT_PROPERTY_CHANGE.
> > > >
> > > > ok - so on a fetch success a prop change event is triggered, what
> > happens
> > > > on
> > > > failure? how do i know it failed? what if i do several fetches in a
> > row -
> > > > fetch
> > > > a, b then c... and later get the cb's... how do i know which one
> > failed?
> > > >
> > > > > p

[EGIT] [core/efl] master 01/01: evas - render2 - now finally tracking updates right. map/proxy not done

2014-07-18 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c11592fb6ab724f06216f2e445e06a48befdef24

commit c11592fb6ab724f06216f2e445e06a48befdef24
Author: Carsten Haitzler (Rasterman) 
Date:   Fri Jul 18 16:56:20 2014 +0900

evas - render2 - now finally tracking updates right. map/proxy not done
---
 src/lib/evas/canvas/evas_render2_updates.c | 12 
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render2_updates.c 
b/src/lib/evas/canvas/evas_render2_updates.c
index 893bc81..b17b934 100644
--- a/src/lib/evas/canvas/evas_render2_updates.c
+++ b/src/lib/evas/canvas/evas_render2_updates.c
@@ -29,12 +29,12 @@ _obj_process(Evas_Public_Data *e,
// process object OR walk through child objects if smart and process those
Evas_Object_Protected_Data *obj2;
Evas_Object *eo_obj = obj->object;
-   Eina_Inlist *il;
+   const Eina_Inlist *il;
 
+   if (!obj->changed) return;
il = evas_object_smart_members_get_direct(eo_obj);
if (il)
  {
-if (!evas_object_smart_changed_get(eo_obj)) return;
 obj->rect_del = EINA_FALSE;
 obj->render_pre = EINA_FALSE;
 if (obj->delete_me == 2) return;
@@ -44,7 +44,7 @@ _obj_process(Evas_Public_Data *e,
 obj->func->render_pre(eo_obj, obj, obj->private_data);
 obj->pre_render_done = EINA_TRUE;
 int i; for (i = 0; i < l; i++) printf(" ");
-printf("SMART %p %p [%10s]\n", e, eo_obj, obj->type);
+printf("SMART %p %p [%10s] ch %i\n", e, eo_obj, obj->type, 
obj->changed);
 
 EINA_INLIST_FOREACH(il, obj2) _obj_process(e, obj2, l + 1);
 
@@ -53,11 +53,7 @@ _obj_process(Evas_Public_Data *e,
 obj->pre_render_done = EINA_FALSE;
 evas_object_change_reset(eo_obj);
  }
-   else
- {
-if (!obj->changed) return;
-_obj_basic_process(e, obj, l);
- }
+   else _obj_basic_process(e, obj, l);
 }
 
 void

-- 




[EGIT] [core/efl] master 01/01: evas - more render2 work - follows smart children now

2014-07-18 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bed30a7eb959f763d859741f50f80498d540b39e

commit bed30a7eb959f763d859741f50f80498d540b39e
Author: Carsten Haitzler (Rasterman) 
Date:   Fri Jul 18 16:51:07 2014 +0900

evas - more render2 work - follows smart children now
---
 src/lib/evas/canvas/evas_render2.c | 21 -
 src/lib/evas/canvas/evas_render2_updates.c | 19 ---
 2 files changed, 16 insertions(+), 24 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render2.c 
b/src/lib/evas/canvas/evas_render2.c
index 8acdae8..59d1e63 100644
--- a/src/lib/evas/canvas/evas_render2.c
+++ b/src/lib/evas/canvas/evas_render2.c
@@ -223,13 +223,10 @@ _evas_render2_stage_render_do(Evas_Public_Data *e, 
Eina_Bool do_async EINA_UNUSE
void *surface;
int ux, uy, uw, uh;
int cx, cy, cw, ch;
-//   Evas_Render_Mode render_mode = EVAS_RENDER_MODE_UNDEF;
 
-//   if (!do_async) render_mode = EVAS_RENDER_MODE_SYNC;
-//   else render_mode = EVAS_RENDER_MODE_ASYNC_INIT;// XXX:
// XXX: actually render now (either in thread or in mainloop)
// XXX:
-   printf("_evas_render2_stage_render_do %p\n", e);
+   printf(" _evas_render2_stage_render_do %p\n", e);
while ((surface =
e->engine.func->output_redraws_next_update_get
(e->engine.data.output,
@@ -243,7 +240,7 @@ _evas_render2_stage_render_do(Evas_Public_Data *e, 
Eina_Bool do_async EINA_UNUSE
 e->engine.func->context_color_set
   (e->engine.data.output, ctx,
   rand() & 0xff, rand() & 0xff, rand() & 0xff, 0xff);
-printf("%i %i %i %i\n", cx, cy, cw, ch);
+printf("  %i %i %i %i\n", cx, cy, cw, ch);
 e->engine.func->rectangle_draw(e->engine.data.output,
ctx, surface,
cx, cy, cw, ch,
@@ -254,10 +251,6 @@ _evas_render2_stage_render_do(Evas_Public_Data *e, 
Eina_Bool do_async EINA_UNUSE
 NEW_RECT(ru->area, ux, uy, uw, uh);
 e->render.updates = eina_list_append(e->render.updates, ru);
 evas_cache_image_ref(surface);
-//
e->engine.func->output_redraws_next_update_push(e->engine.data.output,
-//surface,
-//ux, uy, uw, uh,
-//render_mode);
  }
e->engine.func->output_redraws_clear(e->engine.data.output);
 }
@@ -287,8 +280,9 @@ static void
 _evas_render2_th_render(void *data)
 {
Evas_Public_Data *e = data;
-   printf("th rend %p ..\n", e);
+   printf(".%p\n", e);
_evas_render2_stage_render_do(e, EINA_TRUE);
+   printf("^%p\n", e);
 }
 
 // major functions (called from evas_render.c)
@@ -345,13 +339,6 @@ _evas_render2_begin(Eo *eo_e, Eina_Bool make_updates,
// if we are not going to be async then do last render stage here
if (!do_async) _evas_render2_stage_last(eo_e, make_updates, EINA_FALSE);
if (!do_draw) _evas_render2_updates_clean(e);
-
-   e->changed = EINA_FALSE;
-   e->viewport.changed = EINA_FALSE;
-   e->output.changed = EINA_FALSE;
-   e->framespace.changed = EINA_FALSE;
-   e->invalidate = EINA_FALSE;
-
evas_module_clean();
return EINA_TRUE;
 }
diff --git a/src/lib/evas/canvas/evas_render2_updates.c 
b/src/lib/evas/canvas/evas_render2_updates.c
index 50f69b6..893bc81 100644
--- a/src/lib/evas/canvas/evas_render2_updates.c
+++ b/src/lib/evas/canvas/evas_render2_updates.c
@@ -15,7 +15,7 @@ _obj_basic_process(Evas_Public_Data *e,
obj->func->render_pre(eo_obj, obj, obj->private_data);
obj->pre_render_done = EINA_TRUE;
int i; for (i = 0; i < l; i++) printf(" ");
-   printf("BASIC %p %p\n", e, obj);
+   printf("BASIC %p %p [%10s]\n", e, eo_obj, obj->type);
obj->func->render_post(eo_obj, obj, obj->private_data);
obj->restack = EINA_FALSE;
obj->pre_render_done = EINA_FALSE;
@@ -29,8 +29,10 @@ _obj_process(Evas_Public_Data *e,
// process object OR walk through child objects if smart and process those
Evas_Object_Protected_Data *obj2;
Evas_Object *eo_obj = obj->object;
+   Eina_Inlist *il;
 
-   if (obj->smart.smart)
+   il = evas_object_smart_members_get_direct(eo_obj);
+   if (il)
  {
 if (!evas_object_smart_changed_get(eo_obj)) return;
 obj->rect_del = EINA_FALSE;
@@ -42,11 +44,9 @@ _obj_process(Evas_Public_Data *e,
 obj->func->render_pre(eo_obj, obj, obj->private_data);
 obj->pre_render_done = EINA_TRUE;
 int i; for (i = 0; i < l; i++) printf(" ");
-printf("SMART %p %p\n", e, obj);
+printf("SMART %p %p [%10s]\n", e, eo_obj, obj->type);
 
-EINA_INLIST_FOREACH
-(evas_object_smart_members_get_direct(obj->object), obj2)
-  _obj_process(e, obj2, l

[EGIT] [admin/devs] master 01/01: huchi: give a commit access to huchi, Wonguk Jeong.

2014-07-18 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=586caa248c759c8b82732ccb3f58540b2d0f3bd6

commit 586caa248c759c8b82732ccb3f58540b2d0f3bd6
Author: Daniel Juyung Seo 
Date:   Fri Jul 18 16:48:29 2014 +0900

huchi: give a commit access to huchi, Wonguk Jeong.

He has been working on efl, enlightenment, elementary, and
terminology.
Thanks to billiob for the nomination.

Please welcome him everybody!
---
 developers/huchi/id_rsa.pub  |  1 +
 developers/huchi/id_rsa_work.pub |  1 +
 developers/huchi/info.txt| 11 +++
 3 files changed, 13 insertions(+)

diff --git a/developers/huchi/id_rsa.pub b/developers/huchi/id_rsa.pub
new file mode 100644
index 000..3db75ca
--- /dev/null
+++ b/developers/huchi/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQC1+qMf59wRUZoSIFxwaj4vuo+xw6SYVE6w4yQqMWb89IC1+brc+JHs4NP1UBYnQW1B/Z9hgEM83qLsmNcs7rlZYJiauURS5QbBiFsZ38mFzVsp/gLpVCIB+smHoLPYMEB5ek88zIJwnWBq44lcRYAQYCpJ7ZQWb43fe7M8UDSE99oJRorcs76O3DJYXM98hiHy9oSdnPPMksYCRJariFNTUFbutJA7lVBxbnyBnhuM5wff64ySxhkexUPujcDSY2M8DkckmorWHh3fNcY45SRSNU+LXHbO2pa1vpNOrzcxFCwVow8DFOFWJv4Q+XM+6lkfQiW+RbuWIXnxV78aeQgx
 huchi@huchi-ultrabook
diff --git a/developers/huchi/id_rsa_work.pub b/developers/huchi/id_rsa_work.pub
new file mode 100644
index 000..96f2fa5
--- /dev/null
+++ b/developers/huchi/id_rsa_work.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EBIwAAAQEA2EDO0koFok+3YtmzcTwApMJeBkCOM3yBG0H/ErQmAyrmqBcvkMkhz9qJ4WVmjUt+Yy3FjpRmLWhf4JJcLF2DSgdZXoZtdv04Y0QhGJlaoSOQ9K+GSfiOLoKyoZKz90YFoHo6Pg0HnIeIK0gM5W2Zlohg8Gwp94adHyabyk/qqdvhJD/JDKWEWYmCzZYyraOkuu7dttzkqjBBsj23Tvu0XweFaZtzFXkx0eDBLCvY+gXg0IM06frinCgJ0FfuUhtgfK+auI9P378mDneov9Lr+2SucrcrFVY/5V66uNoxbBreBnQoRe3avSlo5n5bgSdentK1Jw88vhAu8oTDgggQrw==
 wonguk.je...@samsung.com
diff --git a/developers/huchi/info.txt b/developers/huchi/info.txt
new file mode 100644
index 000..620d27c
--- /dev/null
+++ b/developers/huchi/info.txt
@@ -0,0 +1,11 @@
+Login:huchi
+IRC Nick: huchi
+Cloak:developer/huchi
+Name: Wonguk Jeong
+Location: Suwon, Korea
+E-Mail:   huchi...@gmail.com, wonguk.je...@samsung.com
+WWW:
+Managing:
+Contributing: efl, elementary, terminology, enlightenment
+Platform: Ubuntu (Linux), Windows XP/7
+GeoData:  37.2592707 127.0541701

--