[EGIT] [core/efl] master 01/01: eina_file: Try to use XDG_RUNTIME_DIR for tmp dir first

2014-09-12 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 61478af3a6c4f9263e715d103751fbb285ed2781
Author: Stefan Schmidt 
Date:   Thu Sep 11 10:45:54 2014 +0200

eina_file: Try to use XDG_RUNTIME_DIR for tmp dir first

Instead using $TMPDIR and falling back to /tmp we now try $XDG_RUNTIME_DIR
first.

"$XDG_RUNTIME_DIR defines the base directory relative to which user-specific
non-essential runtime files and other file objects (such as sockets, named
pipes, ...) should be stored. The directory MUST be owned by the user, and
he MUST be the only one having read and write access to it. Its Unix access
mode MUST be 0700."

While improving our security by isolating these files from other users this
has the potential to break things. I have not seen any breakage in testing
but keep this commit in mind if something strange happens on your system.
---
 src/lib/eina/eina_file_common.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_file_common.c b/src/lib/eina/eina_file_common.c
index 9b2539b..9c9e9af 100644
--- a/src/lib/eina/eina_file_common.c
+++ b/src/lib/eina/eina_file_common.c
@@ -906,7 +906,8 @@ eina_file_mkstemp(const char *templatename, Eina_Tmpstr 
**path)
 #if defined(HAVE_GETUID) && defined(HAVE_GETEUID)
if (getuid() == geteuid())
 #endif
- tmpdir = getenv("TMPDIR");
+ tmpdir = getenv("XDG_RUNTIME_DIR");
+   if (!tmpdir) tmpdir = getenv("TMPDIR");
if (!tmpdir) tmpdir = "/tmp";
 #else
tmpdir = (char *)evil_tmpdir_get();

-- 




[EGIT] [core/enlightenment] master 01/01: Restore translated strings accidentally dropped in fac4e89

2014-09-12 Thread Igor Murzov
garik pushed a commit to branch master.

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

commit db45e4067df1cebb49cadf141c8e579e83326e3b
Author: Igor Murzov 
Date:   Fri Sep 12 14:03:26 2014 +0400

Restore translated strings accidentally dropped in fac4e89
---
 config/tiling/profile.desktop| 8 +++-
 src/modules/packagekit/module.desktop.in | 2 ++
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/config/tiling/profile.desktop b/config/tiling/profile.desktop
index b25efce..edab940 100644
--- a/config/tiling/profile.desktop
+++ b/config/tiling/profile.desktop
@@ -7,14 +7,12 @@ Name[de]=Kacheln (Vorgabe Enlightenment)
 Name[fi]=Limittävä (Tavallinen Enlightenment)
 Name[it]=Tiling (a piastrelle)
 Name[ms]=Penjubinan (Enlightenment Piawai)
+Name[ru]=Мозаичный режим (Стандартный Enlightenment)
 Name[tr]=Döşeme (Standard Enlightenment)
 Comment=Tiling window management configuration for devices with keyboards and 
micelike your average PC Desktop, Laptop or Netbookwith Enlightenment's 
traditional keyboard bindingsand mouse controls.Default tiling bindings 
are: Win-key + Space, arrows, and left mouse button.See the module settings 
for more information.
 Comment[ca]=Mosaic per la configuració de la gestió de finestres per 
dispositius amb teclats i ratolins com ara PC d'escriptori, portàtil o 
netbookamb associacions de tecles típiques d'EnlightenmentTecles 
d'accés ràpid per defecte són: Tecla Win + Espai, fletxes i botó esquerre del 
ratolí Veure la configuració del mòdul per obtenir més informació.
 Comment[it]=Configurazione con finestre in griglia per dispositivi con 
tastiere e mousecome i normali PC Desktop, Laptop o Netbookcon le 
tradizionali scorciatoie di tastiera e controllidel mouse di 
Enlightenment.Le associazioni di tasti predefinite proprie di questa 
modalità sono:Tasto-windows + spazio, frecce, e tasto sinistro del 
mouse.Vedere le impostazioni del modulo Tiling per maggiori informazioni.
 Comment[ms]=Konfigurasi pengurusan tetingkap berjubin untuk peranti dengan 
papan kekunci dan tetikusseperti Komputer Desktop, Komputer Riba atau 
Netbook andadengan pengikatan papan kekunci tradisional 
Enlightenmentdan kawalan tetikus.Pengikatan penjubinan lalai adalah: 
Win-key + Space, anak panah, dan butang tetikus kiri.Sila rujuk tetapan 
modul untuk maklumat lanjut.
-Comment[tr]=Enlightenment'in klavye ve fare kontrol bağlayıcıları ile 
kullanılan, ortalama 
-PC masaüstü, dizüstü ve netbook gibi klavye ve fare aygıtları bulunan cihazlar 

-için pencere döşeme yönetimi yapılandırması. Öntanımlı döşeme 
bağlayıcıları:
-Win Tuşu + Boşluk, ok tuşları ve sol fare tuşu.
-Daha fazla bilgi için modül ayarlarına bakınız.
+Comment[ru]=Конфигурация с мозаичным режимом управления окнамипригодная 
для устройств с клавиатурой и мышью,таких как обычный компьютер или 
ноутбук,с традиционными для Enlightenment'а сочетаниямиклавиш и 
управлением мышью.Комбинации клавиш для мозаичного режима по 
умолчанию:Кнопка Win + пробел, стрелки и левая кнопка мыши.
+Comment[tr]=Enlightenment'in klavye ve fare kontrol bağlayıcıları ile 
kullanılan, ortalama PC masaüstü, dizüstü ve netbook gibi klavye ve fare 
aygıtları bulunan cihazlar için pencere döşeme yönetimi yapılandırması. 
Öntanımlı döşeme bağlayıcıları:Win Tuşu + Boşluk, ok tuşları ve sol fare 
tuşu.Daha fazla bilgi için modül ayarlarına bakınız.
 Icon=enlightenment-tiling
diff --git a/src/modules/packagekit/module.desktop.in 
b/src/modules/packagekit/module.desktop.in
index efd1cc5..40daced 100644
--- a/src/modules/packagekit/module.desktop.in
+++ b/src/modules/packagekit/module.desktop.in
@@ -14,6 +14,7 @@ Name[ko]=패키지 관리자 통합
 Name[ms]=Penyepaduan pengurus pakej
 Name[pl]=Integracja menedżera pakietów
 Name[pt]=Atualizações do sistema
+Name[ru]=Интеграция с пакетным менеджером
 Name[sr]=Склад са управником пакета
 Name[tr]=Paket Yöneticisi Bağlantısı
 Comment=Control system update status
@@ -28,6 +29,7 @@ Comment[it]=Controlla lo stato degli aggiornamenti del sistema
 Comment[ja]=システム更新情報の調整
 Comment[ms]=Status kemaskini sistem kawalan
 Comment[pt]=Controlar o estado das atualizações do sistema
+Comment[ru]=Контроль за статусом системных обновлений
 Comment[sr]=Управља стањем надоградње система
 Comment[tr]=Sistem güncelleme durumu kontrolü
 Icon=e-module-packagekit

-- 




[EGIT] [core/elementary] master 01/01: Revert revert of my translation updates.

2014-09-12 Thread Igor Murzov
garik pushed a commit to branch master.

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

commit 21453a13a98cf1f0d559630d6ef818e79ba1349a
Author: Igor Murzov 
Date:   Fri Sep 12 14:36:38 2014 +0400

Revert revert of my translation updates.
---
 data/desktop/elementary_config.desktop | 4 ++--
 data/desktop/elementary_test.desktop   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/data/desktop/elementary_config.desktop 
b/data/desktop/elementary_config.desktop
index 26eae01..0bc81ec 100644
--- a/data/desktop/elementary_config.desktop
+++ b/data/desktop/elementary_config.desktop
@@ -16,7 +16,7 @@ Name[lt]=Elementary nustatymai
 Name[ms]=Konfigurasi Elementary
 Name[pl]=Podstawowa konfiguracja
 Name[pt]=Configure o Elementary
-Name[ru]=Конфигурация для Elementary (Элементарий)
+Name[ru]=Параметры Elementary
 Name[sr]=Поставке Еламентарија
 Name[tr]=Elementary Yapılandırması
 Comment=Elementary Configuration
@@ -34,7 +34,7 @@ Comment[lt]=Elementary nustatymai
 Comment[ms]=Konfigurasi Elementary
 Comment[pl]=Podstawowa konfiguracja
 Comment[pt]=Configure o Elementary
-Comment[ru]=Конфигурация для Elementary (Элементарий)
+Comment[ru]=Параметры Elementary
 Comment[sr]=Поставке Еламентарија
 Comment[tr]=Elementary Yapılandırması
 Icon=elementary
diff --git a/data/desktop/elementary_test.desktop 
b/data/desktop/elementary_test.desktop
index 1471aab..9306d48 100644
--- a/data/desktop/elementary_test.desktop
+++ b/data/desktop/elementary_test.desktop
@@ -28,7 +28,7 @@ Comment[it]=Applicazione di test per Elementary
 Comment[ja]=Elementary テストアプリケーション
 Comment[ms]=Aplikasi Uji Elementary
 Comment[pt]=Aplicação de testes do Elementary
-Comment[ru]=Тестовое приложение Элементария
+Comment[ru]=Приложение для тестирования Elementary
 Comment[sr]=Пробач програма Елементарија
 Comment[tr]=Elementary Test Uygulaması
 Icon=elementary

-- 




[EGIT] [core/enlightenment] master 01/01: Revert "require efl 1.11.2"

2014-09-12 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit f5452501f332be208e029efddba8ade33abf6c16
Author: Tom Hacohen 
Date:   Fri Sep 12 11:49:42 2014 +0100

Revert "require efl 1.11.2"

We no longer require 1.11.2. Thank god.

This reverts commit 64a601aed80c99ed31e90d5865aa16027dc22b41.
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index d760eec..8937090 100644
--- a/configure.ac
+++ b/configure.ac
@@ -92,7 +92,7 @@ extern char **environ;
 AC_DEFINE(HAVE_ENVIRON, 1, [Have environ var])
 ])
 
-efl_version="1.11.2"
+efl_version="1.11"
 AC_SUBST(efl_version)
 
 AC_CHECK_HEADERS([sys/timerfd.h sys/ptrace.h arpa/inet.h netinet/in.h])

-- 




[EGIT] [core/enlightenment] annotated tag v0.18.9 deleted (was ae88931)

2014-09-12 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

tasn pushed a change to annotated tag v0.18.9
in repository core/enlightenment.

*** WARNING: tag v0.18.9 was deleted! ***

   tag was  ae88931

The revisions that were on this annotated tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.

-- 




Re: [E-devel] [EGIT] [core/enlightenment] annotated tag v0.18.9 deleted (was ae88931)

2014-09-12 Thread Tom Hacohen
On 12/09/14 11:53, Enlightenment Git wrote:
> This is an automated email from the git hooks/post-receive script.
>
> tasn pushed a change to annotated tag v0.18.9
> in repository core/enlightenment.
>
> *** WARNING: tag v0.18.9 was deleted! ***
>
> tag was  ae88931
>
> The revisions that were on this annotated tag are still contained in
> other references; therefore, this change does not discard any commits
> from the repository.
>

I deleted it because it was not actually a correct release tag.

Mike, please make sure you delete the tag locally too (git tag -d 
v0.18.9) before you push tags upstream again, so you don't accidentally 
push this tag back in.

--
Tom.


--
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: eolian: remove some unnecessary temps

2014-09-12 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 25d57a4b44fd8fcb9a2ee606685cd89acefe6161
Author: Daniel Kolesa 
Date:   Fri Sep 12 13:25:26 2014 +0100

eolian: remove some unnecessary temps
---
 src/lib/eolian/eo_definitions.c | 12 --
 src/lib/eolian/eo_definitions.h |  4 
 src/lib/eolian/eo_parser.c  | 50 +
 3 files changed, 10 insertions(+), 56 deletions(-)

diff --git a/src/lib/eolian/eo_definitions.c b/src/lib/eolian/eo_definitions.c
index 470f7e0..4f1b9d6 100644
--- a/src/lib/eolian/eo_definitions.c
+++ b/src/lib/eolian/eo_definitions.c
@@ -31,24 +31,12 @@ eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
EINA_LIST_FREE(tmp->var_defs, var)
  database_var_del(var);
 
-   if (tmp->func)
- database_function_del(tmp->func);
-
if (tmp->param)
  database_parameter_del(tmp->param);
 
EINA_LIST_FREE(tmp->str_items, s)
  if (s) eina_stringshare_del(s);
 
-   if (tmp->event)
- database_event_del(tmp->event);
-
-   if (tmp->impl)
- database_implement_del(tmp->impl);
-
-   if (tmp->ctor)
- database_constructor_del(tmp->ctor);
-
EINA_LIST_FREE(tmp->strs, s)
  if (s) eina_stringshare_del(s);
 
