From e8975219843f93e7015d880b6b411730a501e974 Mon Sep 17 00:00:00 2001 From: Lauro Moura Date: Mon, 11 Mar 2019 11:34:45 -0400 Subject: [PATCH] cxx: Fix examples compilation. Summary: - Changed beta methods guards from CLASS_NAME_GUARD to EFL_BETA_API_SUPPORT to use the same scheme as C. - Removed some includes to Efl_Ui.h from the examples. These were causing C's efl_part_get to not be generated due to EFL_PART_PROTECTED not being yet defined (it is defined in Elementary.hh, included afterwards). This was leading to Efl.Part.impl.hh trying to use a non-existent method. Fixes T7716 partially (missing stringshare issue) Test Plan: make examples Reviewers: stefan_schmidt, felipealmeida, zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7716 Differential Revision: https://phab.enlightenment.org/D8284 --- src/examples/elementary/bg_cxx_example_01.cc | 1 + src/examples/elementary/bg_cxx_example_02.cc | 1 + src/examples/elementary/button_cxx_example_00.cc | 1 + src/examples/elementary/button_cxx_example_01.cc | 2 +- src/examples/elementary/radio_cxx_example_01.cc | 2 +- src/examples/elementary/slider_cxx_example.cc | 3 +-- src/examples/elementary/toolbar_cxx_example_01.cc | 2 +- src/lib/eolian_cxx/grammar/function_declaration.hpp | 4 ++-- src/lib/eolian_cxx/grammar/function_definition.hpp | 4 ++-- 9 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/examples/elementary/bg_cxx_example_01.cc b/src/examples/elementary/bg_cxx_example_01.cc index 7e0724c..5919d18 100644 --- a/src/examples/elementary/bg_cxx_example_01.cc +++ b/src/examples/elementary/bg_cxx_example_01.cc @@ -1,4 +1,5 @@ #define EFL_CXXPERIMENTAL // for background part +#define EFL_BETA_API_SUPPORT #include using efl::eo::instantiate; diff --git a/src/examples/elementary/bg_cxx_example_02.cc b/src/examples/elementary/bg_cxx_example_02.cc index 94c17e3..f88329d 100644 --- a/src/examples/elementary/bg_cxx_example_02.cc +++ b/src/examples/elementary/bg_cxx_example_02.cc @@ -6,6 +6,7 @@ */ #define EFL_CXXPERIMENTAL +#define EFL_BETA_API_SUPPORT #include diff --git a/src/examples/elementary/button_cxx_example_00.cc b/src/examples/elementary/button_cxx_example_00.cc index d44f18a..a0cdb1c 100644 --- a/src/examples/elementary/button_cxx_example_00.cc +++ b/src/examples/elementary/button_cxx_example_00.cc @@ -1,6 +1,7 @@ // g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx ecore-cxx evas-cxx edje-cxx` button_cxx_example_00.cc -o button_cxx_example_00 #define EFL_CXXPERIMENTAL +#define EFL_BETA_API_SUPPORT #include #include diff --git a/src/examples/elementary/button_cxx_example_01.cc b/src/examples/elementary/button_cxx_example_01.cc index c818897..3136f6a 100644 --- a/src/examples/elementary/button_cxx_example_01.cc +++ b/src/examples/elementary/button_cxx_example_01.cc @@ -1,7 +1,7 @@ // g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx ecore-cxx evas-cxx edje-cxx` button_cxx_example_01.cc -o button_cxx_example_01 #define EFL_CXXPERIMENTAL -#include +#define EFL_BETA_API_SUPPORT #include using efl::eo::instantiate; diff --git a/src/examples/elementary/radio_cxx_example_01.cc b/src/examples/elementary/radio_cxx_example_01.cc index 2ad30b2..e72fe9f 100644 --- a/src/examples/elementary/radio_cxx_example_01.cc +++ b/src/examples/elementary/radio_cxx_example_01.cc @@ -1,7 +1,7 @@ // g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx ecore-cxx evas-cxx edje-cxx` radio_cxx_example_01.cc -o radio_cxx_example_01 #define EFL_CXXPERIMENTAL -#include +#define EFL_BETA_API_SUPPORT #include #include diff --git a/src/examples/elementary/slider_cxx_example.cc b/src/examples/elementary/slider_cxx_example.cc index 1df1903..8284625 100644 --- a/src/examples/elementary/slider_cxx_example.cc +++ b/src/examples/elementary/slider_cxx_example.cc @@ -1,8 +1,7 @@ // g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx ecore-cxx evas-cxx edje-cxx` slider_cxx_example.cc -o slider_cxx_example #define EFL_CXXPERIMENTAL - -#include +#define EFL_BETA_API_SUPPORT #include using namespace std::placeholders; diff --git a/src/examples/elementary/toolbar_cxx_example_01.cc b/src/examples/elementary/toolbar_cxx_example_01.cc index 77ad3eb..6f4e83b 100644 --- a/src/examples/elementary/toolbar_cxx_example_01.cc +++ b/src/examples/elementary/toolbar_cxx_example_01.cc @@ -7,7 +7,7 @@ #warning This example requires yet unfinished EO APIs -#include +#define EFL_BETA_API_SUPPORT #include EAPI int diff --git a/src/lib/eolian_cxx/grammar/function_declaration.hpp b/src/lib/eolian_cxx/grammar/function_declaration.hpp index dc6a969..1ae63df 100644 --- a/src/lib/eolian_cxx/grammar/function_declaration.hpp +++ b/src/lib/eolian_cxx/grammar/function_declaration.hpp @@ -44,8 +44,8 @@ struct function_declaration_generator } if(f.is_beta && - !as_generator("#ifdef " << *(string << "_") << string << "_BETA\n") - .generate(sink, std::make_tuple(_klass_name.namespaces, _klass_name.eolian_name), add_upper_case_context(ctx))) + !as_generator(lit("#ifdef EFL_BETA_API_SUPPORT\n")) + .generate(sink, attributes::unused, ctx)) return false; if(f.is_protected && !as_generator("#ifdef " << *(string << "_") << string << "_PROTECTED\n") diff --git a/src/lib/eolian_cxx/grammar/function_definition.hpp b/src/lib/eolian_cxx/grammar/function_definition.hpp index 8932181..c5de8ce 100644 --- a/src/lib/eolian_cxx/grammar/function_definition.hpp +++ b/src/lib/eolian_cxx/grammar/function_definition.hpp @@ -50,8 +50,8 @@ struct function_definition_generator } if(f.is_beta && - !as_generator("#ifdef " << *(string << "_") << string << "_BETA\n") - .generate(sink, std::make_tuple(_klass_name.namespaces, _klass_name.eolian_name), add_upper_case_context(ctx))) + !as_generator(lit("#ifdef EFL_BETA_API_SUPPORT\n")) + .generate(sink, attributes::unused, ctx)) return false; if(f.is_protected && !as_generator("#ifdef " << *(string << "_") << string << "_PROTECTED\n") -- 2.7.4