ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/examples.git/commit/?id=d226ee2c9856d86d81d44e4657c61657a728e181

commit d226ee2c9856d86d81d44e4657c61657a728e181
Author: Andy Williams <[email protected]>
Date:   Tue Dec 19 17:51:20 2017 +0000

    net: simplify io example - no need for full lifecycle
---
 reference/c/net/src/net_io.c | 90 +++++++++++++++++++++-----------------------
 1 file changed, 42 insertions(+), 48 deletions(-)

diff --git a/reference/c/net/src/net_io.c b/reference/c/net/src/net_io.c
index faf283a..1421d09 100644
--- a/reference/c/net/src/net_io.c
+++ b/reference/c/net/src/net_io.c
@@ -18,6 +18,39 @@ static Eina_List *_commands = NULL;
 static Eina_Slice _delimiter;
 static Eo *_dialer = NULL, *_sender = NULL, *_receiver = NULL;
 
+// call this method to cleanly shut down our example
+static void
+_quit(int retval)
+{
+   if (_waiting)
+     {
+        fprintf(stderr, "ERROR: %d operations were waiting!\n",
+                eina_list_count(_waiting));
+        eina_list_free(_waiting);
+        _waiting = NULL;
+     }
+
+   if (_receiver)
+     {
+        efl_io_closer_close(_receiver);
+        efl_del(efl_io_copier_destination_get(_receiver));
+        efl_del(_receiver);
+     }
+
+   if (_sender)
+     {
+        efl_io_closer_close(_sender);
+        efl_del(efl_io_copier_source_get(_sender));
+        efl_del(_sender);
+     }
+
+   if (_dialer)
+     efl_del(_dialer);
+
+   efl_exit(retval);
+}
+
+// iterate through the commands to send through the dialler
 static void
 _command_next(void)
 {
@@ -85,7 +118,7 @@ _copier_done(void *data EINA_UNUSED, const Efl_Event *event)
 
    _waiting = eina_list_remove(_waiting, event->object);
    if (!_waiting)
-     efl_exit(EXIT_SUCCESS);
+     _quit(EXIT_SUCCESS);
 }
 
 static void
@@ -96,52 +129,13 @@ _copier_error(void *data EINA_UNUSED, const Efl_Event 
*event)
    fprintf(stderr, "INFO: %s error: #%d '%s'\n",
            efl_name_get(event->object), *perr, eina_error_msg_get(*perr));
 
-   efl_exit(EXIT_FAILURE);
+   _quit(EXIT_FAILURE);
 }
 
 EFL_CALLBACKS_ARRAY_DEFINE(copier_cbs,
                            { EFL_IO_COPIER_EVENT_DONE, _copier_done },
                            { EFL_IO_COPIER_EVENT_ERROR, _copier_error });
 
-EAPI void
-efl_pause(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
-{
-}
-
-EAPI void
-efl_resume(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
-{
-}
-
-EAPI void
-efl_terminate(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
-{
-   if (_waiting)
-     {
-        fprintf(stderr, "ERROR: %d operations were waiting!\n",
-                eina_list_count(_waiting));
-        eina_list_free(_waiting);
-        _waiting = NULL;
-     }
-
-   if (_receiver)
-     {
-        efl_io_closer_close(_receiver);
-        efl_del(efl_io_copier_destination_get(_receiver));
-        efl_del(_receiver);
-     }
-
-   if (_sender)
-     {
-        efl_io_closer_close(_sender);
-        efl_del(efl_io_copier_source_get(_sender));
-        efl_del(_sender);
-     }
-
-   if (_dialer)
-     efl_del(_dialer);
-}
-
 EAPI_MAIN void
 efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
 {
@@ -170,7 +164,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
    if (!send_queue)
      {
         fprintf(stderr, "ERROR: could not create Efl_Io_Queue (send)\n");
-        efl_exit(EXIT_FAILURE);
+        _quit(EXIT_FAILURE);
      }
 
    /*
@@ -192,7 +186,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
    if (!receive_queue)
      {
         fprintf(stderr, "ERROR: could not create Efl_Io_Queue (receive)\n");
-        efl_exit(EXIT_FAILURE);
+        _quit(EXIT_FAILURE);
      }
 
    /*
@@ -209,7 +203,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
    if (!_dialer)
      {
         fprintf(stderr, "ERROR: could not create Efl_Net_Dialer_Tcp\n");
-        efl_exit(EXIT_FAILURE);
+        _quit(EXIT_FAILURE);
      }
 
    /* sender: send_queue->network */
@@ -222,7 +216,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
    if (!_sender)
      {
         fprintf(stderr, "ERROR: could not create Efl_Io_Copier (sender)\n");
-        efl_exit(EXIT_FAILURE);
+        _quit(EXIT_FAILURE);
      }
 
    /* receiver: network->receive_queue */
@@ -235,7 +229,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
    if (!_receiver)
      {
         fprintf(stderr, "ERROR: could not create Efl_Io_Copier (receiver)\n");
-        efl_exit(EXIT_FAILURE);
+        _quit(EXIT_FAILURE);
      }
 
    err = efl_net_dialer_dial(_dialer, address);
@@ -243,11 +237,11 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
      {
         fprintf(stderr, "ERROR: could not dial %s: %s\n",
                 address, eina_error_msg_get(err));
-        efl_exit(EXIT_FAILURE);
+        _quit(EXIT_FAILURE);
      }
 
    _waiting = eina_list_append(_waiting, _sender);
    _waiting = eina_list_append(_waiting, _receiver);
 }
-EFL_MAIN_EX()
+EFL_MAIN()
 

-- 


Reply via email to