efl/src/lib/ecore_con
Gustavo Sverzut Barbieri 98fe627ca4 efl_net_session and efl_net_control for ConnMan
These are objects to allow control of networking devices
(efl_net_control) as well as an application to request for
connectivity (efl_net_session).

They are loosely based on ConnMan.org, which we already use in
Enlightenment Window Manager via DBus access with Eldbus. However they
do not map 1:1 as the goal was to expose a viable subset of controls
but in a simple and general way, thus nome strings were converted to
enums, some arrays of strings were converted to bitwise flags, some
names were made more general, such as "service" was turned into
"access point" so it doesn't generate confusion with other "network
services" (ie: http server), or "favorite" that was renamed to
"remembered". Some behavior are slightly different (yet able to be
implemented on top), such as "Service.MoveBefore" and "MoveAfter" were
converted to a numeric "priority", calculated from service's list
index, changing the priority will reoder the list and thus generate
the MoveBefore and MoveAfter DBus commands.

ConnMan was chosen not only because we already use it, but because its
DBus API is sane and simple, with the server doing almost all that we
need. This is visible in the efl_net_session, which is completely done
in the server and do not require any extra work on our side -- aside
from talking DBus and converting to Eo, which is a major work :-D

   NOTE: ConnMan doesn't use FreeDesktop.Org DBus interfaces such as
         Properties and ObjectManager, thus we cannot use
         eldbus_model_object.

There are two examples added:

 - efl_net_session_example: monitors the connection available for an
   application and try to connect. You need a connman compiled with
   session_policy_local and a configuration file explained in
   https://github.com/aldebaran/connman/blob/master/doc/session-policy-format.txt
   to get a connection if nothing is connected. Otherwise it will just
   monitor the connectivity state.

 - efl_net_control_example: monitors, plays the agent and configure
   the network details. It can enable/disable technologies, connect to
   access points (services) and configure them. It's quite extensive
   as allows testing all of ConnMan's DBus API except P2P (Peers).