diff --git a/src/lib/eolian/eo_definitions.h b/src/lib/eolian/eo_definitions.h
index abc1a6c..6fa35ed 100644
--- a/src/lib/eolian/eo_definitions.h
+++ b/src/lib/eolian/eo_definitions.h
@@ -17,12 +17,8 @@ typedef struct _Eo_Lexer_Temps
Eolian_Class *kls;
Eina_List *type_defs;
Eina_List *var_defs;
-   Eolian_Function *func;
Eolian_Function_Parameter *param;
Eina_List *str_items;
-   Eolian_Event *event;
-   Eolian_Implement *impl;
-   Eolian_Constructor *ctor;
Eina_List *expr_defs;
Eina_List *strs;
 } Eo_Lexer_Temps;
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 5faa499..b54c4c0 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1348,7 +1348,7 @@ parse_property(Eo_Lexer *ls)
prop->base.file = eina_stringshare_ref(ls->filename);
prop->base.line = ls->line_number;
prop->base.column = ls->column;
-   ls->tmp.func = prop;
+   ls->tmp.kls->properties = eina_list_append(ls->tmp.kls->properties, prop);
check(ls, TOK_VALUE);
prop->name = eina_stringshare_ref(ls->t.value.s);
eo_lexer_get(ls);
@@ -1422,7 +1422,7 @@ parse_method(Eo_Lexer *ls, Eina_Bool ctor)
meth->base.file = eina_stringshare_ref(ls->filename);
meth->base.line = ls->line_number;
meth->base.column = ls->column;
-   ls->tmp.func = meth;
+   ls->tmp.kls->methods = eina_list_append(ls->tmp.kls->methods, meth);
if (ctor)
  {
 if (ls->t.token != TOK_VALUE)
@@ -1545,7 +1545,7 @@ parse_implement(Eo_Lexer *ls, Eina_Bool iface)
impl->base.file = eina_stringshare_ref(ls->filename);
impl->base.line = iline;
impl->base.column = icol;
-   ls->tmp.impl = impl;
+   ls->tmp.kls->implements = eina_list_append(ls->tmp.kls->implements, impl);
switch (ls->t.kw)
  {
 case KW_at_virtual:
@@ -1644,7 +1644,7 @@ parse_constructor(Eo_Lexer *ls)
ctor->base.file = eina_stringshare_ref(ls->filename);
ctor->base.line = ls->line_number;
ctor->base.column = ls->column;
-   ls->tmp.ctor = ctor;
+   ls->tmp.kls->constructors = eina_list_append(ls->tmp.kls->constructors, 
ctor);
if (ls->t.token == '.')
  {
 check_next(ls, '.');
@@ -1685,7 +1685,7 @@ parse_event(Eo_Lexer *ls)
ev->base.line = ls->line_number;
ev->base.column = ls->column;
Eina_Strbuf *buf = push_strbuf(ls);
-   ls->tmp.event = ev;
+   ls->tmp.kls->events = eina_list_append(ls->tmp.kls->events, ev);
check(ls, TOK_VALUE);
eina_strbuf_append(buf, ls->t.value.s);
eo_lexer_get(ls);
@@ -1727,53 +1727,28 @@ parse_event(Eo_Lexer *ls)
 static void
 parse_methods(Eo_Lexer *ls)
 {
-   PARSE_SECTION
- {
-parse_method(ls, EINA_FALSE);
-ls->tmp.kls->methods = eina_list_append(ls->tmp.kls->methods,
-ls->tmp.func);
-ls->tmp.func = NULL;
- }
+   PARSE_SECTION parse_method(ls, EINA_FALSE);
check_match(ls, '}', '{', line, col);
 }
 
 static void
 parse_properties(Eo_Lexer *ls)
 {
-   PARSE_SECTION
- {
-parse_property(ls);
-ls->tmp.kls->properties = eina_list_append(ls->tmp.kls->properties,
-   ls->tmp.func);
-ls->tmp.func = NULL;
- }
+   PARSE_SECTION parse_property(ls);
check_match(ls, '}', '{', line, col);
 }
 
 static void
 parse_implements(Eo_Lexer *ls, Eina_Bool iface)
 {
-   PARSE_SECTION
- {
-parse_implement(ls, iface);
-if (ls->tmp.impl)
-  ls->tmp.kls->implements = eina_list_append(ls->tmp.kls->implements,
- ls->tmp.impl);
-ls->tmp.impl = NULL;
- }
+   PARSE_SECTION parse_implement(ls, iface)

[EGIT] [core/efl] master 01/01: eolian: remove some more temps

2014-09-12 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 212d500016287b1a6a3bc03c66451cd0c7fcef21
Author: Daniel Kolesa 
Date:   Fri Sep 12 13:30:24 2014 +0100

eolian: remove some more temps
---
 src/lib/eolian/eo_definitions.c |  6 --
 src/lib/eolian/eo_definitions.h |  2 --
 src/lib/eolian/eo_parser.c  | 23 +++
 3 files changed, 7 insertions(+), 24 deletions(-)

diff --git a/src/lib/eolian/eo_definitions.c b/src/lib/eolian/eo_definitions.c
index 4f1b9d6..01643f4 100644
--- a/src/lib/eolian/eo_definitions.c
+++ b/src/lib/eolian/eo_definitions.c
@@ -19,9 +19,6 @@ eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
EINA_LIST_FREE(tmp->params, par)
  database_parameter_del(par);
 
-   if (tmp->legacy_def)
- eina_stringshare_del(tmp->legacy_def);
-
if (tmp->kls)
  database_class_del(tmp->kls);
 
@@ -31,9 +28,6 @@ eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
EINA_LIST_FREE(tmp->var_defs, var)
  database_var_del(var);
 
-   if (tmp->param)
- database_parameter_del(tmp->param);
-
EINA_LIST_FREE(tmp->str_items, s)
  if (s) eina_stringshare_del(s);
 
diff --git a/src/lib/eolian/eo_definitions.h b/src/lib/eolian/eo_definitions.h
index 6fa35ed..8b304c1 100644
--- a/src/lib/eolian/eo_definitions.h
+++ b/src/lib/eolian/eo_definitions.h
@@ -13,11 +13,9 @@ typedef struct _Eo_Lexer_Temps
Eina_List *classes;
Eina_List *str_bufs;
Eina_List *params;
-   Eina_Stringshare *legacy_def;
Eolian_Class *kls;
Eina_List *type_defs;
Eina_List *var_defs;
-   Eolian_Function_Parameter *param;
Eina_List *str_items;
Eina_List *expr_defs;
Eina_List *strs;
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index b54c4c0..937f295 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1142,7 +1142,7 @@ parse_param(Eo_Lexer *ls, Eina_Bool allow_inout, 
Eina_Bool is_vals)
par->base.file = eina_stringshare_ref(ls->filename);
par->base.line = ls->line_number;
par->base.column = ls->column;
-   ls->tmp.param = par;
+   ls->tmp.params = eina_list_append(ls->tmp.params, par);
if (allow_inout)
  {
 if (ls->t.kw == KW_at_in)
@@ -1209,12 +1209,12 @@ parse_param(Eo_Lexer *ls, Eina_Bool allow_inout, 
Eina_Bool is_vals)
 }
 
 static void
-parse_legacy(Eo_Lexer *ls)
+parse_legacy(Eo_Lexer *ls, const char **out)
 {
eo_lexer_get(ls);
check_next(ls, ':');
check(ls, TOK_VALUE);
-   ls->tmp.legacy_def = eina_stringshare_ref(ls->t.value.s);
+   *out = eina_stringshare_ref(ls->t.value.s);
eo_lexer_get(ls);
check_next(ls, ';');
 }
@@ -1285,12 +1285,10 @@ parse_accessor(Eo_Lexer *ls, Eolian_Function *prop)
 break;
   case KW_legacy:
 CASE_LOCK(ls, legacy, "legacy name")
-parse_legacy(ls);
 if (is_get)
-  prop->get_legacy = ls->tmp.legacy_def;
+  parse_legacy(ls, &prop->get_legacy);
 else
-  prop->set_legacy = ls->tmp.legacy_def;
-ls->tmp.legacy_def = NULL;
+  parse_legacy(ls, &prop->set_legacy);
 break;
   case KW_eo:
 CASE_LOCK(ls, eo, "eo name")
@@ -1313,12 +1311,7 @@ end:
 static void
 parse_params(Eo_Lexer *ls, Eina_Bool allow_inout, Eina_Bool is_vals)
 {
-   PARSE_SECTION
- {
-parse_param(ls, allow_inout, is_vals);
-ls->tmp.params = eina_list_append(ls->tmp.params, ls->tmp.param);
-ls->tmp.param = NULL;
- }
+   PARSE_SECTION parse_param(ls, allow_inout, is_vals);
check_match(ls, '}', '{', line, col);
 }
 
@@ -1490,9 +1483,7 @@ body:
 break;
   case KW_legacy:
 CASE_LOCK(ls, legacy, "legacy name")
-parse_legacy(ls);
-meth->get_legacy = ls->tmp.legacy_def;
-ls->tmp.legacy_def = NULL;
+parse_legacy(ls, &meth->get_legacy);
 break;
   case KW_eo:
 CASE_LOCK(ls, eo, "eo name")

-- 




[EGIT] [core/efl] master 01/01: eolian: more temp cleanups

2014-09-12 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit dd6f167795bf8f0c6c5598f69a30ddf10892a72b
Author: Daniel Kolesa 
Date:   Fri Sep 12 13:35:48 2014 +0100

eolian: more temp cleanups
---
 src/lib/eolian/eo_definitions.c |  4 
 src/lib/eolian/eo_definitions.h |  3 +--
 src/lib/eolian/eo_parser.c  | 22 +-
 3 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/src/lib/eolian/eo_definitions.c b/src/lib/eolian/eo_definitions.c
index 01643f4..beae132 100644
--- a/src/lib/eolian/eo_definitions.c
+++ b/src/lib/eolian/eo_definitions.c
@@ -7,7 +7,6 @@ void
 eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
 {
Eina_Strbuf *buf;
-   Eolian_Function_Parameter *par;
Eolian_Type *tp;
Eolian_Variable *var;
Eolian_Class *cl;
@@ -16,9 +15,6 @@ eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
EINA_LIST_FREE(tmp->str_bufs, buf)
  eina_strbuf_free(buf);
 
-   EINA_LIST_FREE(tmp->params, par)
- database_parameter_del(par);
-
if (tmp->kls)
  database_class_del(tmp->kls);
 
diff --git a/src/lib/eolian/eo_definitions.h b/src/lib/eolian/eo_definitions.h
index 8b304c1..cc1193b 100644
--- a/src/lib/eolian/eo_definitions.h
+++ b/src/lib/eolian/eo_definitions.h
@@ -10,10 +10,9 @@
 
 typedef struct _Eo_Lexer_Temps
 {
+   Eolian_Class *kls;
Eina_List *classes;
Eina_List *str_bufs;
-   Eina_List *params;
-   Eolian_Class *kls;
Eina_List *type_defs;
Eina_List *var_defs;
Eina_List *str_items;
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 937f295..9eeca8c 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1136,13 +1136,14 @@ parse_return(Eo_Lexer *ls, Eo_Ret_Def *ret, Eina_Bool 
allow_void)
 }
 
 static void
-parse_param(Eo_Lexer *ls, Eina_Bool allow_inout, Eina_Bool is_vals)
+parse_param(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout,
+Eina_Bool is_vals)
 {
Eolian_Function_Parameter *par = calloc(1, 
sizeof(Eolian_Function_Parameter));
par->base.file = eina_stringshare_ref(ls->filename);
par->base.line = ls->line_number;
par->base.column = ls->column;
-   ls->tmp.params = eina_list_append(ls->tmp.params, par);
+   *params = eina_list_append(*params, par);
if (allow_inout)
  {
 if (ls->t.kw == KW_at_in)
@@ -1309,9 +1310,10 @@ end:
 }
 
 static void
-parse_params(Eo_Lexer *ls, Eina_Bool allow_inout, Eina_Bool is_vals)
+parse_params(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout,
+ Eina_Bool is_vals)
 {
-   PARSE_SECTION parse_param(ls, allow_inout, is_vals);
+   PARSE_SECTION parse_param(ls, params, allow_inout, is_vals);
check_match(ls, '}', '{', line, col);
 }
 
@@ -1381,15 +1383,11 @@ body:
 break;
   case KW_keys:
 CASE_LOCK(ls, keys, "keys definition")
-parse_params(ls, EINA_FALSE, EINA_FALSE);
-prop->keys = ls->tmp.params;
-ls->tmp.params = NULL;
+parse_params(ls, &prop->keys, EINA_FALSE, EINA_FALSE);
 break;
   case KW_values:
 CASE_LOCK(ls, values, "values definition")
-parse_params(ls, EINA_FALSE, EINA_TRUE);
-prop->params = ls->tmp.params;
-ls->tmp.params = NULL;
+parse_params(ls, &prop->params, EINA_FALSE, EINA_TRUE);
 break;
   default:
 goto end;
@@ -1495,9 +1493,7 @@ body:
 break;
   case KW_params:
 CASE_LOCK(ls, params, "params definition")
-parse_params(ls, EINA_TRUE, EINA_FALSE);
-meth->params = ls->tmp.params;
-ls->tmp.params = NULL;
+parse_params(ls, &meth->params, EINA_TRUE, EINA_FALSE);
 break;
   default:
 goto end;

-- 




[EGIT] [core/efl] master 01/01: eolian: remove eo_definitions

2014-09-12 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit a1646ff61d42bd38c1b51db607c6d44b8d17cb7d
Author: Daniel Kolesa 
Date:   Fri Sep 12 13:40:46 2014 +0100

eolian: remove eo_definitions
---
 src/Makefile_Eolian.am |  2 --
 src/lib/eolian/database_type_api.c |  1 -
 src/lib/eolian/database_var_api.c  |  1 -
 src/lib/eolian/eo_definitions.c| 35 ---
 src/lib/eolian/eo_definitions.h| 25 -
 src/lib/eolian/eo_lexer.c  | 33 -
 src/lib/eolian/eo_lexer.h  | 15 ++-
 7 files changed, 46 insertions(+), 66 deletions(-)

diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index 03b4cb3..c1461c2 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -7,8 +7,6 @@ installed_eolianmainheadersdir = $(includedir)/eolian-@VMAJ@
 dist_installed_eolianmainheaders_DATA = lib/eolian/Eolian.h
 
 lib_eolian_libeolian_la_SOURCES = \
-  lib/eolian/eo_definitions.c \
-  lib/eolian/eo_definitions.h \
   lib/eolian/eo_lexer.c \
   lib/eolian/eo_lexer.h \
   lib/eolian/eo_parser.c \
diff --git a/src/lib/eolian/database_type_api.c 
b/src/lib/eolian/database_type_api.c
index f874ea8..9d9ac65 100644
--- a/src/lib/eolian/database_type_api.c
+++ b/src/lib/eolian/database_type_api.c
@@ -1,6 +1,5 @@
 #include 
 #include "eolian_database.h"
-#include "eo_definitions.h"
 
 EAPI const Eolian_Type *
 eolian_type_alias_get_by_name(const char *name)
diff --git a/src/lib/eolian/database_var_api.c 
b/src/lib/eolian/database_var_api.c
index 1cd37ab..a65edb2 100644
--- a/src/lib/eolian/database_var_api.c
+++ b/src/lib/eolian/database_var_api.c
@@ -1,6 +1,5 @@
 #include 
 #include "eolian_database.h"
-#include "eo_definitions.h"
 
 EAPI const Eolian_Variable *
 eolian_variable_global_get_by_name(const char *name)
diff --git a/src/lib/eolian/eo_definitions.c b/src/lib/eolian/eo_definitions.c
deleted file mode 100644
index beae132..000
--- a/src/lib/eolian/eo_definitions.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include 
-#include 
-
-#include "eo_definitions.h"
-
-void
-eo_definitions_temps_free(Eo_Lexer_Temps *tmp)
-{
-   Eina_Strbuf *buf;
-   Eolian_Type *tp;
-   Eolian_Variable *var;
-   Eolian_Class *cl;
-   const char *s;
-
-   EINA_LIST_FREE(tmp->str_bufs, buf)
- eina_strbuf_free(buf);
-
-   if (tmp->kls)
- database_class_del(tmp->kls);
-
-   EINA_LIST_FREE(tmp->type_defs, tp)
- database_type_del(tp);
-
-   EINA_LIST_FREE(tmp->var_defs, var)
- database_var_del(var);
-
-   EINA_LIST_FREE(tmp->str_items, s)
- if (s) eina_stringshare_del(s);
-
-   EINA_LIST_FREE(tmp->strs, s)
- if (s) eina_stringshare_del(s);
-
-   EINA_LIST_FREE(tmp->classes, cl)
- database_class_del(cl);
-}
diff --git a/src/lib/eolian/eo_definitions.h b/src/lib/eolian/eo_definitions.h
deleted file mode 100644
index cc1193b..000
--- a/src/lib/eolian/eo_definitions.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef __EO_DEFINITIONS_H__
-#define __EO_DEFINITIONS_H__
-
-#include 
-#include 
-
-#include "eolian_database.h"
-
-/* TEMPS */
-
-typedef struct _Eo_Lexer_Temps
-{
-   Eolian_Class *kls;
-   Eina_List *classes;
-   Eina_List *str_bufs;
-   Eina_List *type_defs;
-   Eina_List *var_defs;
-   Eina_List *str_items;
-   Eina_List *expr_defs;
-   Eina_List *strs;
-} Eo_Lexer_Temps;
-
-void eo_definitions_temps_free(Eo_Lexer_Temps *tmp);
-
-#endif /* __EO_DEFINITIONS_H__ */
diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c
index 781937a..6f41535 100644
--- a/src/lib/eolian/eo_lexer.c
+++ b/src/lib/eolian/eo_lexer.c
@@ -700,6 +700,37 @@ eo_lexer_set_input(Eo_Lexer *ls, const char *source)
next_char(ls);
 }
 
+static void
+_temps_free(Eo_Lexer_Temps *tmp)
+{
+   Eina_Strbuf *buf;
+   Eolian_Type *tp;
+   Eolian_Variable *var;
+   Eolian_Class *cl;
+   const char *s;
+
+   EINA_LIST_FREE(tmp->str_bufs, buf)
+ eina_strbuf_free(buf);
+
+   if (tmp->kls)
+ database_class_del(tmp->kls);
+
+   EINA_LIST_FREE(tmp->type_defs, tp)
+ database_type_del(tp);
+
+   EINA_LIST_FREE(tmp->var_defs, var)
+ database_var_del(var);
+
+   EINA_LIST_FREE(tmp->str_items, s)
+ if (s) eina_stringshare_del(s);
+
+   EINA_LIST_FREE(tmp->strs, s)
+ if (s) eina_stringshare_del(s);
+
+   EINA_LIST_FREE(tmp->classes, cl)
+ database_class_del(cl);
+}
+
 void
 eo_lexer_free(Eo_Lexer *ls)
 {
@@ -710,7 +741,7 @@ eo_lexer_free(Eo_Lexer *ls)
if (ls->handle  ) eina_file_close (ls->handle);
 
eo_lexer_context_clear(ls);
-   eo_definitions_temps_free(&ls->tmp);
+   _temps_free(&ls->tmp);
free(ls);
 }
 
diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
index b406515..b5c49e4 100644
--- a/src/lib/eolian/eo_lexer.h
+++ b/src/lib/e

Re: [E-devel] Blog about EO

2014-09-12 Thread Jean Rene Dawin
Daniel Kolesa wrote on Thu 11/09/14 12:09:
> 2014-09-11 12:00 GMT+01:00 Jean Rene Dawin :
> 
> > On Mon, Sep 08, 2014 at 04:42:04PM +0300, Daniel Zaoui wrote:
> > > Hi,
> > >
> > > On 09/08/14 16:16, Jean Rene Dawin wrote:
> > > > On Sat, Aug 16, 2014 at 02:36:10PM +0900, Carsten Haitzler wrote:
> > > >> About time i got back to blogging about EFL etc.
> > > >>
> > > >>
> > https://phab.enlightenment.org/phame/live/1//post/yet_another_c_object_model_but_better/
> > > >>
> > > > Hi,
> > > >
> > > > thanks for the explanations. Trying to reproduce the steps, the result
> > of my tst.c
> > > > differd a bit, though. I didn't get
> > > >
> > > > EOLIAN static void
> > > > _tst_eo_base_constructor(Eo *obj, Tst_Data *pd)
> > > > {
> > > >eo_do_super(obj, TST_CLASS, eo_constructor());
> > > > }
> > > >
> > > > EOLIAN static void
> > > > _tst_eo_base_destructor(Eo *obj, Tst_Data *pd)
> > > > {
> > > >eo_do_super(obj, TST_CLASS, eo_destructor());
> > > > }
> > > >
> > > > but instead
> > > >
> > > > EOLIAN static void
> > > > _tst_class_constructor(Eo_Class *klass)
> > > > {
> > > > }
> > > > EOLIAN static void
> > > > _tst_class_destructor(Eo_Class *klass)
> > > > {
> > > > }
> > > >
> > > > Is there a more detailed documentation of the Eo-Syntax and API
> > somewhere?
> > > > Becuase the one on docs.enlightenment.org is not so verbose or maybe
> > outdated.
> > > > Is this because there will be more changes to Eo and things are not
> > fixed yet?
> > > >
> > > > Thanks for your help,
> > > >
> > > > Jean Rene Dawin
> > > >
> > >
> > > You should try with Base.constructor instead of class.constructor (same
> > > for the destructor).
> > >
> > > You can look at https://phab.enlightenment.org/w/eolian/ for more docs
> > > on the syntax.
> > >
> > > One of all the EFL Daniels
> >
> > Hi,
> >
> > thanks for the answers. The site you mentioned is indeed very informative
> > about eo-file syntax. But what I'm more interested in is the whole
> > mechanics of eo_add, eo_do and eo_add_custom and all those functions. For
> > example I tried to do this
> >
> > #define EFL_BETA_API_SUPPORT
> > #define EFL_EO_API_SUPPORT
> > #include 
> > EAPI_MAIN int
> > elm_main(int argc, char **argv){
> > eo_init();
> > Eo *win = eo_add(ELM_WIN_CLASS, NULL);
> > eo_do(win,
> > elm_obj_win_title_set("Nikotinamiddinukleotidphosphat")
> > );
> > elm_run();
> > return 0;
> > }
> > ELM_MAIN()
> >
> > and while it compiled fine it threw runtime errors like
> >
> > ERR<818>:eo lib/eo/eo.c:1572 eo_error_set_internal() Error with obj
> > '0x9500b30' at elm_win.c:3510.
> > ERR<818>:elementary elm_win.c:3511 _elm_win_eo_base_constructor() only
> > custom constructor can be used with 'Elm_Win' class
> > ERR<818>:eo lib/eo/eo.c:953 _eo_add_internal_end() Object of class
> > 'Elm_Win' - Not all of the object constructors have been executed.
> >
> > as I'm obviously using Eo/Elementary in a wrong manner, but I find it
> > quite hard to understand from the source files like Eo.h, how it would be
> > done the right way.
> > So, I guess I will have to try harder :)
> >
> 
> You're supposed to use elm_win_add at this point to create the object. The
> base constructor is explicitly overloaded to trigger this error.
> Alternatively, you can use "eo_add_custom(ELM_WIN_CLASS, NULL,
> elm_obj_win_constructor("foo", ELM_WIN_BASIC));". But that's pretty much
> identical to what the "elm_win_add" function does.

Ah, ok. Does "at this point" mean at the current state of the Eo implementation 
for
Elementary? Is it planned to replace functions like evas_object_show() with
Eo style functions, or are they planned to coexist?

Thanks for the explanations,

Jean Rene Dawin

--
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Blog about EO

2014-09-12 Thread Daniel Kolesa
2014-09-12 14:11 GMT+01:00 Jean Rene Dawin :

> Daniel Kolesa wrote on Thu 11/09/14 12:09:
> > 2014-09-11 12:00 GMT+01:00 Jean Rene Dawin  >:
> >
> > > On Mon, Sep 08, 2014 at 04:42:04PM +0300, Daniel Zaoui wrote:
> > > > Hi,
> > > >
> > > > On 09/08/14 16:16, Jean Rene Dawin wrote:
> > > > > On Sat, Aug 16, 2014 at 02:36:10PM +0900, Carsten Haitzler wrote:
> > > > >> About time i got back to blogging about EFL etc.
> > > > >>
> > > > >>
> > >
> https://phab.enlightenment.org/phame/live/1//post/yet_another_c_object_model_but_better/
> > > > >>
> > > > > Hi,
> > > > >
> > > > > thanks for the explanations. Trying to reproduce the steps, the
> result
> > > of my tst.c
> > > > > differd a bit, though. I didn't get
> > > > >
> > > > > EOLIAN static void
> > > > > _tst_eo_base_constructor(Eo *obj, Tst_Data *pd)
> > > > > {
> > > > >eo_do_super(obj, TST_CLASS, eo_constructor());
> > > > > }
> > > > >
> > > > > EOLIAN static void
> > > > > _tst_eo_base_destructor(Eo *obj, Tst_Data *pd)
> > > > > {
> > > > >eo_do_super(obj, TST_CLASS, eo_destructor());
> > > > > }
> > > > >
> > > > > but instead
> > > > >
> > > > > EOLIAN static void
> > > > > _tst_class_constructor(Eo_Class *klass)
> > > > > {
> > > > > }
> > > > > EOLIAN static void
> > > > > _tst_class_destructor(Eo_Class *klass)
> > > > > {
> > > > > }
> > > > >
> > > > > Is there a more detailed documentation of the Eo-Syntax and API
> > > somewhere?
> > > > > Becuase the one on docs.enlightenment.org is not so verbose or
> maybe
> > > outdated.
> > > > > Is this because there will be more changes to Eo and things are not
> > > fixed yet?
> > > > >
> > > > > Thanks for your help,
> > > > >
> > > > > Jean Rene Dawin
> > > > >
> > > >
> > > > You should try with Base.constructor instead of class.constructor
> (same
> > > > for the destructor).
> > > >
> > > > You can look at https://phab.enlightenment.org/w/eolian/ for more
> docs
> > > > on the syntax.
> > > >
> > > > One of all the EFL Daniels
> > >
> > > Hi,
> > >
> > > thanks for the answers. The site you mentioned is indeed very
> informative
> > > about eo-file syntax. But what I'm more interested in is the whole
> > > mechanics of eo_add, eo_do and eo_add_custom and all those functions.
> For
> > > example I tried to do this
> > >
> > > #define EFL_BETA_API_SUPPORT
> > > #define EFL_EO_API_SUPPORT
> > > #include 
> > > EAPI_MAIN int
> > > elm_main(int argc, char **argv){
> > > eo_init();
> > > Eo *win = eo_add(ELM_WIN_CLASS, NULL);
> > > eo_do(win,
> > > elm_obj_win_title_set("Nikotinamiddinukleotidphosphat")
> > > );
> > > elm_run();
> > > return 0;
> > > }
> > > ELM_MAIN()
> > >
> > > and while it compiled fine it threw runtime errors like
> > >
> > > ERR<818>:eo lib/eo/eo.c:1572 eo_error_set_internal() Error with obj
> > > '0x9500b30' at elm_win.c:3510.
> > > ERR<818>:elementary elm_win.c:3511 _elm_win_eo_base_constructor()
> only
> > > custom constructor can be used with 'Elm_Win' class
> > > ERR<818>:eo lib/eo/eo.c:953 _eo_add_internal_end() Object of class
> > > 'Elm_Win' - Not all of the object constructors have been executed.
> > >
> > > as I'm obviously using Eo/Elementary in a wrong manner, but I find it
> > > quite hard to understand from the source files like Eo.h, how it would
> be
> > > done the right way.
> > > So, I guess I will have to try harder :)
> > >
> >
> > You're supposed to use elm_win_add at this point to create the object.
> The
> > base constructor is explicitly overloaded to trigger this error.
> > Alternatively, you can use "eo_add_custom(ELM_WIN_CLASS, NULL,
> > elm_obj_win_constructor("foo", ELM_WIN_BASIC));". But that's pretty much
> > identical to what the "elm_win_add" function does.
>
> Ah, ok. Does "at this point" mean at the current state of the Eo
> implementation for
> Elementary? Is it planned to replace functions like evas_object_show() with
> Eo style functions, or are they planned to coexist?
>

The idea is to in the end completely redesign the EFL API using Eo (in EFL
2.0). Legacy functions like evas_object_show will stay in form of wrappers
around the new Eo API for compatibility purposes only.


>
> Thanks for the explanations,
>
> Jean Rene Dawin
>
>
> --
> Want excitement?
> Manually upgrade your production database.
> When you want reliability, choose Perforce
> Perforce version control. Predictably reliable.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Want excitement?
Manually upgrade your produ

Re: [E-devel] Blog about EO

2014-09-12 Thread Tom Hacohen
On 12/09/14 14:11, Jean Rene Dawin wrote:
> Daniel Kolesa wrote on Thu 11/09/14 12:09:
>> 2014-09-11 12:00 GMT+01:00 Jean Rene Dawin :
>>
>>> On Mon, Sep 08, 2014 at 04:42:04PM +0300, Daniel Zaoui wrote:
 Hi,

 On 09/08/14 16:16, Jean Rene Dawin wrote:
> On Sat, Aug 16, 2014 at 02:36:10PM +0900, Carsten Haitzler wrote:
>> About time i got back to blogging about EFL etc.
>>
>>
>>> https://phab.enlightenment.org/phame/live/1//post/yet_another_c_object_model_but_better/
>>
> Hi,
>
> thanks for the explanations. Trying to reproduce the steps, the result
>>> of my tst.c
> differd a bit, though. I didn't get
>
>  EOLIAN static void
>  _tst_eo_base_constructor(Eo *obj, Tst_Data *pd)
>  {
> eo_do_super(obj, TST_CLASS, eo_constructor());
>  }
>
>  EOLIAN static void
>  _tst_eo_base_destructor(Eo *obj, Tst_Data *pd)
>  {
> eo_do_super(obj, TST_CLASS, eo_destructor());
>  }
>
> but instead
>
>  EOLIAN static void
>  _tst_class_constructor(Eo_Class *klass)
>  {
>  }
>  EOLIAN static void
>  _tst_class_destructor(Eo_Class *klass)
>  {
>  }
>
> Is there a more detailed documentation of the Eo-Syntax and API
>>> somewhere?
> Becuase the one on docs.enlightenment.org is not so verbose or maybe
>>> outdated.
> Is this because there will be more changes to Eo and things are not
>>> fixed yet?
>
> Thanks for your help,
>
> Jean Rene Dawin
>

 You should try with Base.constructor instead of class.constructor (same
 for the destructor).

 You can look at https://phab.enlightenment.org/w/eolian/ for more docs
 on the syntax.

 One of all the EFL Daniels
>>>
>>> Hi,
>>>
>>> thanks for the answers. The site you mentioned is indeed very informative
>>> about eo-file syntax. But what I'm more interested in is the whole
>>> mechanics of eo_add, eo_do and eo_add_custom and all those functions. For
>>> example I tried to do this
>>>
>>>  #define EFL_BETA_API_SUPPORT
>>>  #define EFL_EO_API_SUPPORT
>>>  #include 
>>>  EAPI_MAIN int
>>>  elm_main(int argc, char **argv){
>>>  eo_init();
>>>  Eo *win = eo_add(ELM_WIN_CLASS, NULL);
>>>  eo_do(win,
>>>  elm_obj_win_title_set("Nikotinamiddinukleotidphosphat")
>>>  );
>>>  elm_run();
>>>  return 0;
>>>  }
>>>  ELM_MAIN()
>>>
>>> and while it compiled fine it threw runtime errors like
>>>
>>>  ERR<818>:eo lib/eo/eo.c:1572 eo_error_set_internal() Error with obj
>>> '0x9500b30' at elm_win.c:3510.
>>>  ERR<818>:elementary elm_win.c:3511 _elm_win_eo_base_constructor() only
>>> custom constructor can be used with 'Elm_Win' class
>>>  ERR<818>:eo lib/eo/eo.c:953 _eo_add_internal_end() Object of class
>>> 'Elm_Win' - Not all of the object constructors have been executed.
>>>
>>> as I'm obviously using Eo/Elementary in a wrong manner, but I find it
>>> quite hard to understand from the source files like Eo.h, how it would be
>>> done the right way.
>>> So, I guess I will have to try harder :)
>>>
>>
>> You're supposed to use elm_win_add at this point to create the object. The
>> base constructor is explicitly overloaded to trigger this error.
>> Alternatively, you can use "eo_add_custom(ELM_WIN_CLASS, NULL,
>> elm_obj_win_constructor("foo", ELM_WIN_BASIC));". But that's pretty much
>> identical to what the "elm_win_add" function does.
>
> Ah, ok. Does "at this point" mean at the current state of the Eo 
> implementation for
> Elementary? Is it planned to replace functions like evas_object_show() with
> Eo style functions, or are they planned to coexist?
>
> Thanks for the explanations,

