raster pushed a commit to branch master.

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

commit bc238146146d2bdd6a36e0aa31b83f9ce59ac98b
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Thu Mar 31 18:33:02 2016 +0900

    XXX - reword me when done
---
 src/Makefile_Efl.am                         |  8 +++++++-
 src/lib/efl/Efl.h                           |  4 ++++
 src/lib/efl/interfaces/efl_vpath.c          | 18 ++++++++++++++++
 src/lib/efl/interfaces/efl_vpath.eo         | 15 ++++++++++++++
 src/lib/efl/interfaces/efl_vpath_file.c     | 32 +++++++++++++++++++++++++++++
 src/lib/efl/interfaces/efl_vpath_file.eo    | 24 ++++++++++++++++++++++
 src/lib/efl/interfaces/efl_vpath_manager.c  | 28 +++++++++++++++++++++++++
 src/lib/efl/interfaces/efl_vpath_manager.eo | 24 ++++++++++++++++++++++
 8 files changed, 152 insertions(+), 1 deletion(-)

diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index d8683e1..3fa3083 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -23,6 +23,9 @@ efl_eolian_files = \
       lib/efl/interfaces/efl_gfx_filter.eo \
       lib/efl/interfaces/efl_model_base.eo \
       lib/efl/interfaces/efl_animator.eo \
+      lib/efl/interfaces/efl_vpath.eo \
+      lib/efl/interfaces/efl_vpath_manager.eo \
+      lib/efl/interfaces/efl_vpath_file.eo \
       $(efl_eolian_legacy_files) \
       $(NULL)
 
@@ -55,7 +58,10 @@ lib_LTLIBRARIES += lib/efl/libefl.la
 lib_efl_libefl_la_SOURCES = \
 lib/efl/interfaces/efl_interfaces_main.c \
 lib/efl/interfaces/efl_model_common.c \
-lib/efl/interfaces/efl_gfx_shape.c
+lib/efl/interfaces/efl_gfx_shape.c \
+lib/efl/interfaces/efl_vpath.c \
+lib/efl/interfaces/efl_vpath_file.c \
+lib/efl/interfaces/efl_vpath_manager.c
 
 lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl 
-I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@ -DEFL_GFX_FILTER_BETA
 lib_efl_libefl_la_LIBADD = @EFL_LIBS@
diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index 2cb0bd7..02fbe1d 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -50,6 +50,10 @@ typedef struct tm Efl_Time;
 
 #include <Efl_Model_Common.h>
 
+#include "interfaces/efl_vpath_file.eo.h"
+#include "interfaces/efl_vpath.eo.h"
+#include "interfaces/efl_vpath_manager.eo.h"
+
 /* Data types */
 #include "interfaces/efl_gfx_types.eot.h"
 typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