2016-11-08 22:40:34 -02:00
..
Ecore_Con.h ecore_con: switch from EO to BETA API 2016-06-14 16:01:37 +02:00
Ecore_Con_Eet.h ecore_con: switch from EO to BETA API 2016-06-14 16:01:37 +02:00
Ecore_Con_Eet_Eo.h ecore_con: eoifying ecore_con_eet. 2015-06-22 18:55:57 +02:00
Ecore_Con_Eet_Legacy.h ecore_con: eoifying ecore_con_eet. 2015-06-22 18:55:57 +02:00
Ecore_Con_Eo.h efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
Ecore_Con_Legacy.h Efl network: Remove the no longer needed .Base hack. 2016-05-11 13:00:57 +01:00
ecore_con.c efl_net_server support systemd socket activation. 2016-11-01 16:37:04 -02:00
ecore_con_alloc.c reformat ecore_con so I can read it... 2013-12-20 00:08:43 -05:00
ecore_con_eet.c Rename efl_self to efl_added 2016-09-05 16:59:56 +01:00
ecore_con_eet_base.eo ecore con: remove pointers 2016-11-04 17:07:50 +01:00
ecore_con_eet_client_obj.eo Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
ecore_con_eet_server_obj.eo Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
ecore_con_info.c Eo: Finish the renaming of Eo to the EFL. 2016-08-15 15:07:42 +01:00
ecore_con_legacy.c efl: Cleanup some code (return values) 2016-08-05 10:32:30 +09:00
ecore_con_local.c ecore_con_local: fix memory leak. 2016-09-20 16:14:04 +08:30
ecore_con_local_win32.c Eo: Finish the renaming of Eo to the EFL. 2016-08-15 15:07:42 +01:00
ecore_con_private.h efl_net_server support systemd socket activation. 2016-11-01 16:37:04 -02:00
ecore_con_socks.c Eo: Finish the renaming of Eo to the EFL. 2016-08-15 15:07:42 +01:00
ecore_con_ssl.c ecore_ssl: Use stricter cipher suites 2016-10-17 13:58:32 +10:30
ecore_con_url.c Rename efl_self to efl_added 2016-09-05 16:59:56 +01:00
ecore_con_url_curl.c eolian gen: use EWAPI for all generated variables 2016-10-20 16:44:20 +02:00
ecore_con_url_curl.h ecore_con_url_curl.h: add missing include on windows 2016-09-06 16:36:59 +09:00
efl_net-connman.c efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net-connman.h efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net_control-connman.c efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net_control.eo efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net_control_access_point-connman.c efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net_control_access_point.eo efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net_control_technology-connman.c efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net_control_technology.eo efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net_dialer.c efl.net: socket, server and dialer for TCP. 2016-08-22 18:25:14 -03:00
efl_net_dialer.eo docs: ecore_con: add description for efl net dialer errors 2016-10-20 17:45:33 +02:00
efl_net_dialer_http.c efl_net_dialer_http: fix short downloads. 2016-10-26 23:19:46 -02:00
efl_net_dialer_http.eo docs: ecore_con: document missing HTTP enums 2016-10-25 16:08:25 +02:00
efl_net_dialer_ssl.c efl_net_{server,dialer}_ssl: TCP + SSL easy to use. 2016-11-01 01:31:56 -02:00
efl_net_dialer_ssl.eo efl_net_{server,dialer}_ssl: TCP + SSL easy to use. 2016-11-01 01:31:56 -02:00
efl_net_dialer_tcp.c efl_net_dialer_tcp: remove useless code. 2016-10-26 19:01:03 -02:00
efl_net_dialer_tcp.eo efl_net_dialer: improve proxy docs. 2016-09-19 01:18:14 -03:00
efl_net_dialer_udp.c use more standard IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP. 2016-10-25 19:32:07 -02:00
efl_net_dialer_udp.eo efl_net_*_udp: make UDP usable, including multicast. 2016-10-25 10:11:48 -02:00
efl_net_dialer_unix.c addded efl_net_{socket,dialer,server}_unix 2016-10-26 19:01:03 -02:00
efl_net_dialer_unix.eo addded efl_net_{socket,dialer,server}_unix 2016-10-26 19:01:03 -02:00
efl_net_dialer_websocket.c Efl.Loop.User: Use prefix to rename efl_loop_user_loop_get 2016-10-06 12:24:59 +09:00
efl_net_dialer_websocket.eo ecore con: remove pointers 2016-11-04 17:07:50 +01:00
efl_net_http_types.eot docs: ecore_con: document missing structs 2016-10-27 18:22:42 +02:00
efl_net_server.c efl.net: socket, server and dialer for TCP. 2016-08-22 18:25:14 -03:00
efl_net_server.eo docs: ecore_con: add missing docs for new efl_net_* components 2016-11-07 15:58:54 +01:00
efl_net_server_fd.c efl_net_server support systemd socket activation. 2016-11-01 16:37:04 -02:00
efl_net_server_fd.eo docs: ecore_con: add missing docs for new efl_net_* components 2016-11-07 15:58:54 +01:00
efl_net_server_ssl.c efl_net_server support systemd socket activation. 2016-11-01 16:37:04 -02:00
efl_net_server_ssl.eo docs: ecore_con: add missing docs for new efl_net_* components 2016-11-07 15:58:54 +01:00
efl_net_server_tcp.c efl_net_server support systemd socket activation. 2016-11-01 16:37:04 -02:00
efl_net_server_tcp.eo docs: ecore_con: add missing docs for new efl_net_* components 2016-11-07 15:58:54 +01:00
efl_net_server_udp.c efl_net_server support systemd socket activation. 2016-11-01 16:37:04 -02:00
efl_net_server_udp.eo docs: ecore_con: add missing docs for new efl_net_* components 2016-11-07 15:58:54 +01:00
efl_net_server_udp_client.c efl_net_*_udp: make UDP usable, including multicast. 2016-10-25 10:11:48 -02:00
efl_net_server_udp_client.eo efl_net_*_udp: make UDP usable, including multicast. 2016-10-25 10:11:48 -02:00
efl_net_server_unix.c efl_net_server support systemd socket activation. 2016-11-01 16:37:04 -02:00
efl_net_server_unix.eo efl_net_server support systemd socket activation. 2016-11-01 16:37:04 -02:00
efl_net_session-connman.c efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net_session.eo efl_net_session and efl_net_control for ConnMan 2016-11-08 22:40:34 -02:00
efl_net_socket.c efl.net: socket, server and dialer for TCP. 2016-08-22 18:25:14 -03:00
efl_net_socket.eo efl.net: socket, server and dialer for TCP. 2016-08-22 18:25:14 -03:00
efl_net_socket_fd.c efl_net_socket_fd: do not act if already closed, do not set eos. 2016-10-31 19:38:22 -02:00
efl_net_socket_fd.eo efl_net_socket_fd: use closesocket() and INVALID_SOCKET. 2016-10-22 22:13:40 -02:00
efl_net_socket_ssl.c efl_net_socket_ssl: initial SSL wrapper. 2016-10-31 19:39:33 -02:00
efl_net_socket_ssl.eo efl_net_{server,dialer}_ssl: TCP + SSL easy to use. 2016-11-01 01:31:56 -02:00
efl_net_socket_tcp.c remove incorrect EINA_UNUSED. 2016-10-31 19:38:22 -02:00
efl_net_socket_tcp.eo efl.net: socket, server and dialer for TCP. 2016-08-22 18:25:14 -03:00
efl_net_socket_udp.c remove incorrect EINA_UNUSED. 2016-10-31 19:38:22 -02:00
efl_net_socket_udp.eo ecore con: fix invalid doc reference 2016-10-25 15:54:46 +02:00
efl_net_socket_unix.c addded efl_net_{socket,dialer,server}_unix 2016-10-26 19:01:03 -02:00
efl_net_socket_unix.eo addded efl_net_{socket,dialer,server}_unix 2016-10-26 19:01:03 -02:00
efl_net_ssl_conn-gnutls.c efl_net_socket_ssl: initial SSL wrapper. 2016-10-31 19:39:33 -02:00
efl_net_ssl_conn-none.c efl_net_socket_ssl: initial SSL wrapper. 2016-10-31 19:39:33 -02:00
efl_net_ssl_conn-openssl.c unbreak build for OpenSSL < 1.0.2 2016-11-01 19:38:41 -02:00
efl_net_ssl_context.c efl_net_socket_ssl: initial SSL wrapper. 2016-10-31 19:39:33 -02:00
efl_net_ssl_context.eo efl_net_socket_ssl: initial SSL wrapper. 2016-10-31 19:39:33 -02:00
efl_net_ssl_ctx-gnutls.c efl_net_socket_ssl: initial SSL wrapper. 2016-10-31 19:39:33 -02:00
efl_net_ssl_ctx-none.c efl_net_socket_ssl: initial SSL wrapper. 2016-10-31 19:39:33 -02:00
efl_net_ssl_ctx-openssl.c efl_net_ssl: fix build on LibreSSL and BSD 2016-10-31 22:28:41 -02:00
efl_net_ssl_types.eot efl_net_socket_ssl: initial SSL wrapper. 2016-10-31 19:39:33 -02:00
efl_network.eo docs: ecore: document various type defines 2016-11-03 11:57:40 +01:00
efl_network_client.eo Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
efl_network_connector.eo Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
efl_network_server.eo Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
efl_network_url.eo Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00