Very good question. I'd first look at
https://phab.enlightenment.org/w/efl_interfaces/
where I document my efforts.

As for your question, many things will change. The first thing that will 
change is the functions themselves, for example redundant functions 
(part_text_set all over the place) will disappear and become just one 
function overridden for inheriting classes.
Additionally, some functions will just die or completely replaced. We 
are trying to make things more property (set/get clones) oriented to 
more bindable. All of this should be getting there with time.

As for the current EFL API, e.g. evas_object_show, it'll co-exist for a 
while. It'll die once we switch to EFL 2.0.

--
Tom.


--
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourc

[EGIT] [core/efl] master 01/01: eolian: less messy initialization checks

2014-09-12 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit f8cef784a88234d801b6959fdd592bb10c40ebe7
Author: Daniel Kolesa 
Date:   Fri Sep 12 14:20:52 2014 +0100

eolian: less messy initialization checks
---
 src/lib/eolian/database_type.c   | 14 +-
 src/lib/eolian/database_var.c| 15 ++-
 src/lib/eolian/eolian_database.c | 17 +
 src/lib/eolian/eolian_database.h |  8 
 4 files changed, 32 insertions(+), 22 deletions(-)

diff --git a/src/lib/eolian/database_type.c b/src/lib/eolian/database_type.c
index b74f080..884e501 100644
--- a/src/lib/eolian/database_type.c
+++ b/src/lib/eolian/database_type.c
@@ -41,32 +41,28 @@ database_typedef_del(Eolian_Type *tp)
database_type_del(tp);
 }
 
-Eina_Bool
+void
 database_type_add(Eolian_Type *def)
 {
-   if (!_aliases) return EINA_FALSE;
eina_hash_set(_aliases, def->full_name, def);
eina_hash_set(_aliasesf, def->base.file, eina_list_append
 ((Eina_List*)eina_hash_find(_aliasesf, def->base.file), def));
-   return EINA_TRUE;
 }
 
-Eina_Bool database_struct_add(Eolian_Type *tp)
+void
+database_struct_add(Eolian_Type *tp)
 {
-   if (!_structs) return EINA_FALSE;
eina_hash_set(_structs, tp->full_name, tp);
eina_hash_set(_structsf, tp->base.file, eina_list_append
 ((Eina_List*)eina_hash_find(_structsf, tp->base.file), tp));
-   return EINA_TRUE;
 }
 
-Eina_Bool database_enum_add(Eolian_Type *tp)
+void
+database_enum_add(Eolian_Type *tp)
 {
-   if (!_enums) return EINA_FALSE;
eina_hash_set(_enums, tp->full_name, tp);
eina_hash_set(_enumsf, tp->base.file, eina_list_append
 ((Eina_List*)eina_hash_find(_enumsf, tp->base.file), tp));
-   return EINA_TRUE;
 }
 
 static void
diff --git a/src/lib/eolian/database_var.c b/src/lib/eolian/database_var.c
index 0b0b1d9..69d15a3 100644
--- a/src/lib/eolian/database_var.c
+++ b/src/lib/eolian/database_var.c
@@ -18,30 +18,27 @@ database_var_del(Eolian_Variable *var)
free(var);
 }
 
-static Eina_Bool
+static void
 database_var_global_add(Eolian_Variable *var)
 {
-   if (!_globals) return EINA_FALSE;
eina_hash_set(_globals, var->full_name, var);
eina_hash_set(_globalsf, var->base.file, eina_list_append
  ((Eina_List*)eina_hash_find(_globalsf, var->base.file), var));
-   return EINA_TRUE;
 }
 
-static Eina_Bool
+static void
 database_var_constant_add(Eolian_Variable *var)
 {
-   if (!_constants) return EINA_FALSE;
eina_hash_set(_constants, var->full_name, var);
eina_hash_set(_constantsf, var->base.file, eina_list_append
  ((Eina_List*)eina_hash_find(_constantsf, var->base.file), 
var));
-   return EINA_TRUE;
 }
 
-Eina_Bool
+void
 database_var_add(Eolian_Variable *var)
 {
if (var->type == EOLIAN_VAR_GLOBAL)
- return database_var_global_add(var);
-   return database_var_constant_add(var);
+ database_var_global_add(var);
+   else
+ database_var_constant_add(var);
 }
diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c
index 3ef0955..5bae78d 100644
--- a/src/lib/eolian/eolian_database.c
+++ b/src/lib/eolian/eolian_database.c
@@ -201,6 +201,8 @@ database_class_name_validate(const char *class_name, const 
Eolian_Class **cl)
 EAPI Eina_Bool
 eolian_eot_file_parse(const char *filepath)
 {
+   if (_database_init_count <= 0)
+ return EINA_FALSE;
return eo_parser_database_fill(filepath, EINA_TRUE);
 }
 
@@ -210,6 +212,10 @@ eolian_eo_file_parse(const char *filepath)
Eina_Iterator *itr;
Eina_List *depl;
Eolian_Dependency *dep;
+
+   if (_database_init_count <= 0)
+ return EINA_FALSE;
+
char *bfiledup = strdup(filepath);
char *bfilename = basename(bfiledup);
const Eolian_Class *class = eolian_class_get_by_file(bfilename);
@@ -317,6 +323,10 @@ EAPI Eina_Bool
 eolian_all_eot_files_parse()
 {
Eina_Bool ret = EINA_TRUE;
+
+   if (_database_init_count <= 0)
+ return EINA_FALSE;
+
eina_hash_foreach(_tfilenames, _tfile_parse, &ret);
return ret;
 }
@@ -332,6 +342,10 @@ EAPI Eina_Bool
 eolian_all_eo_files_parse()
 {
Eina_Bool ret = EINA_TRUE;
+
+   if (_database_init_count <= 0)
+ return EINA_FALSE;
+
eina_hash_foreach(_filenames, _file_parse, &ret);
return ret;
 }
@@ -339,5 +353,8 @@ eolian_all_eo_files_parse()
 EAPI Eina_Bool
 eolian_database_validate(void)
 {
+   if (_database_init_count <= 0)
+ return EINA_FALSE;
+
return database_validate();
 }
diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h
index bb487f0..6777e5a 100644
--- a/src/lib/eolian/eolian_database.h
+++ b/src/lib/eolian/eolian_database.h
@@ -249,9 +249,9 @@ Eina_Bool database_class_name_validate(const char 
*class_name, const Eolian_Clas
 
 /* types */
 
-Eina_Bool database_type_add(Eolian_Type *def);
-Eina_Bool database_struct_add(Eolian_Type *tp);
-Eina_Bool database_enum_add(Eolian_Type

[EGIT] [admin/devs] master 01/01: kuuko: Add my work key

2014-09-12 Thread Kai Huuhko
kuuko pushed a commit to branch master.

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

commit fe5d9a94cc0debcc2dca1d6a6c01d9cf92326b40
Author: Kai Huuhko 
Date:   Fri Sep 12 16:27:51 2014 +0300

kuuko: Add my work key
---
 developers/kuuko/id_rsa_innopoli3.pub | 1 +
 1 file changed, 1 insertion(+)

diff --git a/developers/kuuko/id_rsa_innopoli3.pub 
b/developers/kuuko/id_rsa_innopoli3.pub
new file mode 100644
index 000..ca0e71c
--- /dev/null
+++ b/developers/kuuko/id_rsa_innopoli3.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAACAQCxSLPNobdprzZsF13oXXFvxFL2Pfj/Wy9bHdepy8ssjtIOw2JecQ9RuKbPm9pB30b6Dxxkiuvt8y+AbtwqHmUc/mUXY7IhIBlE6Y8jPCk1dWSQDmIm8DX+DeYdgvUytFW+VIccJCmgFyMWexzd+l3CpgAfwmslRcnlzRYZoS4+L7rRx8ph8F+vV5BkuN5lzxNg1lIVc6CAS4bqXHywlOp5mkB+aY5DvKXmTew1CZjVeF9f/Za72Q8NiM2PJfiTbGh7YS5krKU7NGKqQV8WrF2/4ckcuH6kj/tRV0LloDaLJ6i7ZeY7elfHdIN71bhZW8ddD7hUuZa4q42cF+53bH7FXmGBKr8+A5bZ5nMCzdUNaDV4oYvUajb3a7xJgthuMWZ6H7k5vqXTIgidVq3Nr8uVfl+RYTS+C+R4Enmk676+w1oSLdHTrXLyHCw5ID2OOLPL9ZMk
 [...]

-- 




[EGIT] [core/efl] master 01/01: eolian: get rid of a list

2014-09-12 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 87559458f20289426ace90cb734f33a8798848ce
Author: Daniel Kolesa 
Date:   Fri Sep 12 15:01:10 2014 +0100

eolian: get rid of a list
---
 src/lib/eolian/eo_lexer.c  | 13 ++---
 src/lib/eolian/eo_lexer.h  |  2 +-
 src/lib/eolian/eo_parser.c | 19 +++
 3 files changed, 10 insertions(+), 24 deletions(-)

diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c
index 6f41535..4601ee4 100644
--- a/src/lib/eolian/eo_lexer.c
+++ b/src/lib/eolian/eo_lexer.c
@@ -705,22 +705,21 @@ _temps_free(Eo_Lexer_Temps *tmp)
 {
Eina_Strbuf *buf;
Eolian_Type *tp;
-   Eolian_Variable *var;
Eolian_Class *cl;
const char *s;
 
-   EINA_LIST_FREE(tmp->str_bufs, buf)
- eina_strbuf_free(buf);
-
if (tmp->kls)
  database_class_del(tmp->kls);
 
+   if (tmp->var)
+ database_var_del(tmp->var);
+
+   EINA_LIST_FREE(tmp->str_bufs, buf)
+ eina_strbuf_free(buf);
+
EINA_LIST_FREE(tmp->type_defs, tp)
  database_type_del(tp);
 
-   EINA_LIST_FREE(tmp->var_defs, var)
- database_var_del(var);
-
EINA_LIST_FREE(tmp->str_items, s)
  if (s) eina_stringshare_del(s);
 
diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
index b5c49e4..5a6e630 100644
--- a/src/lib/eolian/eo_lexer.h
+++ b/src/lib/eolian/eo_lexer.h
@@ -96,10 +96,10 @@ typedef struct _Lexer_Ctx
 typedef struct _Eo_Lexer_Temps
 {
Eolian_Class *kls;
+   Eolian_Variable *var;
Eina_List *classes;
Eina_List *str_bufs;
Eina_List *type_defs;
-   Eina_List *var_defs;
Eina_List *str_items;
Eina_List *expr_defs;
Eina_List *strs;
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 9eeca8c..dc64db7 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -114,20 +114,6 @@ pop_type(Eo_Lexer *ls)
ls->tmp.type_defs = eina_list_remove_list(ls->tmp.type_defs, 
ls->tmp.type_defs);
 }
 
-static Eolian_Variable *
-push_var(Eo_Lexer *ls)
-{
-   Eolian_Variable *def = calloc(1, sizeof(Eolian_Variable));
-   ls->tmp.var_defs = eina_list_prepend(ls->tmp.var_defs, def);
-   return def;
-}
-
-static void
-pop_var(Eo_Lexer *ls)
-{
-   ls->tmp.var_defs = eina_list_remove_list(ls->tmp.var_defs, 
ls->tmp.var_defs);
-}
-
 static Eina_Stringshare *
 push_str(Eo_Lexer *ls, const char *val)
 {
@@ -1053,9 +1039,10 @@ parse_typedef(Eo_Lexer *ls)
 static Eolian_Variable *
 parse_variable(Eo_Lexer *ls, Eina_Bool global)
 {
-   Eolian_Variable *def = push_var(ls);
+   Eolian_Variable *def = calloc(1, sizeof(Eolian_Variable));
Eina_Bool has_extern = EINA_FALSE;
Eina_Strbuf *buf;
+   ls->tmp.var = def;
eo_lexer_get(ls);
if (ls->t.kw == KW_at_extern)
  {
@@ -1910,7 +1897,7 @@ parse_unit(Eo_Lexer *ls, Eina_Bool eot)
   case KW_var:
 {
database_var_add(parse_variable(ls, ls->t.kw == KW_var));
-   pop_var(ls);
+   ls->tmp.var = NULL;
break;
 }
   case KW_struct:

-- 




[EGIT] [core/efl] master 01/01: eolian: remove str_items from temps

2014-09-12 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 3d8069f226e28e3bb9a822753257e9b840b83bbb
Author: Daniel Kolesa 
Date:   Fri Sep 12 15:04:18 2014 +0100

eolian: remove str_items from temps
---
 src/lib/eolian/eo_lexer.c  |  3 ---
 src/lib/eolian/eo_lexer.h  |  1 -
 src/lib/eolian/eo_parser.c | 17 ++---
 3 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c
index 4601ee4..0378470 100644
--- a/src/lib/eolian/eo_lexer.c
+++ b/src/lib/eolian/eo_lexer.c
@@ -720,9 +720,6 @@ _temps_free(Eo_Lexer_Temps *tmp)
EINA_LIST_FREE(tmp->type_defs, tp)
  database_type_del(tp);
 
-   EINA_LIST_FREE(tmp->str_items, s)
- if (s) eina_stringshare_del(s);
-
EINA_LIST_FREE(tmp->strs, s)
  if (s) eina_stringshare_del(s);
 
diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
index 5a6e630..56495e5 100644
--- a/src/lib/eolian/eo_lexer.h
+++ b/src/lib/eolian/eo_lexer.h
@@ -100,7 +100,6 @@ typedef struct _Eo_Lexer_Temps
Eina_List *classes;
Eina_List *str_bufs;
Eina_List *type_defs;
-   Eina_List *str_items;
Eina_List *expr_defs;
Eina_List *strs;
 } Eo_Lexer_Temps;
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index dc64db7..1140d56 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -176,22 +176,20 @@ parse_name(Eo_Lexer *ls, Eina_Strbuf *buf)
return buf;
 }
 
-static Eina_List *
-parse_name_list(Eo_Lexer *ls)
+static void
+parse_name_list(Eo_Lexer *ls, Eina_List **out)
 {
Eina_Strbuf *buf = push_strbuf(ls);
-   ls->tmp.str_items = NULL;
parse_name(ls, buf);
-   ls->tmp.str_items = eina_list_append(ls->tmp.str_items,
+   *out = eina_list_append(*out,
eina_stringshare_add(eina_strbuf_string_get(buf)));
while (test_next(ls, ','))
  {
 parse_name(ls, buf);
-ls->tmp.str_items = eina_list_append(ls->tmp.str_items,
-   eina_stringshare_add(eina_strbuf_string_get(buf)));
+*out = eina_list_append(*out,
+eina_stringshare_add(eina_strbuf_string_get(buf)));
  }
pop_strbuf(ls);
-   return ls->tmp.str_items;
 }
 
 #define NAMESPACE_PARSE(def, dname) \
@@ -1853,10 +1851,7 @@ parse_class(Eo_Lexer *ls, Eolian_Class_Type type)
 col = ls->column;
 check_next(ls, '(');
 if (ls->t.token != ')')
-  {
- ls->tmp.kls->inherits = parse_name_list(ls);
- ls->tmp.str_items = NULL;
-  }
+  parse_name_list(ls, &ls->tmp.kls->inherits);
 check_match(ls, ')', '(', line, col);
  }
line = ls->line_number;

-- 




[E-devel] Looking for someone to take over the Bodhi Linux Project

2014-09-12 Thread Jeff Hoogland
http://jeffhoogland.blogspot.com/2014/09/stepping-down-from-bodhi-linux-lead.html

-- 
~Jeff Hoogland 
Thoughts on Technology , Tech Blog
Bodhi Linux , Enlightenment for your Desktop
--
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] annotated tag v1.11.2 created (now 2420eb9)

2014-09-12 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

stefan pushed a change to annotated tag v1.11.2
in repository core/efl.

at  2420eb9   (tag)
   tagging  f317298fc2d0fbb4c156a7d1b7caebc8d4aecb23 (commit)
  replaces  v1.11.1
 tagged by  Stefan Schmidt
on  Fri Sep 12 21:23:08 2014 +0200

- Log -
v1.11.2

Carsten Haitzler (5):
  emotion - fix calling pos update cb for gst1 module in frame new
  emotion - audio volume - leave as-is on file open/init
  emotion - gst 0.10 - fix build after volume change/fix
  ecore - x vsync - whitelies only intel drm driver
  efl 1.11 - remove ok dup var warning

Cedric BAIL (3):
  evas: forgotten evas canvas event EVAS_CANVAS_EVENT_DEVICE_CHANGED.
  evas: actually just define the right number of events.
  evas: let's freeze the canvas, shall we ?

Mike Blumenkrantz (3):
  shutup ecore-x vsync stupid log domain failures
  edje_cc now throws an error during link combination when the current part 
has no name
  edje embryo stop_program() should stop pending actions

Philippe Coval (1):
  evas: fix build on armv7l.

Stefan Schmidt (1):
  release: Update NEWS and bump version for 1.11.2 release

---

No new revisions were added by this update.

-- 




[EGIT] [core/elementary] annotated tag v1.11.2 created (now 97f3ee3)

2014-09-12 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

stefan pushed a change to annotated tag v1.11.2
in repository core/elementary.

at  97f3ee3   (tag)
   tagging  7359fdfdbe4d8b6f46f9bbe39cbc0e6a416a70cb (commit)
  replaces  v1.11.1
 tagged by  Stefan Schmidt
on  Fri Sep 12 21:32:53 2014 +0200

- Log -
v1.11.2

Carsten Haitzler (2):
  elm examples - missing -lm link - fix
  Revert "rename all pager theme groups to match the module that uses it"

Mike Blumenkrantz (1):
  rename all pager theme groups to match the module that uses it

Stefan Schmidt (1):
  release: Update NEWS and bump version for 1.11.2 release

Tae-Hwan Kim (1):
  elm_map: the widget use efreet cache home to save image files to, so 
efreet should be initialized.

Thiep Ha (1):
  label: Fix size calculation for wrapped label

---

No new revisions were added by this update.

-- 




[EGIT] [core/evas_generic_loaders] annotated tag v1.11.2 created (now 413b232)

2014-09-12 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

stefan pushed a change to annotated tag v1.11.2
in repository core/evas_generic_loaders.

at  413b232   (tag)
   tagging  00bcf16ef4f8acb63a683d0c7fbee3e7d41cfafe (commit)
  replaces  v1.11.0
 tagged by  Stefan Schmidt
on  Fri Sep 12 21:32:58 2014 +0200

- Log -
v1.11.2

Igor Murzov (1):
  Improve LO binary detection

Stefan Schmidt (1):
  release: Update NEWS and bump version for 1.11.2 release

---

No new revisions were added by this update.

-- 




[EGIT] [website/www] master 01/01: release: Update links for version 1.11.2

2014-09-12 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/website/www.git/commit/?id=69af43316f962570c1cc1dbb8d03059d392add90

commit 69af43316f962570c1cc1dbb8d03059d392add90
Author: Stefan Schmidt 
Date:   Fri Sep 12 21:34:47 2014 +0200

release: Update links for version 1.11.2
---
 public_html/p/download/en-body | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/public_html/p/download/en-body b/public_html/p/download/en-body
index 6636122..33d31f2 100644
--- a/public_html/p/download/en-body
+++ b/public_html/p/download/en-body
@@ -71,18 +71,18 @@
 
   

-   EFL 1.11.1
+   EFL 1.11.2
  Core libraries. http://download.enlightenment.org/rel/libs/efl/efl-1.11.1.tar.gz";
+ "http://download.enlightenment.org/rel/libs/efl/efl-1.11.2.tar.gz";
);?>

 

-   Elementary 1.11.1
+   Elementary 1.11.2
  Widget set/toolkit. http://download.enlightenment.org/rel/libs/elementary/elementary-1.11.1.tar.gz";
+ 
"http://download.enlightenment.org/rel/libs/elementary/elementary-1.11.2.tar.gz";
);?>

 
@@ -95,10 +95,10 @@

 

-   Evas Generic Loaders 1.11.0
+   Evas Generic Loaders 1.11.2
  Extra image decoders. http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-1.11.0.tar.gz";
+ 
"http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-1.11.2.tar.gz";
);?>

 

-- 




[E-devel] Efl, Elementary and Evas Generic Loaders 1.11.2 release

2014-09-12 Thread Stefan Schmidt
We are happy to release another stable update for the 1.11.x series.

EFL fixes:
   * shutup ecore-x vsync stupid log domain failures
   * emotion - fix calling pos update cb for gst1 module in frame new
   * emotion - audio volume - leave as-is on file open/init
   * edje_cc now throws an error during link combination when the
current part has no name
   * evas: fix build on armv7l. (T1620)
   * edje embryo stop_program() should stop pending actions
   * evas: let's freeze the canvas, shall we ?

Elementary fixes:
   * label: Fix size calculation for wrapped label
   * elm examples - missing -lm link - fix
   * elm_map: the widget use efreet cache home to save image files to,
so efreet should be initialized.

Evas Generic Loaders fixes:
   * Improve LibreOffice binary detection

Download

http://download.enlightenment.org/rel/libs/efl/efl-1.11.2.tar.gz
http://download.enlightenment.org/rel/libs/efl/efl-1.11.2.tar.gz.sha256

http://download.enlightenment.org/rel/libs/elementary/elementary-1.11.2.tar.gz
http://download.enlightenment.org/rel/libs/elementary/elementary-1.11.2.tar.gz.sha256

http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-1.11.2.tar.gz
http://download.enlightenment.org/rel/libs/evas_generic_loaders/evas_generic_loaders-1.11.2.tar.gz.sha256


Building and Dependencies

If you have an existing EFL or Elementary install, you may wish to
delete its header files and libraries before compiling and installing to
avoid possible conflicts during compilation. If you are compiling the
above, please compile them in the following order:

efl
elementary

If you have an existing EFL or Elementary install, you may wish to
delete its header files and libraries before building the above.



--
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 24/29: eolian-cxx: Added new wrappers to handle Eolian_Function.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit cc70746d1012d2dfbc758a3f456e2ad25feb3fbc
Author: Savio Sena 
Date:   Fri Sep 12 16:47:51 2014 -0300

eolian-cxx: Added new wrappers to handle Eolian_Function.

function_is_constructor() and function_is_visible().
---
 src/bin/eolian_cxx/eolian_wrappers.hh | 28 
 1 file changed, 28 insertions(+)

diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index b4145d1..9277bda 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -198,6 +198,34 @@ function_type(Eolian_Function const& func)
  : efl::eolian::eo_function::regular_
  ;
 }