diff --git a/src/lib/efl/interfaces/efl_vpath.c 
b/src/lib/efl/interfaces/efl_vpath.c
new file mode 100644
index 0000000..28ecd10
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_vpath.c
@@ -0,0 +1,18 @@
+#define EFL_BETA_API_SUPPORT
+
+#include "Efl.h"
+
+typedef struct _Efl_Vpath_Data Efl_Vpath_Data;
+
+struct _Efl_Vpath_Data
+{
+   int dummy;
+};
+
+EOLIAN static Efl_Vpath_File *
+_efl_vpath_fetch(Eo *obj EINA_UNUSED, Efl_Vpath_Data *pd EINA_UNUSED, const 
char *path EINA_UNUSED)
+{
+   return NULL;
+}
+
+#include "interfaces/efl_vpath.eo.c"
diff --git a/src/lib/efl/interfaces/efl_vpath.eo 
b/src/lib/efl/interfaces/efl_vpath.eo
new file mode 100644
index 0000000..2e7dd6a
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_vpath.eo
@@ -0,0 +1,15 @@
+class Efl.Vpath (Eo.Base)
+{
+   legacy_prefix: null;
+   eo_prefix: efl_vpath;
+   methods {
+      fetch {
+         params {
+            path: const(char)*; [[ The input virtual file path to fetch ]]
+         }
+         return: own(Efl.Vpath_File *); [[ An object representing the file ]]
+      }
+     }
+   events {
+   }
+}
diff --git a/src/lib/efl/interfaces/efl_vpath_file.c 
b/src/lib/efl/interfaces/efl_vpath_file.c
new file mode 100644
index 0000000..dffd44c
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_vpath_file.c
@@ -0,0 +1,32 @@
+#define EFL_BETA_API_SUPPORT
+
+#include "Efl.h"
+
+typedef struct _Efl_Vpath_File_Data Efl_Vpath_File_Data;
+
+struct _Efl_Vpath_File_Data
+{
+   const char *path;
+   const char *result;
+};
+
+EOLIAN static void
+_efl_vpath_file_path_set(Eo *obj EINA_UNUSED, Efl_Vpath_File_Data *pd, const 
char *path)
+{
+   eina_stringshare_replace(&(pd->path), path);
+   // XXX: begin resolve or fetch
+}
+
+EOLIAN static const char *
+_efl_vpath_file_path_get(Eo *obj EINA_UNUSED, Efl_Vpath_File_Data *pd)
+{
+   return pd->path;
+}
+
+EOLIAN static const char *
+_efl_vpath_file_result_get(Eo *obj EINA_UNUSED, Efl_Vpath_File_Data *pd)
+{
+   return pd->result;
+}
+
+#include "interfaces/efl_vpath_file.eo.c"
diff --git a/src/lib/efl/interfaces/efl_vpath_file.eo 
b/src/lib/efl/interfaces/efl_vpath_file.eo
new file mode 100644
index 0000000..ff338ca
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_vpath_file.eo
@@ -0,0 +1,24 @@
+class Efl.Vpath_File (Eo.Base)
+{
+   legacy_prefix: null;
+   eo_prefix: efl_vpath_file;
+   methods {
+      @property path {
+         set {}
+         get {}
+         values {
+             path: const(char)*; [[ The input virtual path to a file ]]
+         }
+      }
+      @property result {
+         get {}
+         values {
+             path: const(char)*; [[ The resulting destination file ]]
+         }
+      }
+   }
+   events {
+      fetched; [[ File successfully mapped/fetched ]]
+      failed; [[ File fetch or mapping failed ]]
+   }
+}
diff --git a/src/lib/efl/interfaces/efl_vpath_manager.c 
b/src/lib/efl/interfaces/efl_vpath_manager.c
new file mode 100644
index 0000000..7905d81
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_vpath_manager.c
@@ -0,0 +1,28 @@
+#define EFL_BETA_API_SUPPORT
+
+#include "Efl.h"
+
+typedef struct _Efl_Vpath_Manager_Data Efl_Vpath_Manager_Data;
+
+struct _Efl_Vpath_Manager_Data
+{
+   Eina_List *list;
+};
+
+EOLIAN static Efl_Vpath_File *
+_efl_vpath_manager_fetch(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, const char 
*path EINA_UNUSED)
+{
+   return NULL;
+}
+
+EOLIAN static void
+_efl_vpath_manager_register(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, int 
priority EINA_UNUSED, Efl_Vpath *vpath EINA_UNUSED)
+{
+}
+
+EOLIAN static void
+_efl_vpath_manager_unregister(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, 
Efl_Vpath *vpath EINA_UNUSED)
+{
+}
+
+#include "interfaces/efl_vpath_manager.eo.c"
diff --git a/src/lib/efl/interfaces/efl_vpath_manager.eo 
b/src/lib/efl/interfaces/efl_vpath_manager.eo
new file mode 100644
index 0000000..728e092
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_vpath_manager.eo
@@ -0,0 +1,24 @@
+class Efl.Vpath_Manager ()
+{
+   legacy_prefix: null;
+   eo_prefix: efl_vpath_manager;
+   methods {
+      fetch @class {
+         params {
+            path: const(char)*; [[ The input virtual file path to fetch ]]
+         }
+         return: own(Efl.Vpath_File *); [[ An object representing the file ]]
+      }
+      register @class {
+         params {
+            priority: int; [[ Search order - higher values tired first ]]
+            vpath: Efl.Vpath * @nonull; [[ A Vpath implementation object ]]
+         }
+      }
+      unregister @class {
+         params {
+            vpath: Efl.Vpath * @nonull; [[ A Vpath implementation object ]]
+         }
+      }
+   }
+}

-- 


Reply via email to