barbieri pushed a commit to branch master.

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

commit db46d4c1a35c596acbc490399f02f7a01bf86119
Author: Gustavo Sverzut Barbieri <barbi...@profusion.mobi>
Date:   Tue Aug 23 11:58:19 2016 -0300

    examples: add efl_io_copier_simple_example.c
    
    a simpler example to be listed in wiki.
---
 src/examples/ecore/.gitignore                     |  1 +
 src/examples/ecore/Makefile.am                    |  5 +++
 src/examples/ecore/efl_io_copier_simple_example.c | 51 +++++++++++++++++++++++
 3 files changed, 57 insertions(+)

diff --git a/src/examples/ecore/.gitignore b/src/examples/ecore/.gitignore
index 6339345..bd92dcd 100644
--- a/src/examples/ecore/.gitignore
+++ b/src/examples/ecore/.gitignore
@@ -47,5 +47,6 @@
 /ecore_buffer_consumer_example
 /ecore_buffer_provider_example
 /efl_io_copier_example
+/efl_io_copier_simple_example
 /efl_net_server_example
 /efl_net_dialer_http_example
diff --git a/src/examples/ecore/Makefile.am b/src/examples/ecore/Makefile.am
index 2e0f470..de4292c 100644
--- a/src/examples/ecore/Makefile.am
+++ b/src/examples/ecore/Makefile.am
@@ -78,6 +78,7 @@ ecore_getopt_example \
 ecore_con_eet_client_example \
 ecore_con_eet_server_example \
 efl_io_copier_example \
+efl_io_copier_simple_example \
 efl_net_server_example \
 efl_net_dialer_http_example
 
@@ -283,6 +284,9 @@ $(top_builddir)/src/lib/eet/libeet.la
 efl_io_copier_example_SOURCES = efl_io_copier_example.c
 efl_io_copier_example_LDADD = $(ECORE_CON_COMMON_LDADD)
 
+efl_io_copier_simple_example_SOURCES = efl_io_copier_simple_example.c
+efl_io_copier_simple_example_LDADD = $(ECORE_COMMON_LDADD)
+
 efl_net_server_example_SOURCES = efl_net_server_example.c
 efl_net_server_example_LDADD = $(ECORE_CON_COMMON_LDADD)
 
@@ -336,6 +340,7 @@ ecore_con_eet_client_example.c \
 ecore_con_eet_server_example.c \
 ecore_con_eet_descriptor_example.c \
 efl_io_copier_example.c \
+efl_io_copier_simple_example.c \
 efl_net_server_example.c \
 efl_net_dialer_http_example.c
 
diff --git a/src/examples/ecore/efl_io_copier_simple_example.c 
b/src/examples/ecore/efl_io_copier_simple_example.c
new file mode 100644
index 0000000..9b7687c
--- /dev/null
+++ b/src/examples/ecore/efl_io_copier_simple_example.c
@@ -0,0 +1,51 @@
+#define EFL_BETA_API_SUPPORT 1
+#define EFL_EO_API_SUPPORT 1
+#include <Ecore.h>
+
+static int retval = EXIT_SUCCESS;
+
+static void
+_copier_done(void *data, const Eo_Event *event)
+{
+   fprintf(stderr, "INFO: done\n");
+   ecore_main_loop_quit();
+}
+
+static void
+_copier_error(void *data, const Eo_Event *event)
+{
+   const Eina_Error *perr = event->info;
+   fprintf(stderr, "INFO: error: #%d '%s'\n", *perr, 
eina_error_msg_get(*perr));
+   ecore_main_loop_quit();
+   retval = EXIT_FAILURE;
+}
+
+EFL_CALLBACKS_ARRAY_DEFINE(copier_cbs,
+                           { EFL_IO_COPIER_EVENT_DONE, _copier_done },
+                           { EFL_IO_COPIER_EVENT_ERROR, _copier_error });
+
+int main(int argc, char *argv[])
+{
+   Eo *input, *output, *copier, *loop;
+
+   ecore_init();
+
+   loop = ecore_main_loop_get();
+   input = efl_add(EFL_IO_STDIN_CLASS, loop);
+   output = efl_add(EFL_IO_STDOUT_CLASS, loop);
+   copier = efl_add(EFL_IO_COPIER_CLASS, loop,
+                    efl_io_copier_source_set(efl_self, input), /* mandatory */
+                    efl_io_copier_destination_set(efl_self, output), /* 
optional */
+                    efl_event_callback_array_add(efl_self, copier_cbs(), NULL) 
/* recommended, at least EFL_IO_COPIER_EVENT_DONE. */
+                    );
+
+   ecore_main_loop_begin();
+
+   efl_io_closer_close(copier);
+   efl_del(copier);
+   efl_del(output);
+   efl_del(input);
+
+   ecore_shutdown();
+   return retval;
+}

-- 


Reply via email to