+
+inline bool
+function_is_constructor(Eolian_Class const& cls, Eolian_Function const& func)
+{
+   return ::eolian_function_is_constructor(&func, &cls);
+}
+
+inline bool
+function_is_visible(Eolian_Function const& func, Eolian_Function_Type 
func_type)
+{
+   return (::eolian_function_scope_get(&func) == EOLIAN_SCOPE_PUBLIC &&
+   ! ::eolian_function_is_legacy_only(&func, func_type));
+}
+
+inline bool
+function_is_visible(Eolian_Function const& func, method_t)
+{
+   return (::eolian_function_scope_get(&func) == EOLIAN_SCOPE_PUBLIC &&
+   ! ::eolian_function_is_legacy_only(&func, method_t::value));
+}
+
+inline bool
+function_is_visible(Eolian_Function const& func)
+{
+   return (::eolian_function_scope_get(&func) == EOLIAN_SCOPE_PUBLIC &&
+   ! ::eolian_function_is_legacy_only(&func, function_op_type(func)));
+}
+
 inline bool
 function_is_visible(Eolian_Constructor const& ctor_)
 {

-- 




[EGIT] [core/efl] master 26/29: eolian-cxx: Added properties_get() wrapper.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit fa01f747a8638eae2467396ee903444973246556
Author: Savio Sena 
Date:   Fri Sep 12 16:48:58 2014 -0300

eolian-cxx: Added properties_get() wrapper.

Returns the list of all properties in a class.
---
 src/bin/eolian_cxx/eolian_wrappers.hh | 9 +
 1 file changed, 9 insertions(+)

diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index 970274c..8917716 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -272,6 +272,15 @@ function_return_is_explicit_void(Eolian_Function const& 
func, getter_t func_type
return !!type && type->type == EOLIAN_TYPE_VOID;
 }
 
+inline efl::eina::iterator
+properties_get(Eolian_Class const& cls)
+{
+   Eina_Iterator *itr = ::eolian_class_functions_get(&cls, EOLIAN_PROPERTY); 
// XXX
+   return itr
+ ? efl::eina::iterator(itr)
+ : efl::eina::iterator();
+}
+
 inline bool
 property_is_getter(Eolian_Function_Type func_type)
 {

-- 




[EGIT] [core/efl] master 28/29: eolian: Added eolian_function_is_constructor().

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 2d39b359fb98220b540f4f2eb85e75e60d5f60c3
Author: Savio Sena 
Date:   Fri Sep 12 16:51:37 2014 -0300

eolian: Added eolian_function_is_constructor().

This patch adds a list of strings called 'ctor_of' to
_Eolian_Function. This list will contain all classes in which this
function is a constructing function.

ctor_of is filled in two moments:

* When filling the constructors of a class, class->full_name is inserted
  in the 'ctor_of' of each constructor's function.

* When filling the implements of a class, if the function is a
  constructor of its superclass it also becomes a constructor of the
  current class, so class->full_name is also inserted in the 'ctor_of'
  of each implement's function.

eolian_function_is_constructor gets a func and klass arguments. It goes
through ctor_of of func and returns EINA_TRUE if klass->full_name is
found, otherwise it returns EINA_FALSE.
---
 src/lib/eolian/Eolian.h| 11 +++
 src/lib/eolian/database_function.c | 28 
 src/lib/eolian/database_function_api.c | 11 +++
 src/lib/eolian/database_implement.c|  7 +++
 src/lib/eolian/eolian_database.c   |  4 
 src/lib/eolian/eolian_database.h   |  3 +++
 6 files changed, 64 insertions(+)

diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index 320a2cb..108c4f3 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -779,6 +779,17 @@ EAPI Eina_Bool eolian_function_is_legacy_only(const 
Eolian_Function *function_id
 EAPI Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
 
 /*
+ * @brief Indicates if a function is a constructing function of a given class.
+ *
+ * @param[in] klass the class
+ * @param[in] function_id Id of the function
+ * @return EINA_TRUE and EINA_FALSE respectively
+ *
+ * @ingroup Eolian
+ */
+EAPI Eina_Bool eolian_function_is_constructor(const Eolian_Function 
*function_id, const Eolian_Class *klass);
+
+/*
  * @brief Returns a parameter of a function pointed by its id.
  *
  * @param[in] function_id Id of the function
diff --git a/src/lib/eolian/database_function.c 
b/src/lib/eolian/database_function.c
index c29f079..ef59bcf 100644
--- a/src/lib/eolian/database_function.c
+++ b/src/lib/eolian/database_function.c
@@ -5,12 +5,14 @@ void
 database_function_del(Eolian_Function *fid)
 {
Eolian_Function_Parameter *param;
+   Eina_Stringshare *cls_name;
if (!fid) return;
 
if (fid->base.file) eina_stringshare_del(fid->base.file);
eina_stringshare_del(fid->name);
EINA_LIST_FREE(fid->keys, param) database_parameter_del(param);
EINA_LIST_FREE(fid->params, param) database_parameter_del(param);
+   EINA_LIST_FREE(fid->ctor_of, cls_name) eina_stringshare_del(cls_name);
database_type_del(fid->get_ret_type);
database_type_del(fid->set_ret_type);
database_expr_del(fid->get_ret_val);
@@ -23,3 +25,29 @@ database_function_del(Eolian_Function *fid)
if (fid->set_return_comment) eina_stringshare_del(fid->set_return_comment);
free(fid);
 }
+
+static Eina_List*
+_list_sorted_insert_no_dup(Eina_List *l, Eina_Compare_Cb func, const void 
*data)
+{
+   Eina_List *lnear;
+   int cmp;
+
+   if (!l)
+ return eina_list_append(NULL, data);
+   else
+ lnear = eina_list_search_sorted_near_list(l, func, data, &cmp);
+
+   if (cmp < 0)
+ return eina_list_append_relative_list(l, data, lnear);
+   else if (cmp > 0)
+ return eina_list_prepend_relative_list(l, data, lnear);
+   return l;
+}
+
+void
+database_function_constructor_add(Eolian_Function *func, const Eolian_Class 
*cls)
+{
+   func->ctor_of = _list_sorted_insert_no_dup
+ (func->ctor_of, EINA_COMPARE_CB(strcmp),
+  eina_stringshare_ref(cls->full_name));
+}
diff --git a/src/lib/eolian/database_function_api.c 
b/src/lib/eolian/database_function_api.c
index 7a25353..a0462d0 100644
--- a/src/lib/eolian/database_function_api.c
+++ b/src/lib/eolian/database_function_api.c
@@ -135,6 +135,17 @@ eolian_function_is_class(const Eolian_Function *fid)
return fid->is_class;
 }
 
+EAPI Eina_Bool
+eolian_function_is_constructor(const Eolian_Function *fid, const Eolian_Class 
*klass)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
+   Eina_Stringshare *s = eina_stringshare_ref(klass->full_name);
+   Eina_Bool r = !!eina_list_search_sorted_list
+ (fid->ctor_of, EINA_COMPARE_CB(strcmp), s);
+   eina_stringshare_del(s);
+   return r;
+}
+
 EAPI const Eolian_Function_Parameter *
 eolian_function_parameter_get_by_name(const Eolian_Function *fid, const char 
*param_name)
 {
diff --git a/src/lib/eolian/database_implement.c 
b/src/lib/eolian/database_implement.c
index 5d9d349..ce49ecd 100644
--- a/src/lib/eolian/database_implement.c
+++ b/src/lib/eolian/database_implement.c
@@ -9,3 +9,10 @

[EGIT] [core/efl] master 07/29: autotools: Add -I$(srcdir)/lib/efl/ to the examples.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 007a4934ccf05b6eddb93ca6fdba55893e03d115
Author: Savio Sena 
Date:   Wed Sep 3 15:08:56 2014 -0300

autotools: Add -I$(srcdir)/lib/efl/ to the examples.

This fixes 'make examples'.
---
 src/examples/eina/Makefile.am   | 6 +-
 src/examples/eina_cxx/Makefile.am   | 4 +++-
 src/examples/eolian_cxx/Makefile.am | 6 +-
 src/examples/evas/Makefile.am   | 1 +
 4 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/examples/eina/Makefile.am b/src/examples/eina/Makefile.am
index 1f56b29..46fa925 100644
--- a/src/examples/eina/Makefile.am
+++ b/src/examples/eina/Makefile.am
@@ -1,8 +1,10 @@
 MAINTAINERCLEANFILES = Makefile.in
 
 AM_CPPFLAGS = \
--I$(top_builddir)/src/lib/efl \
 -I. \
+-I$(top_srcdir)/src/lib/efl \
+-I$(top_builddir)/src/lib/efl \
+-I$(top_builddir)/src/lib/efl/interfaces \
 -I$(top_srcdir)/src/lib/eina \
 -I$(top_builddir)/src/lib/eina
 
@@ -112,6 +114,7 @@ eina_xattr_02
 EXTRA_PROGRAMS += eina_tiler_01
 
 eina_tiler_01_CPPFLAGS = \
+-I$(top_srcdir)/src/lib/efl \
 -I$(top_srcdir)/src/lib/eina \
 -I$(top_srcdir)/src/lib/eo \
 -I$(top_srcdir)/src/lib/evas \
@@ -119,6 +122,7 @@ eina_tiler_01_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_srcdir)/src/lib/ecore_evas \
 -I$(top_builddir)/src/lib/efl \
+-I$(top_builddir)/src/lib/efl/interfaces \
 -I$(top_builddir)/src/lib/eina \
 -I$(top_builddir)/src/lib/eo \
 -I$(top_builddir)/src/lib/evas \
diff --git a/src/examples/eina_cxx/Makefile.am 
b/src/examples/eina_cxx/Makefile.am
index f3ab056..a98a82b 100644
--- a/src/examples/eina_cxx/Makefile.am
+++ b/src/examples/eina_cxx/Makefile.am
@@ -1,8 +1,10 @@
 MAINTAINERCLEANFILES = Makefile.in
 
 AM_CXXFLAGS = \
--I$(top_builddir)/src/lib/efl \
 -I. \
+-I$(top_srcdir)/src/lib/efl \
+-I$(top_builddir)/src/lib/efl \
+-I$(top_builddir)/src/lib/efl/interfaces \
 @EINA_CXX_CFLAGS@ @CHECK_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@
 
 LDADD = $(top_builddir)/src/lib/eina/libeina.la @EINA_LDFLAGS@ 
@EFL_PTHREAD_LIBS@
diff --git a/src/examples/eolian_cxx/Makefile.am 
b/src/examples/eolian_cxx/Makefile.am
index 72fdbf9..3a79db6 100644
--- a/src/examples/eolian_cxx/Makefile.am
+++ b/src/examples/eolian_cxx/Makefile.am
@@ -15,7 +15,10 @@ include $(top_srcdir)/src/Makefile_Eolian_Cxx_Helper.am
 AM_CXXFLAGS = \
-I$(srcdir) \
-I$(builddir) \
+   -I$(top_srcdir)/src/lib/efl \
-I$(top_builddir)/src/lib/efl \
+   -I$(top_srcdir)/src/lib/efl/interfaces \
+   -I$(top_builddir)/src/lib/efl/interfaces \
-I$(top_srcdir)/src/lib/eina \
-I$(top_builddir)/src/lib/eina \
-I$(top_srcdir)/src/lib/eo \
@@ -46,9 +49,10 @@ AM_LDFLAGS = \
   -L$(top_builddir)/src/lib/evas \
-L$(top_builddir)/src/lib/ecore \
-L$(top_builddir)/src/lib/ecore_evas \
-   -leina -levas -leo -lecore -lecore_evas -pthread
+   -lefl -leina -levas -leo -lecore -lecore_evas -pthread
 
 LDADD = \
+   $(top_builddir)/src/lib/efl/libefl.la \
$(top_builddir)/src/lib/eo/libeo.la \
$(top_builddir)/src/lib/eina/libeina.la \
$(top_builddir)/src/lib/evas/libevas.la \
diff --git a/src/examples/evas/Makefile.am b/src/examples/evas/Makefile.am
index 18a7ed9..d1b3285 100644
--- a/src/examples/evas/Makefile.am
+++ b/src/examples/evas/Makefile.am
@@ -4,6 +4,7 @@ include ../../Makefile_Edje_Helper.am
 
 AM_CPPFLAGS = \
 -I$(top_builddir)/src/lib/efl \
+-I$(top_builddir)/src/lib/efl/interfaces \
 -I$(top_srcdir)/src/lib/eina \
 -I$(top_srcdir)/src/lib/eo \
 -I$(top_srcdir)/src/lib/evas \

-- 




[EGIT] [core/efl] master 14/29: autotools: Simplify src/Makefile_Eolian.am.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 32c7d75e379f2d4bca736da6d731a878be25d6a6
Author: Savio Sena 
Date:   Fri Sep 12 16:05:19 2014 -0300

autotools: Simplify src/Makefile_Eolian.am.

Added a variable to hold .eo files. This patch prepares
Eolian_Makefile.am to force the generation of .eo.c and .eo.h too.
---
 src/Makefile_Eolian.am | 50 +-
 1 file changed, 29 insertions(+), 21 deletions(-)

diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index c1461c2..6bf7fd1 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -71,6 +71,34 @@ include Makefile_Eolian_Helper.am
 ### Unit tests
 
 if EFL_ENABLE_TESTS
+
+EOLIAN_TESTS_EOS = \
+tests/eolian/data/base.eo \
+tests/eolian/data/class_simple.eo \
+tests/eolian/data/scope.eo \
+tests/eolian/data/ctor_dtor.eo \
+tests/eolian/data/complex_type.eo \
+tests/eolian/data/typedef.eo \
+tests/eolian/data/object_impl.eo \
+tests/eolian/data/object_impl_add.eo \
+tests/eolian/data/consts.eo \
+tests/eolian/data/override.eo \
+tests/eolian/data/events.eo \
+tests/eolian/data/extern.eo \
+tests/eolian/data/struct.eo \
+tests/eolian/data/var.eo \
+tests/eolian/data/class_funcs.eo \
+tests/eolian/data/enum.eo \
+tests/eolian/data/free_func.eo \
+tests/eolian/data/nmsp1_class1.eo \
+tests/eolian/data/nmsp1_nmsp11_class2.eo \
+tests/eolian/data/nmsp2_class1.eo \
+tests/eolian/data/no_nmsp.eo
+
+EOLIAN_TESTS_EOS_GENERATED = \
+$(EOLIAN_TESTS_EOS:%.eo=%.eo.c)\
+$(EOLIAN_TESTS_EOS:%.eo=%.eo.h)
+
 check_PROGRAMS += \
 tests/eolian/eolian_suite
 
@@ -94,30 +122,10 @@ tests_eolian_eolian_suite_DEPENDENCIES = 
@USE_EOLIAN_INTERNAL_LIBS@
 endif
 
 EXTRA_DIST += \
-tests/eolian/data/base.eo \
-tests/eolian/data/class_simple.eo \
-tests/eolian/data/scope.eo \
-tests/eolian/data/ctor_dtor.eo \
-tests/eolian/data/complex_type.eo \
-tests/eolian/data/typedef.eo \
-tests/eolian/data/object_impl.eo \
 tests/eolian/data/object_impl_ref.c \
-tests/eolian/data/object_impl_add.eo \
 tests/eolian/data/object_impl_add_ref.c \
-tests/eolian/data/consts.eo \
-tests/eolian/data/override.eo \
-tests/eolian/data/events.eo \
-tests/eolian/data/extern.eo \
-tests/eolian/data/struct.eo \
-tests/eolian/data/var.eo \
-tests/eolian/data/class_funcs.eo \
-tests/eolian/data/enum.eo \
-tests/eolian/data/free_func.eo \
 tests/eolian/data/typedef_ref.c \
 tests/eolian/data/struct_ref.c \
 tests/eolian/data/class_simple_ref.c \
 tests/eolian/data/override_ref.c \
-tests/eolian/data/nmsp1_class1.eo \
-tests/eolian/data/nmsp1_nmsp11_class2.eo \
-tests/eolian/data/nmsp2_class1.eo \
-tests/eolian/data/no_nmsp.eo
+$(EOLIAN_TESTS_EOS)

-- 




[EGIT] [core/efl] master 22/29: eolian-cxx: Make class_name() wrapper return lower-case string.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 753f6ab9187b050e98032ddbc188cf0a2691edb6
Author: Savio Sena 
Date:   Fri Sep 12 16:44:47 2014 -0300

eolian-cxx: Make class_name() wrapper return lower-case string.
---
 src/bin/eolian_cxx/eolian_wrappers.hh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index 1eec82b..726f715 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -50,7 +50,7 @@ class_base_file(Eolian_Class const& klass)
 inline std::string
 class_name(Eolian_Class const& klass)
 {
-   return safe_str(::eolian_class_name_get(&klass));
+   return safe_lower(::eolian_class_name_get(&klass));
 }
 
 inline std::string

-- 




[EGIT] [core/efl] master 25/29: eolian-cxx: Added wrappers to handle Eolian_Implements.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit c61bc0dec0cedbf8913e08e9bb115cebf5345780
Author: Savio Sena 
Date:   Fri Sep 12 16:48:40 2014 -0300

eolian-cxx: Added wrappers to handle Eolian_Implements.
---
 src/bin/eolian_cxx/eolian_wrappers.hh | 58 +++
 1 file changed, 58 insertions(+)

diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index 9277bda..970274c 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -407,6 +407,64 @@ event_list(Eolian_Class const& klass)
return events;
 }
 
+inline efl::eina::iterator
+implements_get(Eolian_Class const& cls)
+{
+   Eina_Iterator *itr = ::eolian_class_implements_get(&cls);
+   return itr
+ ? efl::eina::iterator(itr)
+ : efl::eina::iterator();
+}
+
+inline bool
+implement_is_property_get(Eolian_Implement const& impl)
+{
+   return ::eolian_implement_is_prop_get(&impl);
+}
+
+inline bool
+implement_is_property_set(Eolian_Implement const& impl)
+{
+   return ::eolian_implement_is_prop_set(&impl);
+}
+
+inline bool
+implement_is_property(Eolian_Implement const& impl)
+{
+   return implement_is_property_get(impl) ||
+ implement_is_property_set(impl);
+}
+
+inline Eolian_Function const*
+implement_function(Eolian_Implement const& impl)
+{
+   return ::eolian_implement_function_get(&impl, nullptr);
+}
+
+inline Eolian_Class const*
+implement_class(Eolian_Implement const& impl)
+{
+   return ::eolian_implement_class_get(&impl);
+}
+
+// XXX This function shouldn't exist. Eolian should provide some way
+// to determine if a method is a destructor.
+inline bool
+implement_is_destructor(Eolian_Implement const& impl)
+{
+   return !safe_str
+ (::eolian_implement_full_name_get(&impl)).compare("Eo.Base.destructor");
+}
+
+inline bool
+implement_is_visible(Eolian_Implement const& impl)
+{
+   return function_is_visible(*implement_function(impl)) &&
+ !::eolian_implement_is_virtual(&impl) &&
+ !::eolian_implement_is_empty(&impl) &&
+ !implement_is_destructor(impl);
+}
+
 }
 
 #endif // EOLIAN_CXX_EOLIAN_WRAPPERS_HH

-- 




[EGIT] [core/efl] master 01/29: autotools: Add efl-cxx.pc.in.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit e60d1ea1865135ef6e36d5649b7605c4974ffa6b
Author: Savio Sena 
Date:   Wed Sep 3 14:55:18 2014 -0300

autotools: Add efl-cxx.pc.in.
---
 Makefile.am  |  1 +
 configure.ac |  1 +
 pc/efl-cxx.pc.in | 16 
 3 files changed, 18 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index 7174c54..979ac6c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -129,6 +129,7 @@ pc/eina.pc \
 pc/eo.pc \
 pc/eolian.pc \
 pc/efl.pc \
+pc/efl-cxx.pc \
 pc/eet.pc \
 pc/evas.pc \
 pc/ecore.pc \
diff --git a/configure.ac b/configure.ac
index 950235d..6eac3e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4423,6 +4423,7 @@ pc/eo-cxx.pc
 pc/eolian.pc
 pc/eolian-cxx.pc
 pc/efl.pc
+pc/efl-cxx.pc
 pc/evas-fb.pc
 pc/evas-opengl-x11.pc
 pc/evas-opengl-sdl.pc
diff --git a/pc/efl-cxx.pc.in b/pc/efl-cxx.pc.in
new file mode 100644
index 000..8f8fa90
--- /dev/null
+++ b/pc/efl-cxx.pc.in
@@ -0,0 +1,16 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+datarootdir=@datarootdir@
+datadir=@datadir@
+eoincludedir=@datadir@/eolian/include
+eolian_flags=-I${eoincludedir}/efl-@VMAJ@
+
+Name: EFL++
+Description: EFL's C++ bindings
+Version: @PACKAGE_VERSION@
+Requires.private: @requirements_pc_efl@
+Libs: -L${libdir} -lefl
+Libs.private:
+Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/efl-@VMAJ@/interfaces 
-I${includedir}/efl-cxx-@VMAJ@

-- 




[EGIT] [core/efl] master 06/29: autotools: Fix Eina++ example.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 2283d3d258fb49a5294b4a2e4c9095ae0a4137eb
Author: Savio Sena 
Date:   Wed Sep 3 15:06:30 2014 -0300

autotools: Fix Eina++ example.

Added missing source file.
Removed unused EXTRA_DIST.
Fixed some paths used in install-examples and uninstall-local rules.
---
 src/examples/eina_cxx/Makefile.am | 11 +--
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/examples/eina_cxx/Makefile.am 
b/src/examples/eina_cxx/Makefile.am
index 85239b3..f3ab056 100644
--- a/src/examples/eina_cxx/Makefile.am
+++ b/src/examples/eina_cxx/Makefile.am
@@ -8,7 +8,8 @@ AM_CXXFLAGS = \
 LDADD = $(top_builddir)/src/lib/eina/libeina.la @EINA_LDFLAGS@ 
@EFL_PTHREAD_LIBS@
 
 SRCS = \
-eina_cxx_list_01.cc
+eina_cxx_list_01.cc \
+eina_cxx_thread_01.cc
 
 EXTRA_PROGRAMS = \
 eina_cxx_list_01 \
@@ -20,20 +21,18 @@ eina_cxx_list_01.cc
 eina_cxx_thread_01_SOURCES = \
 eina_cxx_thread_01.cc
 
-EXTRA_DIST = $(DATA_FILES)
-
 examples: $(EXTRA_PROGRAMS)
 
 clean-local:
rm -f $(EXTRA_PROGRAMS)
 
 install-examples:
-   mkdir -p $(datadir)/eina/examples
-   cd $(srcdir) && $(install_sh_DATA) -c $(SRCS) $(DATA_FILES) 
$(datadir)/eina/examples
+   mkdir -p $(datadir)/eina_cxx/examples
+   cd $(srcdir) && $(install_sh_DATA) -c $(SRCS) $(DATA_FILES) 
$(datadir)/eina_cxx/examples
 
 uninstall-local:
for f in $(SRCS) $(DATA_FILES); do \
- rm -f $(datadir)/eina/examples/$$f ; \
+ rm -f $(datadir)/eina_cxx/examples/$$f ; \
done
 
 if ALWAYS_BUILD_EXAMPLES

-- 




[EGIT] [core/efl] master 16/29: autotools: Renamed EOS variable in the Makefiles uniquely.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit becdaf89c860b153214b9367b406f050c7a164db
Author: Savio Sena 
Date:   Fri Sep 12 16:07:34 2014 -0300

autotools: Renamed EOS variable in the Makefiles uniquely.

EOS in Makefile_Efl.am becomes EFL_EOS.
EOS in examples/eolian_cxx/Makefile.am becomes ECXX_EXAMPLE_EOS.
---
 src/Makefile_Efl.am | 16 +---
 src/examples/eolian_cxx/Makefile.am |  6 +++---
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index 508c694..b6ec7e3 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -1,21 +1,23 @@
-EOS = \
-   lib/efl/interfaces/efl_control.eo \
+EFL_EOS = \
+  lib/efl/interfaces/efl_control.eo \
   lib/efl/interfaces/efl_file.eo \
   lib/efl/interfaces/efl_image.eo \
   lib/efl/interfaces/efl_player.eo \
   lib/efl/interfaces/efl_text.eo \
   lib/efl/interfaces/efl_text_properties.eo
 
-EOS_H = $(EOS:%.eo=%.eo.h)
-EOS_C = $(EOS:%.eo=%.eo.c)
+EFL_EOS_H = $(EFL_EOS:%.eo=%.eo.h)
+EFL_EOS_C = $(EFL_EOS:%.eo=%.eo.c)
 
+BUILT_SOURCES += $(EFL_EOS_C) $(EFL_EOS_H)
 EXTRA_DIST += \
   ${efleolianfiles_DATA} \
   lib/efl/Efl_Config.h \
-  lib/efl/Efl.h
+  lib/efl/Efl.h \
+  $(EFL_EOS)
 
 efleolianfilesdir = $(datadir)/eolian/include/efl-@VMAJ@
-efleolianfiles_DATA = $(EOS)
+efleolianfiles_DATA = $(EFL_EOS)
 
 lib_LTLIBRARIES += lib/efl/libefl.la
 
@@ -31,4 +33,4 @@ dist_installed_eflheaders_DATA = \
   lib/efl/Efl.h
 
 installed_eflinterfacesdir = $(includedir)/efl-@VMAJ@/interfaces
-nodist_installed_eflinterfaces_DATA = $(EOS_H)
+nodist_installed_eflinterfaces_DATA = $(EFL_EOS_H)
diff --git a/src/examples/eolian_cxx/Makefile.am 
b/src/examples/eolian_cxx/Makefile.am
index 3a79db6..a434aa5 100644
--- a/src/examples/eolian_cxx/Makefile.am
+++ b/src/examples/eolian_cxx/Makefile.am
@@ -69,7 +69,7 @@ GENERATED = \
 BUILT_SOURCES = $(GENERATED)
 CLEANFILES += $(BUILT_SOURCES)
 
-EOS = \
+ECXX_EXAMPLE_EOS = \
colourable.eo \
colourablesquare.eo
 
@@ -97,7 +97,7 @@ EXTRA_PROGRAMS = \
eolian_cxx_eo_events_01 \
eolian_cxx_complex_types_01
 
-DATA_FILES = Makefile.examples $(EOS)
+DATA_FILES = Makefile.examples $(ECXX_EXAMPLE_EOS)
 EXTRA_DIST = $(DATA_FILES)
 
 eolian_cxx_simple_01_SOURCES = \
@@ -137,7 +137,7 @@ eolian_cxx_complex_types_01_SOURCES = 
eolian_cxx_complex_types_01.cc
 %.eo.h: %.eo
$(AM_V_EOL)$(EOLIAN_GEN) --eo $(EOLIAN_FLAGS) --gh -o $@ $<
 
-examples: $(EOS) $(GENERATED) $(EXTRA_PROGRAMS)
+examples: $(ECXX_EXAMPLE_EOS) $(GENERATED) $(EXTRA_PROGRAMS)
 
 clean-local:
rm -f $(EXTRA_PROGRAMS) $(GENERATED)

-- 




[EGIT] [core/efl] master 15/29: autotools/tests: Force generation of .eo.{c, h} in Eolian tests.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 24ac9a223d6a5f83e6b9b1af28e0322a4f3f1e94
Author: Savio Sena 
Date:   Fri Sep 12 16:06:37 2014 -0300

autotools/tests: Force generation of .eo.{c,h} in Eolian tests.
---
 src/Makefile_Eolian.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index 6bf7fd1..0cdfaa1 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -118,6 +118,7 @@ TESTS += tests/eolian/eolian_suite
 
 tests_eolian_eolian_suite_LDADD = @CHECK_LIBS@ @USE_EOLIAN_LIBS@
 tests_eolian_eolian_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@
+tests_eolian_eolian_suite.$(OBJEXT): $(EOLIAN_TESTS_EOS_GENERATED)
 
 endif
 

-- 




[EGIT] [core/efl] master 04/29: autotools: Fix Eo++ Eolian++ and Evas++ pkg-config files.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit e947632ffbc49f068fd12c54df5f86d963f67ca6
Author: Savio Sena 
Date:   Wed Sep 3 15:00:19 2014 -0300

autotools: Fix Eo++ Eolian++ and Evas++ pkg-config files.
---
 pc/eo-cxx.pc.in | 4 
 pc/eolian-cxx.pc.in | 8 +---
 pc/evas-cxx.pc.in   | 4 ++--
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/pc/eo-cxx.pc.in b/pc/eo-cxx.pc.in
index a44e7f9..22d680d 100644
--- a/pc/eo-cxx.pc.in
+++ b/pc/eo-cxx.pc.in
@@ -2,6 +2,10 @@ prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+datarootdir=@datarootdir@
+datadir=@datadir@
+eoincludedir=@datadir@/eolian/include
+eolian_flags=-I${eoincludedir}/eo-@VMAJ@
 
 Name: Eo C++
 Description: C++ bindings for EFL's generic object system.
diff --git a/pc/eolian-cxx.pc.in b/pc/eolian-cxx.pc.in
index 1dad9f2..8c5a72a 100644
--- a/pc/eolian-cxx.pc.in
+++ b/pc/eolian-cxx.pc.in
@@ -2,11 +2,13 @@ prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+datarootdir=@datarootdir@
+datadir=@datadir@
 
-Name: Eolian C++
+Name: Eolian++
 Description: EFL's C++ bindings generator.
 Version: @VERSION@
-Require.private: @requirements_pc_eolian_cxx@ 
+Require.private: @requirements_pc_eolian@
 Libs: -L${libdir} 
-Libs.private: @requirements_libs_eolian_cxx@ 
+Libs.private: @requirements_libs_eolian@ 
 Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/eolian-cxx-@VMAJ@ 
diff --git a/pc/evas-cxx.pc.in b/pc/evas-cxx.pc.in
index e9525e9..2953c4e 100644
--- a/pc/evas-cxx.pc.in
+++ b/pc/evas-cxx.pc.in
@@ -5,10 +5,10 @@ includedir=@includedir@
 datarootdir=@datarootdir@
 datadir=@datadir@
 eoincludedir=@datadir@/eolian/include
-eolian_flags=-I${eoincludedir}/evas-cxx-@VMAJ@
+eolian_flags=-I${eoincludedir}/evas-@VMAJ@
 
 Name: evas
-Description: Evas C++ Bindings
+Description: Evas C++ bindings
 Requires.private: @requirements_pc_evas@
 Version: @VERSION@
 Libs: -L${libdir} -levas

-- 




[EGIT] [core/efl] master 17/29: eina-cxx: Added EFL_CXX_NO_EXCEPTIONS flag.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit b2d8a216f1c7d9068b1ee41cc500ee93ce2f7057
Author: Savio Sena 
Date:   Fri Sep 12 16:09:28 2014 -0300

eina-cxx: Added EFL_CXX_NO_EXCEPTIONS flag.

This flag allows one to compile Eina++ replacing C++ exceptions with a
call to abort().

Please use EFL_CXX_THROW() macro instead of C++ throw() from now on.
---
 src/bindings/eina_cxx/Eina.hh |  6 ++
 src/bindings/eina_cxx/eina_accessor.hh|  4 ++--
 src/bindings/eina_cxx/eina_error.hh   |  6 +++---
 src/bindings/eina_cxx/eina_ptrlist.hh | 22 +++---
 src/bindings/eina_cxx/eina_stringshare.hh |  2 +-
 src/bindings/eina_cxx/eina_thread.hh  | 26 +++---
 src/bindings/eina_cxx/eina_value.hh   | 13 +
 7 files changed, 47 insertions(+), 32 deletions(-)

diff --git a/src/bindings/eina_cxx/Eina.hh b/src/bindings/eina_cxx/Eina.hh
index ffc6e49..1633815 100644
--- a/src/bindings/eina_cxx/Eina.hh
+++ b/src/bindings/eina_cxx/Eina.hh
@@ -1,6 +1,12 @@
 #ifndef EINA_HH_
 #define EINA_HH_
 
+#if defined ( EFL_CXX_NO_EXCEPTIONS )
+# define EFL_CXX_THROW(x)std::abort()
+#else
+# define EFL_CXX_THROW(x)throw (x)
+#endif
+
 /**
  * @file
  * @brief Eina C++
diff --git a/src/bindings/eina_cxx/eina_accessor.hh 
b/src/bindings/eina_cxx/eina_accessor.hh
index 22b4841..5d9a9c3 100644
--- a/src/bindings/eina_cxx/eina_accessor.hh
+++ b/src/bindings/eina_cxx/eina_accessor.hh
@@ -90,7 +90,7 @@ struct accessor
 eina_accessor_free(_impl);
 _impl = eina_accessor_clone(other._impl);
 if(!_impl)
-  throw eina::system_error(efl::eina::get_error_code(), "Error cloning 
accessor");
+   EFL_CXX_THROW(eina::system_error(efl::eina::get_error_code(), "Error 
cloning accessor"));
 return *this;
   }
 
@@ -119,7 +119,7 @@ struct accessor
 if(!eina_accessor_data_get(_impl, i, &p))
   {
 eina::error_code ec = efl::eina::get_error_code();
-throw eina::system_error(ec, "EFL Eina Error");
+EFL_CXX_THROW(eina::system_error(ec, "EFL Eina Error"));
   }
 return *static_cast(p);
   }
diff --git a/src/bindings/eina_cxx/eina_error.hh 
b/src/bindings/eina_cxx/eina_error.hh
index d2718ca..9acfe26 100644
--- a/src/bindings/eina_cxx/eina_error.hh
+++ b/src/bindings/eina_cxx/eina_error.hh
@@ -238,9 +238,9 @@ inline void throw_on_error()
 {
   eina::error_code ec = get_error_code();
   if(ec)
-  {
-throw eina::system_error(ec, "EFL Eina Error");
-  }
+{
+   EFL_CXX_THROW(eina::system_error(ec, "EFL Eina Error"));
+}
 }
 
 /**
diff --git a/src/bindings/eina_cxx/eina_ptrlist.hh 
b/src/bindings/eina_cxx/eina_ptrlist.hh
index 42a930f..00a59a5 100644
--- a/src/bindings/eina_cxx/eina_ptrlist.hh
+++ b/src/bindings/eina_cxx/eina_ptrlist.hh
@@ -616,12 +616,12 @@ public:
   {
 Eina_List* new_list = eina_list_append(this->_impl._list, p.get());
 if(new_list)
-{
-  this->_impl._list = new_list;
-  p.release();
-}
+  {
+ this->_impl._list = new_list;
+ p.release();
+  }
 else
-  throw std::bad_alloc();
+   EFL_CXX_THROW(std::bad_alloc());
   }
 
   /**
@@ -669,12 +669,12 @@ public:
   {
 Eina_List* new_list = eina_list_prepend(this->_impl._list, p.get());
 if(new_list)
-{
-  this->_impl._list = new_list;
-  p.release();
-}
+  {
+ this->_impl._list = new_list;
+ p.release();
+  }
 else
-  throw std::bad_alloc();
+   EFL_CXX_THROW(std::bad_alloc());
   }
 
   /**
@@ -759,7 +759,7 @@ public:
 if(this->_impl._list)
   p.release();
 else
-  throw std::bad_alloc();
+   EFL_CXX_THROW(std::bad_alloc());
 return iterator(this->_impl._list
 , i.native_handle()
 ? ::eina_list_prev(i.native_handle())
diff --git a/src/bindings/eina_cxx/eina_stringshare.hh 
b/src/bindings/eina_cxx/eina_stringshare.hh
index 233c6f3..ffdde73 100644
--- a/src/bindings/eina_cxx/eina_stringshare.hh
+++ b/src/bindings/eina_cxx/eina_stringshare.hh
@@ -384,7 +384,7 @@ struct stringshare
 if(i < size())
   return (*this)[i];
 else
-  throw std::out_of_range("");
+   EFL_CXX_THROW(std::out_of_range(""));
   }
 
   /**
diff --git a/src/bindings/eina_cxx/eina_thread.hh 
b/src/bindings/eina_cxx/eina_thread.hh
index 4cf7e90..ad851ba 100644
--- a/src/bindings/eina_cxx/eina_thread.hh
+++ b/src/bindings/eina_cxx/eina_thread.hh
@@ -88,10 +88,10 @@ struct mutex
   case EINA_LOCK_SUCCEED:
 return;
   case EINA_LOCK_DEADLOCK:
-throw 
system_error(error_code(int(eina::errc::resource_deadlock_would_occur)
-  , get_generic_category()));
+
EFL_CXX_THROW(system_error(error_code(int(eina::errc::resource_deadlock_would_occur),
 
+  get_generic_categor

[EGIT] [core/efl] master 29/29: tests/eolian: Added unit tests for eolian_function_is_constructor().

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit cbc63850267d710c6f9bc21d72b50d07655a
Author: Savio Sena 
Date:   Fri Sep 12 17:09:48 2014 -0300

tests/eolian: Added unit tests for eolian_function_is_constructor().
---
 src/tests/eolian/eolian_parsing.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/tests/eolian/eolian_parsing.c 
b/src/tests/eolian/eolian_parsing.c
index 09127e0..6fa99bb 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -290,11 +290,15 @@ START_TEST(eolian_ctor_dtor)
fail_if(!(impl_func = eolian_implement_function_get(impl, NULL)));
fail_if(impl_class != base);
fail_if(strcmp(eolian_function_name_get(impl_func), "constructor"));
+   fail_if(!eolian_function_is_constructor(impl_func, base));
+   fail_if(!eolian_function_is_constructor(impl_func, class));
fail_if(!(eina_iterator_next(iter, (void**)&impl)));
fail_if(!(impl_class = eolian_implement_class_get(impl)));
fail_if(!(impl_func = eolian_implement_function_get(impl, NULL)));
fail_if(impl_class != base);
fail_if(strcmp(eolian_function_name_get(impl_func), "destructor"));
+   fail_if(eolian_function_is_constructor(impl_func, base));
+   fail_if(eolian_function_is_constructor(impl_func, class));
eina_iterator_free(iter);
 
/* Custom ctors/dtors */
@@ -305,11 +309,15 @@ START_TEST(eolian_ctor_dtor)
fail_if(!(impl_func = eolian_constructor_function_get(ctor)));
fail_if(impl_class != class);
fail_if(strcmp(eolian_function_name_get(impl_func), 
"custom_constructor_1"));
+   fail_if(!eolian_function_is_constructor(impl_func, class));
+   fail_if(eolian_function_is_constructor(impl_func, base));
fail_if(!(eina_iterator_next(iter, (void**)&ctor)));
fail_if(!(impl_class = eolian_constructor_class_get(ctor)));
fail_if(!(impl_func = eolian_constructor_function_get(ctor)));
fail_if(impl_class != class);
fail_if(strcmp(eolian_function_name_get(impl_func), 
"custom_constructor_2"));
+   fail_if(!eolian_function_is_constructor(impl_func, class));
+   fail_if(eolian_function_is_constructor(impl_func, base));
fail_if(eina_iterator_next(iter, &dummy));
eina_iterator_free(iter);
 

-- 




[EGIT] [core/efl] master 10/29: eolian-cxx: Include Efl.h in generated headers.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit ab43773a43c325ac089386aa8d1cae8402299fa4
Author: Savio Sena 
Date:   Wed Sep 3 15:24:54 2014 -0300

eolian-cxx: Include Efl.h in generated headers.
---
 src/lib/eolian_cxx/grammar/eo_header_generator.hh | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian_cxx/grammar/eo_header_generator.hh 
b/src/lib/eolian_cxx/grammar/eo_header_generator.hh
index 3228f03..36ce432 100644
--- a/src/lib/eolian_cxx/grammar/eo_header_generator.hh
+++ b/src/lib/eolian_cxx/grammar/eo_header_generator.hh
@@ -101,7 +101,7 @@ namespace_head(std::ostream& out, eo_class const& cls)
  out << "namespace " << ns.substr(0, pos) << " { ";
  ns.erase(0, pos+2);
   }
-out << "namespace " << ns << " { " << endl << endl;
+out << "namespace " << ns << " {" << endl << endl;
  }
 }
 
