summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2014-06-24 14:21:32 +0100
committerDaniel Kolesa <d.kolesa@samsung.com>2014-06-30 17:20:06 +0100
commit5e5655463cc58b1ae0a3214122d1757b065c815d (patch)
tree4a8ca2c53c838252334a6715ac208d5f8c831866
parentac22afec8a05c899089f69f70a63873f66891546 (diff)
downloadefl-5e5655463cc58b1ae0a3214122d1757b065c815d.tar.gz
eolian_cxx/generator: support for eot files
-rw-r--r--src/bin/eolian_cxx/eolian_cxx.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/bin/eolian_cxx/eolian_cxx.cc b/src/bin/eolian_cxx/eolian_cxx.cc
index d631facc06..951397708c 100644
--- a/src/bin/eolian_cxx/eolian_cxx.cc
+++ b/src/bin/eolian_cxx/eolian_cxx.cc
@@ -245,11 +245,28 @@ _resolve_classname(options_type& opts)
}
static void
+_scan_directories(options_type const& opts)
+{
+ for (auto src : opts.in_srcs)
+ {
+ if (eina_str_has_suffix(src.c_str(), EO_SUFFIX)) continue;
+ eolian_read_from_fs(src.c_str());
+ }
+}
+
+static void
+_load_eot()
+{
+ eolian_all_eot_files_parse();
+}
+
+static void
_load_classes(options_type const& opts)
{
for (auto src : opts.in_srcs)
{
- if (eolian_read_from_fs(src.c_str()) == NULL)
+ if (!eina_str_has_suffix(src.c_str(), EO_SUFFIX)) continue;
+ if ( eolian_read_from_fs(src.c_str()) == NULL)
{
EINA_CXX_DOM_LOG_WARN(::domain)
<< "Couldn't load eolian file: " << src;
@@ -352,6 +369,8 @@ int main(int argc, char **argv)
domain.set_level(efl::eina::log_level::debug);
#endif
options_type opts = _read_options(argc, argv);
+ _scan_directories(opts);
+ _load_eot();
_load_classes(opts);
_resolve_classname(opts);
_validate_options(opts);