@@ -126,7 +126,11 @@ include_headers(std::ostream& out,
 eo_class const& cls EINA_UNUSED,
 eo_generator_options const& opts)
 {
-   out << "#include " << endl << endl
+   out << "extern \"C\"" << endl
+   << "{" << endl
+   << "#include " << endl
+   << "}" << endl
+   << "#include " << endl << endl
<< "#include " << endl << endl
<< "extern \"C\"" << endl
<< "{" << endl;

-- 




[EGIT] [core/efl] master 23/29: eolian-cxx: Added wrappers to handle Eolian_Constructor.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 5a7d60cb778cb21d1d94d71a277feffa2c467473
Author: Savio Sena 
Date:   Fri Sep 12 16:47:07 2014 -0300

eolian-cxx: Added wrappers to handle Eolian_Constructor.
---
 src/bin/eolian_cxx/eolian_wrappers.hh | 19 +--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index 726f715..b4145d1 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -153,8 +153,12 @@ class_list_all()
return efl::eina::iterator(::eolian_all_classes_get());
 }
 
-
-
+inline Eolian_Function const&
+constructor_function(Eolian_Constructor const& ctor)
+{
+   assert(!!::eolian_constructor_function_get(&ctor));
+   return * ::eolian_constructor_function_get(&ctor);
+}
 
 inline efl::eina::iterator
 functions_get(Eolian_Class const& cls)
@@ -194,6 +198,17 @@ function_type(Eolian_Function const& func)
  : efl::eolian::eo_function::regular_
  ;
 }
+inline bool
+function_is_visible(Eolian_Constructor const& ctor_)
+{
+   Eolian_Function const* func = ::eolian_constructor_function_get(&ctor_);
+   Eolian_Class const* cls = ::eolian_constructor_class_get(&ctor_);
+   assert(::eolian_class_ctor_enable_get(cls));
+   assert(!!cls);
+   assert(!!func);
+   return function_is_visible(*func, method_t::value);
+}
+
 inline efl::eolian::eolian_type_instance
 function_return_type(Eolian_Function const& func, Eolian_Function_Type 
func_type = method_t::value)
 {

-- 




[EGIT] [core/efl] master 12/29: efl: Add ifdef __cpluplus guards to Efl.h

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 1e2caa5572c7704d6593e56aac9e65cb80da7c5b
Author: Savio Sena 
Date:   Fri Sep 12 15:56:09 2014 -0300

efl: Add ifdef __cpluplus guards to Efl.h
---
 src/lib/efl/Efl.h | 9 +
 1 file changed, 9 insertions(+)

diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index 10a71ce..44a4288 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -1,6 +1,11 @@
 #ifndef _EFL_H
 #define _EFL_H
 
+#if defined ( __cplusplus )
+extern "C"
+{
+#endif
+
 #include 
 
 #ifdef EAPI
@@ -37,4 +42,8 @@
 #include "interfaces/efl_text.eo.h"
 #include "interfaces/efl_text_properties.eo.h"
 
+#if defined ( __cplusplus )
+}
+#endif
+
 #endif

-- 




[EGIT] [core/efl] master 03/29: autotools: Add -I$(srcdir)/lib/efl to Makefile_Efl.am.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 6fe07fb75cd36c09b20a17c0cd858bb329eacc35
Author: Savio Sena 
Date:   Wed Sep 3 14:58:04 2014 -0300

autotools: Add -I$(srcdir)/lib/efl to Makefile_Efl.am.

Also simplified it by adding $EOS variable.
---
 src/Makefile_Efl.am | 47 +++
 1 file changed, 15 insertions(+), 32 deletions(-)

diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index 3b0298f..508c694 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -1,37 +1,26 @@
-BUILT_SOURCES += \
- lib/efl/interfaces/efl_control.eo.c \
- lib/efl/interfaces/efl_control.eo.h \
- lib/efl/interfaces/efl_file.eo.c \
- lib/efl/interfaces/efl_file.eo.h \
- lib/efl/interfaces/efl_image.eo.c \
- lib/efl/interfaces/efl_image.eo.h \
- lib/efl/interfaces/efl_player.eo.c \
- lib/efl/interfaces/efl_player.eo.h \
- lib/efl/interfaces/efl_text.eo.c \
- lib/efl/interfaces/efl_text.eo.h \
- lib/efl/interfaces/efl_text_properties.eo.c \
- lib/efl/interfaces/efl_text_properties.eo.h
+EOS = \
+   lib/efl/interfaces/efl_control.eo \
+  lib/efl/interfaces/efl_file.eo \
+  lib/efl/interfaces/efl_image.eo \
+  lib/efl/interfaces/efl_player.eo \
+  lib/efl/interfaces/efl_text.eo \
+  lib/efl/interfaces/efl_text_properties.eo
 
-efleolianfilesdir = $(datadir)/eolian/include/efl-@VMAJ@
-efleolianfiles_DATA = \
-  lib/efl/interfaces/efl_control.eo \
-  lib/efl/interfaces/efl_file.eo \
-  lib/efl/interfaces/efl_image.eo \
-  lib/efl/interfaces/efl_player.eo \
-  lib/efl/interfaces/efl_text.eo \
-  lib/efl/interfaces/efl_text_properties.eo
+EOS_H = $(EOS:%.eo=%.eo.h)
+EOS_C = $(EOS:%.eo=%.eo.c)
 
 EXTRA_DIST += \
   ${efleolianfiles_DATA} \
   lib/efl/Efl_Config.h \
   lib/efl/Efl.h
 
-lib_LTLIBRARIES += lib/efl/libefl.la
+efleolianfilesdir = $(datadir)/eolian/include/efl-@VMAJ@
+efleolianfiles_DATA = $(EOS)
 
-lib_efl_libefl_la_SOURCES = \
-  lib/efl/interfaces/efl_interfaces_main.c
+lib_LTLIBRARIES += lib/efl/libefl.la
 
-lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EFL_CFLAGS@
+lib_efl_libefl_la_SOURCES = lib/efl/interfaces/efl_interfaces_main.c
+lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl 
-I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@
 lib_efl_libefl_la_LIBADD = @EFL_LIBS@
 lib_efl_libefl_la_DEPENDENCIES = @EFL_INTERNAL_LIBS@
 lib_efl_libefl_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
@@ -42,10 +31,4 @@ dist_installed_eflheaders_DATA = \
   lib/efl/Efl.h
 
 installed_eflinterfacesdir = $(includedir)/efl-@VMAJ@/interfaces
-nodist_installed_eflinterfaces_DATA = \
-  lib/efl/interfaces/efl_control.eo.h \
-  lib/efl/interfaces/efl_file.eo.h \
-  lib/efl/interfaces/efl_image.eo.h \
-  lib/efl/interfaces/efl_player.eo.h \
-  lib/efl/interfaces/efl_text.eo.h \
-  lib/efl/interfaces/efl_text_properties.eo.h
+nodist_installed_eflinterfaces_DATA = $(EOS_H)

-- 




[EGIT] [core/efl] master 20/29: eolian-cxx: Simply use find_replace instead of long form.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 3c900530911b8fb283201d323039e81b9f4390cd
Author: Savio Sena 
Date:   Fri Sep 12 16:41:33 2014 -0300

eolian-cxx: Simply use find_replace instead of long form.
---
 src/bin/eolian_cxx/eolian_wrappers.hh | 9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index 6144f9d..1a90c86 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -84,13 +84,8 @@ class_eo_name(Eolian_Class const& klass)
 default:
break;
  }
-   std::string s = class_full_name(klass) + "_" + suffix;
-   std::transform(s.begin(), s.end(), s.begin(),
-  [](int c)
-  {
- return c == '.' ? '_' : c ;
-  });
-   return safe_upper(s);
+   return safe_upper
+ (find_replace(class_full_name(klass) + "_" + suffix, ".", "_"));
 }
 
 inline std::string

-- 




[EGIT] [core/efl] master 09/29: eolian-cxx: Fix generated code indentation.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 916ddb46b868bbdc8036d81671364ee191ecc889
Author: Savio Sena 
Date:   Wed Sep 3 15:24:09 2014 -0300

eolian-cxx: Fix generated code indentation.
---
 src/lib/eolian_cxx/grammar/eo_class_events_generator.hh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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 fe9184d..596bb8b 100644
--- a/src/lib/eolian_cxx/grammar/eo_class_events_generator.hh
+++ b/src/lib/eolian_cxx/grammar/eo_class_events_generator.hh
@@ -45,8 +45,8 @@ operator<<(std::ostream& out, event_callback_add const& x)
out << tab(1) << "template " << endl
<< tab(1) << "::efl::eo::signal_connection" << endl
<< tab(1) << "callback_" << x._event.name << "_add(F && callback_," << 
endl
-   << tab(11) << "::efl::eo::callback_priority priority_ =" << endl
-   << tab(11) << "::efl::eo::callback_priorities::default_)" << endl
+   << tab(8) << "::efl::eo::callback_priority priority_ =" << endl
+   << tab(8) << "::efl::eo::callback_priorities::default_)" << endl
<< tab(1) << "{" << 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

-- 




[EGIT] [core/efl] master 02/29: autotools: Fix 'make distcheck'.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 4341c8a4373fbfeb1a1879b25ca4a496ae214d85
Author: Savio Sena 
Date:   Wed Sep 3 14:56:40 2014 -0300

autotools: Fix 'make distcheck'.

doc/preview/Makefile.am must include $(srcdir)/lib/efl/ to be able to
find Efl.h.
---
 doc/previews/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/doc/previews/Makefile.am b/doc/previews/Makefile.am
index 2303656..ac488d9 100644
--- a/doc/previews/Makefile.am
+++ b/doc/previews/Makefile.am
@@ -4,6 +4,7 @@ if EFL_BUILD_DOC
 .PHONY: doc
 
 AM_CPPFLAGS = \
+-I$(top_srcdir)/src/lib/efl \
 -I$(top_builddir)/src/lib/efl \
 -I$(top_srcdir)/src/lib/efl \
 -I. \

-- 




[EGIT] [core/efl] master 21/29: eolian-cxx: Refactored Eolian_Function functions

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit aef69a6a9144b982a02c70570e876db44bee016d
Author: Savio Sena 
Date:   Fri Sep 12 16:42:51 2014 -0300

eolian-cxx: Refactored Eolian_Function functions

Renamed function_type to function_op_type and added function_type with
new semantics of returning if function is either regular or
class-function.
---
 src/bin/eolian_cxx/eolian_wrappers.hh | 22 --
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index 1a90c86..1eec82b 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -181,11 +181,19 @@ function_impl(Eolian_Function const& func, std::string 
const& prefix)
 }
 
 inline Eolian_Function_Type
-function_type(Eolian_Function const& func)
+function_op_type(Eolian_Function const& func)
 {
return ::eolian_function_type_get(&func);
 }
 
+inline efl::eolian::eo_function::eo_function_type
+function_type(Eolian_Function const& func)
+{
+   return ::eolian_function_is_class(&func)
+ ? efl::eolian::eo_function::class_
+ : efl::eolian::eo_function::regular_
+ ;
+}
 inline efl::eolian::eolian_type_instance
 function_return_type(Eolian_Function const& func, Eolian_Function_Type 
func_type = method_t::value)
 {
@@ -210,12 +218,6 @@ function_return_type(Eolian_Function const& func, method_t 
func_type)
return function_return_type(func, func_type.value);
 }
 
-inline efl::eolian::eolian_type_instance
-function_return_type(Eolian_Function const& func, ctor_t func_type)
-{
-   return function_return_type(func, func_type.value);
-}
-
 inline bool
 function_return_is_explicit_void(Eolian_Function const& func, getter_t 
func_type)
 {
@@ -236,7 +238,7 @@ property_is_getter(Eolian_Function_Type func_type)
 inline bool
 property_is_getter(Eolian_Function const& func)
 {
-   return property_is_getter(function_type(func));
+   return property_is_getter(function_op_type(func));
 }
 
 inline bool
@@ -248,7 +250,7 @@ property_is_setter(Eolian_Function_Type func_type)
 inline bool
 property_is_setter(Eolian_Function const& func)
 {
-   return property_is_setter(function_type(func));
+   return property_is_setter(function_op_type(func));
 }
 
 inline std::string
@@ -292,7 +294,7 @@ inline bool
 parameter_is_const(Eolian_Function_Parameter const& parameter,
Eolian_Function const& func)
 {
-   assert(function_type(func) != EOLIAN_PROPERTY);
+   assert(function_op_type(func) != EOLIAN_PROPERTY);
return ::eolian_parameter_const_attribute_get
  (¶meter, property_is_getter(func));
 }

-- 




[EGIT] [core/efl] master 08/29: examples: Fix include file name in Eolian-CXX examples..

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 2192ecee3f63c1424ef1a551a4afe8d1c1ff1d13
Author: Savio Sena 
Date:   Wed Sep 3 15:13:38 2014 -0300

examples: Fix include file name in Eolian-CXX examples..

ecore_poll.eo.hh -> ecore_poller.eo.hh
---
 src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc 
b/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc
index 58377fe..2c64784 100644
--- a/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc
+++ b/src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc
@@ -17,7 +17,7 @@
 #include 
 #include 
 
-#include 
+#include 
 
 namespace efl { namespace ecore {
 using ::ecore::poller;

-- 




[EGIT] [core/efl] master 19/29: eolian-cxx: Clean-up.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 8722d2b9a5480e5eec518db3e949487fe42a130c
Author: Savio Sena 
Date:   Fri Sep 12 16:39:47 2014 -0300

eolian-cxx: Clean-up.

Removed iterator_iterator, unused functions and reworded comments.
---
 src/bin/eolian_cxx/eolian_wrappers.hh | 38 ---
 1 file changed, 13 insertions(+), 25 deletions(-)

diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh 
b/src/bin/eolian_cxx/eolian_wrappers.hh
index fc8e808..6144f9d 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -25,10 +25,6 @@ getter_t const getter = {};
 struct method_t { static constexpr ::Eolian_Function_Type value = 
::EOLIAN_METHOD; };
 method_t const method = {};
 
-/* fixme */
-struct ctor_t { static constexpr ::Eolian_Function_Type value = 
::EOLIAN_METHOD; };
-ctor_t const ctor = {};
-
 inline const Eolian_Class*
 class_from_file(std::string const& file)
 {
@@ -156,30 +152,22 @@ class_namespace_full(Eolian_Class const& klass)
return safe_lower(s);
 }
 
-/* proxy struct for neater iteration */
-template
-struct iterator_iterator
+inline efl::eina::iterator
+class_list_all()
 {
-   iterator_iterator(Eina_Iterator *iter): p_iter(iter) {}
+   return efl::eina::iterator(::eolian_all_classes_get());
+}
 
-   efl::eina::iterator begin()
-   {
-  return efl::eina::iterator(p_iter);
-   }
 
-   efl::eina::iterator end()
-   {
-  return efl::eina::iterator();
-   }
 
-private:
-   Eina_Iterator *p_iter;
-};
 
-inline iterator_iterator
-class_list_all()
+inline efl::eina::iterator
+functions_get(Eolian_Class const& cls)
 {
-   return iterator_iterator(::eolian_all_classes_get());
+   Eina_Iterator *itr = ::eolian_class_functions_get(&cls, EOLIAN_METHOD); // 
XXX
+   return itr
+ ? efl::eina::iterator(itr)
+ : efl::eina::iterator();
 }
 
 inline std::string
@@ -236,9 +224,9 @@ function_return_type(Eolian_Function const& func, ctor_t 
func_type)
 inline bool
 function_return_is_explicit_void(Eolian_Function const& func, getter_t 
func_type)
 {
-   // XXX This function shouldn't be necessary. Eolian database should
-   // forge functions as desired and the bindings generator shouldn't
-   // be required to convert and understand this.
+   // XXX This function shouldn't exist. Eolian should
+   // forge functions a priori. Bindings generators
+   // shouldn't be required to convert such thing.
Eolian_Type const* type =
  ::eolian_function_return_type_get(&func, func_type.value);
return !!type && type->type == EOLIAN_TYPE_VOID;

-- 




[EGIT] [core/efl] master 11/29: eina-cxx: Removed unecessary eo_refs.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 7578dd4a559912c91b340da55405fcf0d8e297d2
Author: Savio Sena 
Date:   Wed Sep 3 15:26:37 2014 -0300

eina-cxx: Removed unecessary eo_refs.

eo_clone_allocator already handles that.
---
 src/bindings/eina_cxx/eina_list.hh | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/bindings/eina_cxx/eina_list.hh 
b/src/bindings/eina_cxx/eina_list.hh
index d0a856e..1a7aafb 100644
--- a/src/bindings/eina_cxx/eina_list.hh
+++ b/src/bindings/eina_cxx/eina_list.hh
@@ -286,7 +286,7 @@ public:
   }
   list& operator=(list&& other) = default;
   list(list&& other) = default;
-  
+
   using _base_type::clear;
   using _base_type::size;
   using _base_type::empty;
@@ -296,19 +296,19 @@ public:
 
   void push_back(const_reference w)
   {
-this->_base_type::push_back(* ::eo_ref(w._eo_ptr()));
+this->_base_type::push_back(* w._eo_ptr());
   }
   void push_front(const_reference w)
   {
-this->_base_type::push_front(* ::eo_ref(w._eo_ptr()));
+this->_base_type::push_front(* w._eo_ptr());
   }
   iterator insert(iterator i, const_reference v)
   {
-return this->_base_type::insert(i, * ::eo_ref(v._eo_ptr()));
+return this->_base_type::insert(i, * v._eo_ptr());
   }
   iterator insert(iterator i, size_t n, const_reference v)
   {
-return this->_base_type::insert(i, n, * ::eo_ref(v._eo_ptr()));
+return this->_base_type::insert(i, n, * v._eo_ptr());
   }
   template 
   iterator insert(iterator p, InputIterator i, InputIterator j

-- 




[EGIT] [core/efl] master 05/29: autotools: Generate Evas-3D C++ bindings.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 8b4544fe637850e17238128cd28f04438240ca02
Author: Savio Sena 
Date:   Wed Sep 3 15:03:43 2014 -0300

autotools: Generate Evas-3D C++ bindings.
---
 src/Makefile_Evas_Cxx.am | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/Makefile_Evas_Cxx.am b/src/Makefile_Evas_Cxx.am
index 957ae73..59e0d35 100644
--- a/src/Makefile_Evas_Cxx.am
+++ b/src/Makefile_Evas_Cxx.am
@@ -25,7 +25,15 @@ lib/evas/canvas/evas_clickable_interface.eo.hh \
 lib/evas/canvas/evas_scrollable_interface.eo.hh \
 lib/evas/canvas/evas_selectable_interface.eo.hh \
 lib/evas/canvas/evas_zoomable_interface.eo.hh \
-lib/evas/canvas/evas_box.eo.hh
+lib/evas/canvas/evas_box.eo.hh \
+lib/evas/canvas/evas_3d_camera.eo.hh \
+lib/evas/canvas/evas_3d_light.eo.hh \
+lib/evas/canvas/evas_3d_material.eo.hh \
+lib/evas/canvas/evas_3d_mesh.eo.hh \
+lib/evas/canvas/evas_3d_node.eo.hh \
+lib/evas/canvas/evas_3d_object.eo.hh \
+lib/evas/canvas/evas_3d_scene.eo.hh \
+lib/evas/canvas/evas_3d_texture.eo.hh
 
 lib/evas/Evas.hh: $(generated_evas_canvas_cxx_bindings)
@echo @ECHO_E@ "#ifndef EFL_CXX_EVAS_HH\n#define EFL_CXX_EVAS_HH\n" > 
$(top_builddir)/src/lib/evas/Evas.hh

-- 




[EGIT] [core/efl] master 13/29: eo-cxx: Use new Eo API in efl::eo::inherit.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit bbb570d4db245195648374b2ddf9e02060f36a48
Author: Savio Sena 
Date:   Fri Sep 12 15:56:34 2014 -0300

eo-cxx: Use new Eo API in efl::eo::inherit.

_eo_call_resolve() now gets "is_main_loop" argument.
---
 src/bindings/eo_cxx/eo_inherit_bindings.hh | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/bindings/eo_cxx/eo_inherit_bindings.hh 
b/src/bindings/eo_cxx/eo_inherit_bindings.hh
index cffaa4d..7f7bdf9 100644
--- a/src/bindings/eo_cxx/eo_inherit_bindings.hh
+++ b/src/bindings/eo_cxx/eo_inherit_bindings.hh
@@ -241,10 +241,12 @@ EAPI void inherit_constructor(void* this_, Args args)
  op = _eo_api_op_id_get
(reinterpret_cast
 (static_cast(&detail::inherit_constructor)),
-__FILE__, __LINE__);
-   if (!_eo_call_resolve("detail::inherit_constructor", op, &call, __FILE__, 
__LINE__))
+::eina_main_loop_is(), __FILE__, __LINE__);
+   if (!_eo_call_resolve("detail::inherit_constructor", op, &call,
+ ::eina_main_loop_is(), __FILE__, __LINE__))
  {
-assert(_eo_call_resolve("detail::inherit_constructor", op, &call, 
__FILE__, __LINE__));
+assert(_eo_call_resolve("detail::inherit_constructor", op, &call,
+::eina_main_loop_is(), __FILE__, __LINE__));
 return;
  }
func_t func = (func_t) call.func;

-- 




[EGIT] [core/efl] master 18/29: eolian-cxx: Update examples syntax and fix implementation accordingly.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 1eb8967deea3962c893a0734bd9fcd50b2da7037
Author: Savio Sena 
Date:   Fri Sep 12 16:12:04 2014 -0300

eolian-cxx: Update examples syntax and fix implementation accordingly.
---
 src/examples/eolian_cxx/colourable.c|  4 ++--
 src/examples/eolian_cxx/colourable.eo   |  9 -
 src/examples/eolian_cxx/colourable_cxx.cc   |  4 ++--
 src/examples/eolian_cxx/colourable_stub.h   |  3 ++-
 src/examples/eolian_cxx/colourablesquare.eo | 12 ++--
 5 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/examples/eolian_cxx/colourable.c 
b/src/examples/eolian_cxx/colourable.c
index 5b33566..a677f64 100644
--- a/src/examples/eolian_cxx/colourable.c
+++ b/src/examples/eolian_cxx/colourable.c
@@ -27,7 +27,7 @@ struct _Colourable_Data
 typedef struct _Colourable_Data  Colourable_Data;
 
 void
-_colourable_constructor(Eo *obj, Colourable_Data *self EINA_UNUSED)
+_colourable_eo_base_constructor(Eo *obj, Colourable_Data *self EINA_UNUSED)
 {
if(!_colourable_impl_logdomain)
  {
@@ -39,7 +39,7 @@ _colourable_constructor(Eo *obj, Colourable_Data *self 
EINA_UNUSED)
 }
 
 void
-_colourable_destructor(Eo *obj, Colourable_Data *self EINA_UNUSED)
+_colourable_eo_base_destructor(Eo *obj, Colourable_Data *self EINA_UNUSED)
 {
if(_colourable_impl_logdomain)
  {
diff --git a/src/examples/eolian_cxx/colourable.eo 
b/src/examples/eolian_cxx/colourable.eo
index a262387..e0b011b 100644
--- a/src/examples/eolian_cxx/colourable.eo
+++ b/src/examples/eolian_cxx/colourable.eo
@@ -4,10 +4,6 @@ class Colourable (Eo.Base)
 legacy_prefix: legacy;
 data: Colourable_Data;
 methods {
-constructor {
-/*@ Default constructor. */
-legacy: null;
-}
 rgb_composite_constructor {
 /*@ Composite RGB Constructor. */
 legacy: null;
@@ -59,8 +55,11 @@ class Colourable (Eo.Base)
 }
 }
 }
+implements {
+Eo.Base.constructor;
+Eo.Base.destructor;
+}
 constructors {
-.constructor;
 .rgb_composite_constructor;
 .rgb_24bits_constructor;
 }
diff --git a/src/examples/eolian_cxx/colourable_cxx.cc 
b/src/examples/eolian_cxx/colourable_cxx.cc
index 8de02aa..4d9ef78 100644
--- a/src/examples/eolian_cxx/colourable_cxx.cc
+++ b/src/examples/eolian_cxx/colourable_cxx.cc
@@ -20,7 +20,7 @@ extern "C"
 static efl::eina::log_domain domain("colourable");
 
 void
-_colourable_constructor(Eo *obj, Colourable_Data *self)
+_colourable_eo_base_constructor(Eo *obj, Colourable_Data *self)
 {
EINA_CXX_DOM_LOG_DBG(domain) << __func__ << std::endl;
self->r = self->g = self->b = 0;
@@ -28,7 +28,7 @@ _colourable_constructor(Eo *obj, Colourable_Data *self)
 }
 
 void
-_colourable_destructor(Eo *obj, Colourable_Data *self EINA_UNUSED)
+_colourable_eo_base_destructor(Eo *obj, Colourable_Data *self EINA_UNUSED)
 {
EINA_CXX_DOM_LOG_DBG(domain) << __func__ << std::endl;
eo_do_super(obj, MY_CLASS, eo_destructor());
diff --git a/src/examples/eolian_cxx/colourable_stub.h 
b/src/examples/eolian_cxx/colourable_stub.h
index fbf913f..ae3ac94 100644
--- a/src/examples/eolian_cxx/colourable_stub.h
+++ b/src/examples/eolian_cxx/colourable_stub.h
@@ -13,7 +13,8 @@ struct _Colourable_Data
 };
 typedef struct _Colourable_Data  Colourable_Data;
 
-void _colourable_constructor(Eo *obj, Colourable_Data *self);
+void _colourable_eo_base_constructor(Eo *obj, Colourable_Data *self);
+void _colourable_eo_base_destructor(Eo *obj, Colourable_Data *self);
 void _colourable_rgb_composite_constructor(Eo *obj, Colourable_Data *self, int 
r, int g, int b);
 void _colourable_rgb_24bits_constructor(Eo *obj, Colourable_Data *self, int 
rgb);
 void _colourable_print_colour(Eo *obj, Colourable_Data *self);
diff --git a/src/examples/eolian_cxx/colourablesquare.eo 
b/src/examples/eolian_cxx/colourablesquare.eo
index f21f7b4..1ee4e47 100644
--- a/src/examples/eolian_cxx/colourablesquare.eo
+++ b/src/examples/eolian_cxx/colourablesquare.eo
@@ -3,12 +3,6 @@ class ColourableSquare (Colourable)
 legacy_prefix: legacy;
 data: ColourableSquare_Data;
 properties {
-   size_constructor {
-   legacy: null;
-   params {
-  @in int size;
-   }
-   }
 size {
 set {
 /*@ Sets size. */
@@ -22,6 +16,12 @@ class ColourableSquare (Colourable)
 }
 }
 methods {
+  size_constructor {
+   legacy: null;
+   params {
+  @in int size;
+   }
+   }
 size_print { /*@ Show the square. */ }
 }
 constructors {

-- 




[EGIT] [core/efl] master 27/29: eolian-cxx: Refactored eolian_cxx to cope with new Eolian API.

2014-09-12 Thread Savio Sena
savio pushed a commit to branch master.

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

commit 6500c996699e1a4ab768768ffa821ace6c3c392c
Author: Savio Sena 
Date:   Fri Sep 12 16:50:09 2014 -0300

eolian-cxx: Refactored eolian_cxx to cope with new Eolian API.
---
 src/bin/eolian_cxx/convert.cc  | 328 ++---
 src/bin/eolian_cxx/convert_comments.cc |   9 +-
 src/bin/eolian_cxx/convert_comments.hh |  21 ++-
 src/bin/eolian_cxx/eolian_cxx.cc   |   7 +-
 4 files changed, 162 insertions(+), 203 deletions(-)

diff --git a/src/bin/eolian_cxx/convert.cc b/src/bin/eolian_cxx/convert.cc
index 56f2c06..2cf8725 100644
--- a/src/bin/eolian_cxx/convert.cc
+++ b/src/bin/eolian_cxx/convert.cc
@@ -23,7 +23,7 @@ namespace eolian_cxx {
 extern efl::eina::log_domain domain;
 
 static efl::eolian::parameters_container_type
-convert_eolian_parameters(Eina_Iterator *parameters,
+_convert_eolian_parameters(Eina_Iterator *parameters,
   Eolian_Function_Type func_type)
 {
if (parameters == NULL) return {};
@@ -46,126 +46,113 @@ convert_eolian_parameters(Eina_Iterator *parameters,
 }
 
 static efl::eolian::parameters_container_type
-convert_eolian_parameters(Eolian_Function const& func, getter_t func_type)
+_convert_eolian_parameters(Eolian_Function const& func, getter_t func_type)
 {
-   return convert_eolian_parameters
+   return _convert_eolian_parameters
  (::eolian_function_parameters_get(&func), func_type.value);
 }
 
 static efl::eolian::parameters_container_type
-convert_eolian_parameters(Eina_Iterator *parameters, getter_t func_type)
+_convert_eolian_parameters(Eina_Iterator *parameters, getter_t func_type)
 {
-   return convert_eolian_parameters(parameters, func_type.value);
+   return _convert_eolian_parameters(parameters, func_type.value);
 }
 
 static efl::eolian::parameters_container_type
-convert_eolian_parameters(Eina_Iterator *parameters, setter_t func_type)
+_convert_eolian_parameters(Eina_Iterator *parameters, setter_t func_type)
 {
-   return convert_eolian_parameters(parameters, func_type.value);
+   return _convert_eolian_parameters(parameters, func_type.value);
 }
 
 static efl::eolian::parameters_container_type
-convert_eolian_parameters(Eolian_Function const& func)
+_convert_eolian_parameters(Eolian_Function const& func)
 {
-   assert(function_type(func) != EOLIAN_PROPERTY);
-   return convert_eolian_parameters
- (::eolian_function_parameters_get(&func), function_type(func));
+   assert(function_op_type(func) != EOLIAN_PROPERTY);
+   return _convert_eolian_parameters
+ (::eolian_function_parameters_get(&func), function_op_type(func));
 }
 
-static efl::eolian::functions_container_type
-convert_eolian_property_to_functions(Eolian_Class const& klass)
+static efl::eolian::eo_function
+_convert_property_set_to_function(Eolian_Class const& klass,
+  Eolian_Function const& prop_)
 {
-   efl::eolian::functions_container_type container;
-   std::string cxx_classname = safe_lower(class_name(klass));
-   Eina_Iterator *properties =
- ::eolian_class_functions_get(&klass, EOLIAN_PROPERTY); // XXX
-   void *curr;
std::string prefix(class_prefix(klass));
-   EINA_ITERATOR_FOREACH(properties, curr)
+   efl::eolian::eo_function set_ =
  {
-Eolian_Function *prop_ = static_cast(curr);
-if (property_is_getter(*prop_))
-  {
- efl::eolian::parameters_container_type params
-   = convert_eolian_parameters(*prop_, eolian_cxx::getter);
-
- efl::eolian::eo_function get_;
- get_.type = efl::eolian::eo_function::regular_;
- get_.name = function_name(*prop_) + "_get";
- get_.impl = function_impl(*prop_, prefix) + "_get";
+   efl::eolian::eo_function::regular_,
+   function_name(prop_) + "_set",
+   function_impl(prop_, prefix) + "_set",
+   function_return_type(prop_, eolian_cxx::setter),
+   _convert_eolian_parameters(::eolian_function_parameters_get(&prop_),
+  eolian_cxx::setter),
+   convert_comments_function(klass, prop_, eolian_cxx::setter)
+ };
+   efl::eolian::parameters_container_type keys =
+ _convert_eolian_parameters(::eolian_property_keys_get(&prop_),
+eolian_cxx::setter);
+   if (!keys.empty())
+ {
+keys.reserve(keys.size() + set_.params.size());
+keys.insert(keys.end(), set_.params.begin(),
+set_.params.end());
+set_.params = keys;
+ }
+   return set_;
+}
 
- efl::eolian::eolian_type_instance ret =
-   function_return_type(*prop_, eolian_cxx::getter);
+static efl::eolian::eo_function
+_convert_property_get_to_function(Eolian_Class const& klass,
+  Eolian_Function const& prop_)
+{
+   std::string prefix(class_prefix(klass));
+   efl::eolian::eo_function get_ 

Re: [E-devel] [EGIT] [core/efl] master 02/29: autotools: Fix 'make distcheck'.

2014-09-12 Thread Cedric BAIL
On Fri, Sep 12, 2014 at 10:26 PM, Savio Sena
 wrote:
> savio pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=4341c8a4373fbfeb1a1879b25ca4a496ae214d85
>
> commit 4341c8a4373fbfeb1a1879b25ca4a496ae214d85
> Author: Savio Sena 
> Date:   Wed Sep 3 14:56:40 2014 -0300
>
> autotools: Fix 'make distcheck'.
>
> doc/preview/Makefile.am must include $(srcdir)/lib/efl/ to be able to
> find Efl.h.
> ---
>  doc/previews/Makefile.am | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/doc/previews/Makefile.am b/doc/previews/Makefile.am
> index 2303656..ac488d9 100644
> --- a/doc/previews/Makefile.am
> +++ b/doc/previews/Makefile.am
> @@ -4,6 +4,7 @@ if EFL_BUILD_DOC
>  .PHONY: doc
>
>  AM_CPPFLAGS = \
> +-I$(top_srcdir)/src/lib/efl \
>  -I$(top_builddir)/src/lib/efl \
>  -I$(top_srcdir)/src/lib/efl \
>  -I. \

As you see it is better to fix as you go on master than do a big git
push at once. For example you didn't notice that the problem was
already fixed and git merged the line in a useless way :-) I will
revert this patch as it is useless in fact.
-- 
Cedric BAIL

--
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 02/29: autotools: Fix 'make distcheck'.

2014-09-12 Thread Savio S. Machado
On Fri, 2014-09-12 at 23:10 +0200, Cedric BAIL wrote:
> On Fri, Sep 12, 2014 at 10:26 PM, Savio Sena
>  wrote:
> > savio pushed a commit to branch master.
> >
> > http://git.enlightenment.org/core/efl.git/commit/?id=4341c8a4373fbfeb1a1879b25ca4a496ae214d85
> >
> > commit 4341c8a4373fbfeb1a1879b25ca4a496ae214d85
> > Author: Savio Sena 
> > Date:   Wed Sep 3 14:56:40 2014 -0300
> >
> > autotools: Fix 'make distcheck'.
> >
> > doc/preview/Makefile.am must include $(srcdir)/lib/efl/ to be able to
> > find Efl.h.
> > ---
> >  doc/previews/Makefile.am | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/doc/previews/Makefile.am b/doc/previews/Makefile.am
> > index 2303656..ac488d9 100644
> > --- a/doc/previews/Makefile.am
> > +++ b/doc/previews/Makefile.am
> > @@ -4,6 +4,7 @@ if EFL_BUILD_DOC
> >  .PHONY: doc
> >
> >  AM_CPPFLAGS = \
> > +-I$(top_srcdir)/src/lib/efl \
> >  -I$(top_builddir)/src/lib/efl \
> >  -I$(top_srcdir)/src/lib/efl \
> >  -I. \
> 
> As you see it is better to fix as you go on master than do a big git
> push at once. For example you didn't notice that the problem was
> already fixed and git merged the line in a useless way :-) I will
> revert this patch as it is useless in fact.


Oops. Sorry. It took me a week to close everything I should've pushed
once I had it indeed. Lesson learned.

Thanks.


-- 
Savio


signature.asc
Description: This is a digitally signed message part
--
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/04: edje: Edje_Edit - add edje_edit_program_stop_all

2014-09-12 Thread Andrii Kroitor
cedric pushed a commit to branch master.

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

commit 38561202bf5d35b94f0b97e9d763655d7d18f6dd
Author: Andrii Kroitor 
Date:   Fri Sep 12 23:00:47 2014 +0200

edje: Edje_Edit - add edje_edit_program_stop_all

Summary:
Stops all running programs. If any program has "after" field its value
will be ignored.

Reviewers: cedric, seoz, Hermet

Subscribers: cedric, reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D1433

Signed-off-by: Cedric BAIL 
---
 src/lib/edje/Edje_Edit.h |  8 
 src/lib/edje/edje_edit.c | 14 ++
 2 files changed, 22 insertions(+)

diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
index 20506b9..55b68ce 100644
--- a/src/lib/edje/Edje_Edit.h
+++ b/src/lib/edje/Edje_Edit.h
@@ -5436,6 +5436,14 @@ EAPI Eina_Bool edje_edit_program_exist(Evas_Object *obj, 
const char *prog);
  */
 EAPI Eina_Bool edje_edit_program_run(Evas_Object *obj, const char *prog);
 
+/** Stop all running programs.
+ *
+ * @param obj Object being edited.
+ *
+ * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_stop_all(Evas_Object *obj);
+
 /** Set a new name for the given program
  *
  * @param obj Object being edited.
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 68f64b8..d8c8cc4 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -8103,6 +8103,20 @@ edje_edit_program_run(Evas_Object *obj, const char *prog)
 }
 
 EAPI Eina_Bool
+edje_edit_program_stop_all(Evas_Object *obj)
+{
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   Eina_List *l, *ln;
+   Edje_Running_Program *runp;
+
+   EINA_LIST_FOREACH_SAFE(ed->actions, l, ln, runp)
+ _edje_program_end(ed, runp);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
 edje_edit_program_name_set(Evas_Object *obj, const char *prog, const char* 
new_name)
 {
GET_EED_OR_RETURN(EINA_FALSE);

-- 




[EGIT] [core/efl] master 04/04: Revert "autotools: Fix 'make distcheck'."

2014-09-12 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 4e55718c7805f232693843fbaec83932041ba417
Author: Cedric BAIL 
Date:   Fri Sep 12 23:11:01 2014 +0200

Revert "autotools: Fix 'make distcheck'."

This reverts commit 4341c8a4373fbfeb1a1879b25ca4a496ae214d85.

This patch was pushed I guess after an automatic git rebase without 
conflict.
---
 doc/previews/Makefile.am | 1 -
 1 file changed, 1 deletion(-)

diff --git a/doc/previews/Makefile.am b/doc/previews/Makefile.am
index ac488d9..2303656 100644
--- a/doc/previews/Makefile.am
+++ b/doc/previews/Makefile.am
@@ -4,7 +4,6 @@ if EFL_BUILD_DOC
 .PHONY: doc
 
 AM_CPPFLAGS = \
--I$(top_srcdir)/src/lib/efl \
 -I$(top_builddir)/src/lib/efl \
 -I$(top_srcdir)/src/lib/efl \
 -I. \

-- 




[EGIT] [core/efl] master 03/04: edje: prevent resource leak.

2014-09-12 Thread Chinmaya Panigrahi
cedric pushed a commit to branch master.

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

commit f6eb1f17a1b34b2f2fb49feb09bb03a8263be56f
Author: Chinmaya Panigrahi 
Date:   Fri Sep 12 23:07:18 2014 +0200

edje: prevent resource leak.

Summary:
The pointer used is not freed at the end of the function which
results resource leak.

@fix

Test Plan: Not Available

Reviewers: seoz, raster, cedric

Reviewed By: cedric

Subscribers: raster, seoz, cedric

Differential Revision: https://phab.enlightenment.org/D1438

Signed-off-by: Cedric BAIL 
---
 src/bin/edje/epp/cpplib.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/edje/epp/cpplib.c b/src/bin/edje/epp/cpplib.c
index 5f2fc21..77da3ac 100644
--- a/src/bin/edje/epp/cpplib.c
+++ b/src/bin/edje/epp/cpplib.c
@@ -3525,6 +3525,8 @@ do_include(cpp_reader * pfile, struct directive *keyword,
if (angle_brackets)
   pfile->system_include_depth--;
  }
+   if (fname)
+  free(fname);
return 0;
 }
 

-- 




[EGIT] [core/efl] master 02/04: edje: Edje_Edit - add edje_edit_program_transition_state_set

2014-09-12 Thread Andrii Kroitor
cedric pushed a commit to branch master.

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

commit 520809864db744675e0596934614ca4fcd2578cf
Author: Andrii Kroitor 
Date:   Fri Sep 12 23:02:31 2014 +0200

edje: Edje_Edit - add edje_edit_program_transition_state_set

Summary:
Set parts into intermediate state of programs transition.
0.0 represents the start state, 1.0 - the final state. Other values will set
parts to an intermediate state taking into account programs transition type.

Reviewers: seoz, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric, reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D1435

Signed-off-by: Cedric BAIL 
---
 src/lib/edje/Edje_Edit.h | 12 
 src/lib/edje/edje_edit.c | 38 ++
 2 files changed, 50 insertions(+)

diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
index 55b68ce..d9600d7 100644
--- a/src/lib/edje/Edje_Edit.h
+++ b/src/lib/edje/Edje_Edit.h
@@ -5444,6 +5444,18 @@ EAPI Eina_Bool edje_edit_program_run(Evas_Object *obj, 
const char *prog);
  */
 EAPI Eina_Bool edje_edit_program_stop_all(Evas_Object *obj);
 
+/** Set parts into intermediate state of programs transition.
+ *
+ * @param obj Object being edited.
+ * @param prog The name of the program to use. Program should have action 
STATE_SET.
+ * @param pos State of transition to be setted. Value from 0.0 to 1.0.
+ * 0.0 represents the start state, 1.0 - the final state. Other values will set
+ * parts to an intermediate state taking into account programs transition type.
+ *
+ * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool edje_edit_program_transition_state_set(Evas_Object *obj, const 
char *prog, double pos);
+
 /** Set a new name for the given program
  *
  * @param obj Object being edited.
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index d8c8cc4..3aec4bc 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -8117,6 +8117,44 @@ edje_edit_program_stop_all(Evas_Object *obj)
 }
 
 EAPI Eina_Bool
+edje_edit_program_transition_state_set(Evas_Object *obj, const char *prog, 
double position)
+{
+   Edje_Program_Target *pt;
+   Edje_Real_Part *rp;
+   Eina_List *l;
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+   GET_EPR_OR_RETURN(EINA_FALSE);
+   if (position < 0 || position > 1) return EINA_FALSE;
+   if (epr->action != EDJE_ACTION_TYPE_STATE_SET) return EINA_FALSE;
+
+   EINA_LIST_FOREACH(epr->targets, l, pt)
+ {
+if (pt->id >= 0)
+  {
+ rp = ed->table_parts[pt->id % ed->table_parts_size];
+ if (rp)
+   {
+  _edje_part_description_apply(ed, rp,
+   
rp->param1.description->state.name,
+   
rp->param1.description->state.value,
+   epr->state,
+   epr->value);
+  _edje_part_pos_set(ed, rp,
+ epr->tween.mode, position,
+ epr->tween.v1,
+ epr->tween.v2,
+ epr->tween.v3,
+ epr->tween.v4);
+   }
+  }
+ }
+   _edje_recalc(ed);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
 edje_edit_program_name_set(Evas_Object *obj, const char *prog, const char* 
new_name)
 {
GET_EED_OR_RETURN(EINA_FALSE);

--