2012-12-03 11:36:16 -08:00
|
|
|
MAINTAINERCLEANFILES = Makefile.in
|
|
|
|
|
|
|
|
AM_CPPFLAGS = \
|
|
|
|
-I$(top_srcdir)/src/lib/eina \
|
2015-04-23 18:20:16 -07:00
|
|
|
-I$(top_srcdir)/src/lib/eet \
|
2015-03-17 00:50:29 -07:00
|
|
|
-I$(top_srcdir)/src/lib/emile \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_srcdir)/src/lib/eo \
|
2016-04-21 01:13:23 -07:00
|
|
|
-I$(top_srcdir)/src/lib/efl \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_srcdir)/src/lib/evas \
|
|
|
|
-I$(top_srcdir)/src/lib/ecore \
|
|
|
|
-I$(top_srcdir)/src/lib/ecore_input \
|
2013-01-15 11:27:48 -08:00
|
|
|
-I$(top_srcdir)/src/lib/ecore_input_evas \
|
2013-01-10 19:57:29 -08:00
|
|
|
-I$(top_srcdir)/src/lib/ecore_file \
|
|
|
|
-I$(top_srcdir)/src/lib/ecore_imf \
|
2013-01-15 11:27:48 -08:00
|
|
|
-I$(top_srcdir)/src/lib/ecore_imf_evas \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_srcdir)/src/lib/ecore_con \
|
2016-11-22 11:27:16 -08:00
|
|
|
-I$(top_srcdir)/src/lib/ecore_ipc \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_srcdir)/src/lib/ecore_evas \
|
2012-12-14 15:38:28 -08:00
|
|
|
-I$(top_srcdir)/src/lib/ecore_audio \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_builddir)/src/lib/eina \
|
2015-04-23 18:20:16 -07:00
|
|
|
-I$(top_builddir)/src/lib/eet \
|
2015-03-17 00:50:29 -07:00
|
|
|
-I$(top_builddir)/src/lib/emile \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_builddir)/src/lib/eo \
|
2016-04-21 01:13:23 -07:00
|
|
|
-I$(top_builddir)/src/lib/efl \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_builddir)/src/lib/evas \
|
|
|
|
-I$(top_builddir)/src/lib/ecore \
|
2013-01-04 15:51:53 -08:00
|
|
|
-I$(top_builddir)/src/lib/ecore_file \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_builddir)/src/lib/ecore_input \
|
2013-01-15 11:27:48 -08:00
|
|
|
-I$(top_builddir)/src/lib/ecore_input_evas \
|
2013-01-04 15:51:53 -08:00
|
|
|
-I$(top_builddir)/src/lib/ecore_imf \
|
2013-01-15 11:27:48 -08:00
|
|
|
-I$(top_builddir)/src/lib/ecore_imf_evas \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_builddir)/src/lib/ecore_con \
|
2016-11-22 11:27:16 -08:00
|
|
|
-I$(top_builddir)/src/lib/ecore_ipc \
|
2012-12-03 11:36:16 -08:00
|
|
|
-I$(top_builddir)/src/lib/ecore_evas \
|
2012-12-14 15:38:28 -08:00
|
|
|
-I$(top_builddir)/src/lib/ecore_audio \
|
2013-01-03 04:04:32 -08:00
|
|
|
-DPACKAGE_EXAMPLES_DIR=\".\" \
|
2012-12-03 11:36:16 -08:00
|
|
|
@ECORE_CFLAGS@
|
|
|
|
|
2015-06-24 04:46:43 -07:00
|
|
|
if HAVE_ECORE_BUFFER
|
|
|
|
AM_CPPFLAGS += -I$(top_srcdir)/src/lib/ecore_buffer
|
|
|
|
endif
|
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
EXTRA_PROGRAMS = \
|
|
|
|
ecore_animator_example \
|
|
|
|
ecore_client_bench \
|
2014-06-27 11:25:45 -07:00
|
|
|
ecore_compose_get_example \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_con_client_example \
|
2014-01-08 22:41:54 -08:00
|
|
|
ecore_con_client_simple_example \
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_con_lookup_example \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_con_server_example \
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_con_server_http_example \
|
|
|
|
ecore_con_server_simple_example \
|
|
|
|
ecore_con_url_cookies_example \
|
|
|
|
ecore_con_url_download_example \
|
|
|
|
ecore_con_url_headers_example \
|
2016-11-28 21:16:53 -08:00
|
|
|
ecore_con_url_ftp_example \
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_evas_basics_example \
|
|
|
|
ecore_evas_buffer_example_01 \
|
|
|
|
ecore_evas_buffer_example_02 \
|
2013-02-15 08:19:35 -08:00
|
|
|
ecore_evas_extn_socket_example \
|
|
|
|
ecore_evas_extn_plug_example \
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_evas_callbacks \
|
|
|
|
ecore_evas_ews_example \
|
|
|
|
ecore_evas_object_example \
|
2016-10-07 11:57:04 -07:00
|
|
|
ecore_evas_wayland_multiseat_example \
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_evas_window_sizes_example \
|
2016-09-27 15:17:12 -07:00
|
|
|
ecore_evas_vnc_example \
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_event_example_01 \
|
|
|
|
ecore_event_example_02 \
|
|
|
|
ecore_exe_example \
|
|
|
|
ecore_exe_example_child \
|
|
|
|
ecore_fd_handler_example \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_file_download_example \
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_idler_example \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_imf_example \
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_job_example \
|
|
|
|
ecore_poller_example \
|
|
|
|
ecore_server_bench \
|
|
|
|
ecore_thread_example \
|
|
|
|
ecore_time_functions_example \
|
2013-12-17 12:08:27 -08:00
|
|
|
ecore_timer_example \
|
2015-04-22 05:58:44 -07:00
|
|
|
ecore_getopt_example \
|
|
|
|
ecore_con_eet_client_example \
|
2016-08-13 00:50:29 -07:00
|
|
|
ecore_con_eet_server_example \
|
efl.net: socket, server and dialer for TCP.
Efl.Net.Server defines how to accept new connections, doing the
bind(), listen() and accept() for protocols such as TCP.
Efl.Net.Dialer defines to to reach a server.
Both are based on Efl.Net.Socket as communication interface that is
based on Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus being
usable with code such as Efl.Io.Copier.
The Server will emit an event "client,add" with the established
Socket, which is a child and can be closed by both the server or the
user.
The Dialer extends the Socket and allows for creating one given an
address, that will be resolved and connected.
TCP is the initial implementation so we an validate the
interfaces. UDP, Unix-Local and SSL will come later as derivate
classes.
The examples are documented and should cover the basic principles:
- efl_io_copier_example can accept "tcp://IP:PORT" and will work as a
"netcat", can send data from socket, file or stdin to a socket,
file, stdout or stderr.
- efl_net_server_example listens for connections and can either reply
"Hello World!" and take some data or work as an echo-server,
looping back all received data to the user.
More complex interactions that require a "chat" between client and
server will be covered with new classes later, such as a queue that
empties itself once data is read.
2016-08-17 21:53:16 -07:00
|
|
|
efl_io_copier_example \
|
2016-08-23 07:58:19 -07:00
|
|
|
efl_io_copier_simple_example \
|
2016-08-23 16:03:10 -07:00
|
|
|
efl_io_queue_example \
|
2016-11-24 19:27:33 -08:00
|
|
|
efl_io_buffered_stream_example \
|
2016-08-19 20:55:26 -07:00
|
|
|
efl_net_server_example \
|
efl_net_{socket,dialer,server}_simple: easy to use, buffered network sockets.
The low level I/O primitives are powerful but adds some complexity to
use, for bi-directional streaming communication one ends creating two
Efl.Io.Queue and two Efl.Io.Copier to pipe data to socket when it can
operate.
Then encapsulate the socket using the new Efl.Io.Buffered_Stream, this
will allow the socket, be a dialer or a server client, to be operated
as a single handle that internally carries about the buffering for
you.
As one can see in the examples, compared to their "manual"
alternatives they are very easy to use, ressembling
Ecore_Con_Server/Ecore_Con_Client, but also offers line-based
delimiters and the possibility to let the socket to handle queueing
for you in case you received partial messages (just do not
read/clear/discard the received data).
2016-11-25 11:18:34 -08:00
|
|
|
efl_net_server_simple_example \
|
2016-08-29 20:28:00 -07:00
|
|
|
efl_net_dialer_http_example \
|
|
|
|
efl_net_dialer_websocket_example \
|
2016-10-18 13:51:59 -07:00
|
|
|
efl_net_dialer_websocket_autobahntestee \
|
2016-10-28 17:48:19 -07:00
|
|
|
efl_net_dialer_udp_example \
|
efl_net_{socket,dialer,server}_simple: easy to use, buffered network sockets.
The low level I/O primitives are powerful but adds some complexity to
use, for bi-directional streaming communication one ends creating two
Efl.Io.Queue and two Efl.Io.Copier to pipe data to socket when it can
operate.
Then encapsulate the socket using the new Efl.Io.Buffered_Stream, this
will allow the socket, be a dialer or a server client, to be operated
as a single handle that internally carries about the buffering for
you.
As one can see in the examples, compared to their "manual"
alternatives they are very easy to use, ressembling
Ecore_Con_Server/Ecore_Con_Client, but also offers line-based
delimiters and the possibility to let the socket to handle queueing
for you in case you received partial messages (just do not
read/clear/discard the received data).
2016-11-25 11:18:34 -08:00
|
|
|
efl_net_dialer_simple_example \
|
2016-10-28 17:48:19 -07:00
|
|
|
efl_net_socket_ssl_dialer_example \
|
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-09-15 17:43:19 -07:00
|
|
|
efl_net_socket_ssl_server_example \
|
|
|
|
efl_net_session_example \
|
2016-11-22 11:27:16 -08:00
|
|
|
efl_net_control_example \
|
|
|
|
ecore_ipc_server_example \
|
|
|
|
ecore_ipc_client_example
|
2016-10-28 17:48:19 -07:00
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2012-12-30 16:46:14 -08:00
|
|
|
ECORE_COMMON_LDADD = \
|
|
|
|
$(top_builddir)/src/lib/ecore/libecore.la \
|
|
|
|
$(top_builddir)/src/lib/eo/libeo.la \
|
|
|
|
$(top_builddir)/src/lib/eina/libeina.la \
|
2015-03-17 00:50:29 -07:00
|
|
|
$(top_builddir)/src/lib/emile/libemile.la \
|
2012-12-30 16:46:14 -08:00
|
|
|
@ECORE_LDFLAGS@
|
|
|
|
|
2012-12-14 15:38:28 -08:00
|
|
|
if HAVE_ECORE_AUDIO
|
2013-07-23 23:55:08 -07:00
|
|
|
#EXTRA_PROGRAMS += \
|
|
|
|
#ecore_audio_playback \
|
|
|
|
#ecore_audio_to_ogg \
|
|
|
|
#ecore_audio_custom
|
|
|
|
#
|
|
|
|
#ECORE_AUDIO_COMMON_LDADD = \
|
|
|
|
#$(top_builddir)/src/lib/ecore_audio/libecore_audio.la \
|
|
|
|
#$(ECORE_COMMON_LDADD)
|
|
|
|
#
|
|
|
|
#ecore_audio_custom_SOURCES = ecore_audio_custom.c
|
|
|
|
#ecore_audio_custom_LDADD = $(ECORE_AUDIO_COMMON_LDADD)
|
|
|
|
#
|
|
|
|
#ecore_audio_playback_SOURCES = ecore_audio_playback.c
|
|
|
|
#ecore_audio_playback_LDADD = $(ECORE_AUDIO_COMMON_LDADD)
|
|
|
|
#
|
|
|
|
#ecore_audio_to_ogg_SOURCES = ecore_audio_to_ogg.c
|
|
|
|
#ecore_audio_to_ogg_LDADD = $(ECORE_AUDIO_COMMON_LDADD)
|
2012-12-14 15:38:28 -08:00
|
|
|
endif
|
|
|
|
|
2012-12-30 16:46:14 -08:00
|
|
|
ECORE_EVAS_COMMON_LDADD = \
|
|
|
|
$(top_builddir)/src/lib/ecore_evas/libecore_evas.la \
|
|
|
|
$(top_builddir)/src/lib/evas/libevas.la \
|
|
|
|
$(ECORE_COMMON_LDADD)
|
|
|
|
|
|
|
|
ECORE_CON_COMMON_LDADD = \
|
|
|
|
$(top_builddir)/src/lib/ecore_con/libecore_con.la \
|
|
|
|
$(ECORE_COMMON_LDADD)
|
|
|
|
|
2016-11-22 11:27:16 -08:00
|
|
|
ECORE_IPC_COMMON_LDADD = \
|
|
|
|
$(top_builddir)/src/lib/ecore_ipc/libecore_ipc.la \
|
|
|
|
$(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_animator_example_SOURCES = ecore_animator_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_animator_example_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2015-06-24 04:46:43 -07:00
|
|
|
if HAVE_ECORE_BUFFER
|
|
|
|
EXTRA_PROGRAMS += ecore_buffer_example \
|
|
|
|
ecore_buffer_consumer_example \
|
|
|
|
ecore_buffer_provider_example
|
|
|
|
|
ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 07:23:54 -07:00
|
|
|
ecore_buffer_example_SOURCES = ecore_buffer_example.c
|
|
|
|
ecore_buffer_example_LDADD = $(ECORE_EVAS_COMMON_LDADD) \
|
|
|
|
$(top_builddir)/src/lib/ecore_buffer/libecore_buffer.la
|
|
|
|
|
|
|
|
ecore_buffer_consumer_example_SOURCES = ecore_buffer_consumer_example.c
|
|
|
|
ecore_buffer_consumer_example_LDADD = $(ECORE_EVAS_COMMON_LDADD) \
|
|
|
|
$(top_builddir)/src/lib/ecore_buffer/libecore_buffer.la
|
|
|
|
|
|
|
|
ecore_buffer_provider_example_SOURCES = ecore_buffer_provider_example.c
|
|
|
|
ecore_buffer_provider_example_LDADD = $(ECORE_EVAS_COMMON_LDADD) \
|
|
|
|
$(top_builddir)/src/lib/ecore_buffer/libecore_buffer.la
|
2015-06-24 04:46:43 -07:00
|
|
|
endif
|
ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 07:23:54 -07:00
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_client_bench_SOURCES = ecore_client_bench.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_client_bench_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2014-06-27 11:25:45 -07:00
|
|
|
ecore_compose_get_example_SOURCES = ecore_compose_get_example.c
|
2014-07-28 17:11:17 -07:00
|
|
|
ecore_compose_get_example_LDADD = $(ECORE_EVAS_COMMON_LDADD) \
|
|
|
|
$(top_builddir)/src/lib/ecore_input/libecore_input.la
|
2014-06-27 11:25:45 -07:00
|
|
|
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_con_client_example_SOURCES = ecore_con_client_example.c
|
|
|
|
ecore_con_client_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_con_client_simple_example_SOURCES = ecore_con_client_simple_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_con_client_simple_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_con_lookup_example_SOURCES = ecore_con_lookup_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_con_lookup_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_con_server_example_SOURCES = ecore_con_server_example.c
|
|
|
|
ecore_con_server_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_con_server_http_example_SOURCES = ecore_con_server_http_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_con_server_http_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_con_server_simple_example_SOURCES = ecore_con_server_simple_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_con_server_simple_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_con_url_cookies_example_SOURCES = ecore_con_url_cookies_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_con_url_cookies_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_con_url_download_example_SOURCES = ecore_con_url_download_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_con_url_download_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_con_url_headers_example_SOURCES = ecore_con_url_headers_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_con_url_headers_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2016-11-28 21:16:53 -08:00
|
|
|
ecore_con_url_ftp_example_SOURCES = ecore_con_url_ftp_example.c
|
|
|
|
ecore_con_url_ftp_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_evas_basics_example_SOURCES = ecore_evas_basics_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_evas_basics_example_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_evas_buffer_example_01_SOURCES = ecore_evas_buffer_example_01.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_evas_buffer_example_01_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_evas_buffer_example_02_SOURCES = ecore_evas_buffer_example_02.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_evas_buffer_example_02_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2013-02-15 01:32:40 -08:00
|
|
|
ecore_evas_extn_socket_example_SOURCES = ecore_evas_extn_socket_example.c
|
|
|
|
ecore_evas_extn_socket_example_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
|
|
|
|
|
|
|
ecore_evas_extn_plug_example_SOURCES = ecore_evas_extn_plug_example.c
|
|
|
|
ecore_evas_extn_plug_example_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_evas_callbacks_SOURCES = ecore_evas_callbacks.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_evas_callbacks_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_evas_ews_example_SOURCES = ecore_evas_ews_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_evas_ews_example_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_evas_object_example_SOURCES = ecore_evas_object_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_evas_object_example_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2016-10-07 11:57:04 -07:00
|
|
|
ecore_evas_wayland_multiseat_example_SOURCES = ecore_evas_wayland_multiseat_example.c
|
|
|
|
ecore_evas_wayland_multiseat_example_LDADD = $(ECORE_EVAS_COMMON_LDADD) \
|
|
|
|
$(top_builddir)/src/lib/ecore_input/libecore_input.la
|
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_evas_window_sizes_example_SOURCES = ecore_evas_window_sizes_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_evas_window_sizes_example_LDADD = $(ECORE_EVAS_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2016-09-27 15:17:12 -07:00
|
|
|
ecore_evas_vnc_example_SOURCES = ecore_evas_vnc_example.c
|
|
|
|
ecore_evas_vnc_example_LDADD = $(ECORE_EVAS_COMMON_LDADD) \
|
2016-09-27 14:17:07 -07:00
|
|
|
$(top_builddir)/src/lib/ecore_input/libecore_input.la
|
2016-09-15 15:57:02 -07:00
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_event_example_01_SOURCES = ecore_event_example_01.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_event_example_01_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_event_example_02_SOURCES = ecore_event_example_02.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_event_example_02_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_exe_example_SOURCES = ecore_exe_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_exe_example_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_exe_example_child_SOURCES = ecore_exe_example_child.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_exe_example_child_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_fd_handler_example_SOURCES = ecore_fd_handler_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_fd_handler_example_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2013-01-04 15:51:53 -08:00
|
|
|
if HAVE_CRYPTO_GNUTLS
|
|
|
|
EXTRA_PROGRAMS += ecore_fd_handler_gnutls_example
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_fd_handler_gnutls_example_SOURCES = ecore_fd_handler_gnutls_example.c
|
2013-10-01 13:53:29 -07:00
|
|
|
ecore_fd_handler_gnutls_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2013-01-04 15:51:53 -08:00
|
|
|
endif
|
2013-01-04 12:55:12 -08:00
|
|
|
|
|
|
|
ecore_file_download_example_SOURCES = ecore_file_download_example.c
|
2013-01-04 15:51:53 -08:00
|
|
|
ecore_file_download_example_LDADD = $(ECORE_COMMON_LDADD) \
|
|
|
|
$(top_builddir)/src/lib/ecore_file/libecore_file.la
|
2013-01-04 12:55:12 -08:00
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_idler_example_SOURCES = ecore_idler_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_idler_example_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_imf_example_SOURCES = ecore_imf_example.c
|
2013-01-18 06:45:44 -08:00
|
|
|
ecore_imf_example_LDADD = $(ECORE_EVAS_COMMON_LDADD) \
|
2013-01-04 15:51:53 -08:00
|
|
|
$(top_builddir)/src/lib/ecore_imf/libecore_imf.la \
|
2013-01-18 06:45:44 -08:00
|
|
|
$(top_builddir)/src/lib/ecore_imf_evas/libecore_imf_evas.la
|
2013-01-04 15:51:53 -08:00
|
|
|
|
2013-01-04 12:55:12 -08:00
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_job_example_SOURCES = ecore_job_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_job_example_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2013-01-04 15:51:53 -08:00
|
|
|
if HAVE_GSTREAMER
|
2013-10-01 13:40:10 -07:00
|
|
|
EXTRA_PROGRAMS += ecore_pipe_gstreamer_example
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_pipe_gstreamer_example_SOURCES = ecore_pipe_gstreamer_example.c
|
2013-01-04 15:51:53 -08:00
|
|
|
ecore_pipe_gstreamer_example_LDADD = $(ECORE_COMMON_LDADD) @GSTREAMER_LIBS@
|
|
|
|
ecore_pipe_gstreamer_example_CFLAGS = @GSTREAMER_CFLAGS@
|
|
|
|
endif
|
2013-01-04 12:55:12 -08:00
|
|
|
|
2014-01-08 22:41:54 -08:00
|
|
|
if ! HAVE_WINDOWS
|
|
|
|
EXTRA_PROGRAMS += ecore_pipe_simple_example
|
2012-12-03 11:36:16 -08:00
|
|
|
ecore_pipe_simple_example_SOURCES = ecore_pipe_simple_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_pipe_simple_example_LDADD = $(ECORE_COMMON_LDADD)
|
2014-01-08 22:41:54 -08:00
|
|
|
endif
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_poller_example_SOURCES = ecore_poller_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_poller_example_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_server_bench_SOURCES = ecore_server_bench.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_server_bench_LDADD = $(ECORE_CON_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_thread_example_SOURCES = ecore_thread_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_thread_example_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_time_functions_example_SOURCES = ecore_time_functions_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_time_functions_example_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
ecore_timer_example_SOURCES = ecore_timer_example.c
|
2012-12-30 16:46:14 -08:00
|
|
|
ecore_timer_example_LDADD = $(ECORE_COMMON_LDADD)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
2013-12-17 12:08:27 -08:00
|
|
|
ecore_getopt_example_SOURCES = ecore_getopt_example.c
|
|
|
|
ecore_getopt_example_LDADD = $(ECORE_COMMON_LDADD)
|
|
|
|
|
2016-05-18 02:34:21 -07:00
|
|
|
ecore_con_eet_client_example_SOURCES = ecore_con_eet_client_example.c \
|
|
|
|
ecore_con_eet_descriptor_example.c \
|
|
|
|
ecore_con_eet_descriptor_example.h
|
2015-09-10 21:19:36 -07:00
|
|
|
ecore_con_eet_client_example_LDADD = $(ECORE_CON_COMMON_LDADD) \
|
|
|
|
$(top_builddir)/src/lib/eet/libeet.la
|
2015-04-22 05:58:44 -07:00
|
|
|
|
2016-05-18 02:34:21 -07:00
|
|
|
ecore_con_eet_server_example_SOURCES = ecore_con_eet_server_example.c \
|
|
|
|
ecore_con_eet_descriptor_example.c \
|
|
|
|
ecore_con_eet_descriptor_example.h
|
2015-09-10 21:19:36 -07:00
|
|
|
ecore_con_eet_server_example_LDADD = $(ECORE_CON_COMMON_LDADD) \
|
|
|
|
$(top_builddir)/src/lib/eet/libeet.la
|
2015-04-22 05:58:44 -07:00
|
|
|
|
2016-08-13 00:50:29 -07:00
|
|
|
|
|
|
|
efl_io_copier_example_SOURCES = efl_io_copier_example.c
|
|
|
|
efl_io_copier_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2016-08-23 07:58:19 -07:00
|
|
|
efl_io_copier_simple_example_SOURCES = efl_io_copier_simple_example.c
|
|
|
|
efl_io_copier_simple_example_LDADD = $(ECORE_COMMON_LDADD)
|
|
|
|
|
2016-08-23 16:03:10 -07:00
|
|
|
efl_io_queue_example_SOURCES = efl_io_queue_example.c
|
|
|
|
efl_io_queue_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2016-11-24 19:27:33 -08:00
|
|
|
efl_io_buffered_stream_example_SOURCES = efl_io_buffered_stream_example.c
|
|
|
|
efl_io_buffered_stream_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
efl.net: socket, server and dialer for TCP.
Efl.Net.Server defines how to accept new connections, doing the
bind(), listen() and accept() for protocols such as TCP.
Efl.Net.Dialer defines to to reach a server.
Both are based on Efl.Net.Socket as communication interface that is
based on Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus being
usable with code such as Efl.Io.Copier.
The Server will emit an event "client,add" with the established
Socket, which is a child and can be closed by both the server or the
user.
The Dialer extends the Socket and allows for creating one given an
address, that will be resolved and connected.
TCP is the initial implementation so we an validate the
interfaces. UDP, Unix-Local and SSL will come later as derivate
classes.
The examples are documented and should cover the basic principles:
- efl_io_copier_example can accept "tcp://IP:PORT" and will work as a
"netcat", can send data from socket, file or stdin to a socket,
file, stdout or stderr.
- efl_net_server_example listens for connections and can either reply
"Hello World!" and take some data or work as an echo-server,
looping back all received data to the user.
More complex interactions that require a "chat" between client and
server will be covered with new classes later, such as a queue that
empties itself once data is read.
2016-08-17 21:53:16 -07:00
|
|
|
efl_net_server_example_SOURCES = efl_net_server_example.c
|
|
|
|
efl_net_server_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
efl_net_{socket,dialer,server}_simple: easy to use, buffered network sockets.
The low level I/O primitives are powerful but adds some complexity to
use, for bi-directional streaming communication one ends creating two
Efl.Io.Queue and two Efl.Io.Copier to pipe data to socket when it can
operate.
Then encapsulate the socket using the new Efl.Io.Buffered_Stream, this
will allow the socket, be a dialer or a server client, to be operated
as a single handle that internally carries about the buffering for
you.
As one can see in the examples, compared to their "manual"
alternatives they are very easy to use, ressembling
Ecore_Con_Server/Ecore_Con_Client, but also offers line-based
delimiters and the possibility to let the socket to handle queueing
for you in case you received partial messages (just do not
read/clear/discard the received data).
2016-11-25 11:18:34 -08:00
|
|
|
efl_net_server_simple_example_SOURCES = efl_net_server_simple_example.c
|
|
|
|
efl_net_server_simple_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2016-08-19 20:55:26 -07:00
|
|
|
efl_net_dialer_http_example_SOURCES = efl_net_dialer_http_example.c
|
|
|
|
efl_net_dialer_http_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2016-08-29 20:28:00 -07:00
|
|
|
efl_net_dialer_websocket_example_SOURCES = efl_net_dialer_websocket_example.c
|
|
|
|
efl_net_dialer_websocket_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
|
|
|
efl_net_dialer_websocket_autobahntestee_SOURCES = efl_net_dialer_websocket_autobahntestee.c
|
|
|
|
efl_net_dialer_websocket_autobahntestee_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2016-10-18 13:51:59 -07:00
|
|
|
efl_net_dialer_udp_example_SOURCES = efl_net_dialer_udp_example.c
|
|
|
|
efl_net_dialer_udp_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
efl_net_{socket,dialer,server}_simple: easy to use, buffered network sockets.
The low level I/O primitives are powerful but adds some complexity to
use, for bi-directional streaming communication one ends creating two
Efl.Io.Queue and two Efl.Io.Copier to pipe data to socket when it can
operate.
Then encapsulate the socket using the new Efl.Io.Buffered_Stream, this
will allow the socket, be a dialer or a server client, to be operated
as a single handle that internally carries about the buffering for
you.
As one can see in the examples, compared to their "manual"
alternatives they are very easy to use, ressembling
Ecore_Con_Server/Ecore_Con_Client, but also offers line-based
delimiters and the possibility to let the socket to handle queueing
for you in case you received partial messages (just do not
read/clear/discard the received data).
2016-11-25 11:18:34 -08:00
|
|
|
efl_net_dialer_simple_example_SOURCES = efl_net_dialer_simple_example.c
|
|
|
|
efl_net_dialer_simple_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2016-10-26 13:57:37 -07:00
|
|
|
if ! HAVE_WINDOWS
|
|
|
|
EXTRA_PROGRAMS += efl_net_dialer_unix_example
|
|
|
|
efl_net_dialer_unix_example_SOURCES = efl_net_dialer_unix_example.c
|
|
|
|
efl_net_dialer_unix_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
endif
|
|
|
|
|
2016-10-28 17:48:19 -07:00
|
|
|
efl_net_socket_ssl_dialer_example_SOURCES = efl_net_socket_ssl_dialer_example.c
|
|
|
|
efl_net_socket_ssl_dialer_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
|
|
|
efl_net_socket_ssl_server_example_SOURCES = efl_net_socket_ssl_server_example.c
|
|
|
|
efl_net_socket_ssl_server_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
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-09-15 17:43:19 -07:00
|
|
|
efl_net_session_example_SOURCES = efl_net_session_example.c
|
|
|
|
efl_net_session_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
|
|
|
efl_net_control_example_SOURCES = efl_net_control_example.c
|
|
|
|
efl_net_control_example_LDADD = $(ECORE_CON_COMMON_LDADD)
|
|
|
|
|
2016-11-22 11:27:16 -08:00
|
|
|
ecore_ipc_server_example_SOURCES = ecore_ipc_server_example.c
|
|
|
|
ecore_ipc_server_example_LDADD = $(ECORE_IPC_COMMON_LDADD)
|
|
|
|
|
|
|
|
ecore_ipc_client_example_SOURCES = ecore_ipc_client_example.c
|
|
|
|
ecore_ipc_client_example_LDADD = $(ECORE_IPC_COMMON_LDADD)
|
|
|
|
|
2012-12-03 11:36:16 -08:00
|
|
|
SRCS = \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_animator_example.c \
|
ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 07:23:54 -07:00
|
|
|
ecore_buffer_example.c \
|
|
|
|
ecore_buffer_consumer_example.c \
|
|
|
|
ecore_buffer_provider_example.c \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_client_bench.c \
|
2014-06-27 11:25:45 -07:00
|
|
|
ecore_compose_get_example.c \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_con_client_example.c \
|
|
|
|
ecore_con_client_simple_example.c \
|
|
|
|
ecore_con_lookup_example.c \
|
|
|
|
ecore_con_server_example.c \
|
|
|
|
ecore_con_server_http_example.c \
|
|
|
|
ecore_con_server_simple_example.c \
|
|
|
|
ecore_con_url_cookies_example.c \
|
|
|
|
ecore_con_url_download_example.c \
|
|
|
|
ecore_con_url_headers_example.c \
|
2016-11-28 21:16:53 -08:00
|
|
|
ecore_con_url_ftp_example.c \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_evas_basics_example.c \
|
|
|
|
ecore_evas_buffer_example_01.c \
|
|
|
|
ecore_evas_buffer_example_02.c \
|
2013-02-15 01:32:40 -08:00
|
|
|
ecore_evas_extn_socket_example.c \
|
|
|
|
ecore_evas_extn_plug_example.c \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_evas_callbacks.c \
|
|
|
|
ecore_evas_ews_example.c \
|
|
|
|
ecore_evas_object_example.c \
|
2016-10-07 11:57:04 -07:00
|
|
|
ecore_evas_wayland_multiseat_example.c \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_evas_window_sizes_example.c \
|
2016-09-27 15:17:12 -07:00
|
|
|
ecore_evas_vnc_example.c \
|
2013-01-04 12:55:12 -08:00
|
|
|
ecore_event_example_01.c \
|
|
|
|
ecore_event_example_02.c \
|
|
|
|
ecore_exe_example.c \
|
|
|
|
ecore_exe_example_child.c \
|
|
|
|
ecore_fd_handler_example.c \
|
|
|
|
ecore_fd_handler_gnutls_example.c \
|
|
|
|
ecore_file_download_example.c \
|
|
|
|
ecore_idler_example.c \
|
|
|
|
ecore_imf_example.c \
|
|
|
|
ecore_job_example.c \
|
|
|
|
ecore_pipe_gstreamer_example.c \
|
|
|
|
ecore_pipe_simple_example.c \
|
|
|
|
ecore_poller_example.c \
|
|
|
|
ecore_server_bench.c \
|
|
|
|
ecore_thread_example.c \
|
|
|
|
ecore_time_functions_example.c \
|
2013-12-17 12:08:27 -08:00
|
|
|
ecore_timer_example.c \
|
2015-04-22 05:58:44 -07:00
|
|
|
ecore_getopt_example.c \
|
|
|
|
ecore_con_eet_client_example.c \
|
|
|
|
ecore_con_eet_server_example.c \
|
2016-08-13 00:50:29 -07:00
|
|
|
ecore_con_eet_descriptor_example.c \
|
2016-08-19 20:55:26 -07:00
|
|
|
efl_io_copier_example.c \
|
2016-08-23 07:58:19 -07:00
|
|
|
efl_io_copier_simple_example.c \
|
2016-08-23 16:03:10 -07:00
|
|
|
efl_io_queue_example.c \
|
2016-11-24 19:27:33 -08:00
|
|
|
efl_io_buffered_stream_example.c \
|
2016-08-19 20:55:26 -07:00
|
|
|
efl_net_server_example.c \
|
efl_net_{socket,dialer,server}_simple: easy to use, buffered network sockets.
The low level I/O primitives are powerful but adds some complexity to
use, for bi-directional streaming communication one ends creating two
Efl.Io.Queue and two Efl.Io.Copier to pipe data to socket when it can
operate.
Then encapsulate the socket using the new Efl.Io.Buffered_Stream, this
will allow the socket, be a dialer or a server client, to be operated
as a single handle that internally carries about the buffering for
you.
As one can see in the examples, compared to their "manual"
alternatives they are very easy to use, ressembling
Ecore_Con_Server/Ecore_Con_Client, but also offers line-based
delimiters and the possibility to let the socket to handle queueing
for you in case you received partial messages (just do not
read/clear/discard the received data).
2016-11-25 11:18:34 -08:00
|
|
|
efl_net_server_simple_example.c \
|
2016-08-29 20:28:00 -07:00
|
|
|
efl_net_dialer_http_example.c \
|
|
|
|
efl_net_dialer_websocket_example.c \
|
2016-10-18 13:51:59 -07:00
|
|
|
efl_net_dialer_websocket_autobahntestee.c \
|
2016-10-28 17:48:19 -07:00
|
|
|
efl_net_dialer_udp_example.c \
|
efl_net_{socket,dialer,server}_simple: easy to use, buffered network sockets.
The low level I/O primitives are powerful but adds some complexity to
use, for bi-directional streaming communication one ends creating two
Efl.Io.Queue and two Efl.Io.Copier to pipe data to socket when it can
operate.
Then encapsulate the socket using the new Efl.Io.Buffered_Stream, this
will allow the socket, be a dialer or a server client, to be operated
as a single handle that internally carries about the buffering for
you.
As one can see in the examples, compared to their "manual"
alternatives they are very easy to use, ressembling
Ecore_Con_Server/Ecore_Con_Client, but also offers line-based
delimiters and the possibility to let the socket to handle queueing
for you in case you received partial messages (just do not
read/clear/discard the received data).
2016-11-25 11:18:34 -08:00
|
|
|
efl_net_dialer_simple_example.c \
|
2016-10-28 17:48:19 -07:00
|
|
|
efl_net_socket_ssl_dialer_example.c \
|
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-09-15 17:43:19 -07:00
|
|
|
efl_net_socket_ssl_server_example.c \
|
|
|
|
efl_net_session_example.c \
|
2016-11-22 11:27:16 -08:00
|
|
|
efl_net_control_example.c \
|
|
|
|
ecore_ipc_server_example.c \
|
|
|
|
ecore_ipc_client_example.c
|
2013-01-04 12:55:12 -08:00
|
|
|
|
2016-11-01 06:52:21 -07:00
|
|
|
%.pem:
|
|
|
|
echo -e "US\nOR\nPortland\nXPTO Ltd\n\nlocalhost\nroot@localhost\n" | openssl req -new -x509 -days 30 -nodes -out $@ -keyout $@
|
|
|
|
|
2013-02-08 09:35:24 -08:00
|
|
|
DATA_FILES = red.png Makefile.examples
|
2013-01-04 12:55:12 -08:00
|
|
|
|
|
|
|
EXTRA_DIST = $(DATA_FILES)
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
examples: $(EXTRA_PROGRAMS)
|
|
|
|
|
|
|
|
clean-local:
|
|
|
|
rm -f $(EXTRA_PROGRAMS)
|
|
|
|
|
|
|
|
install-examples:
|
2016-04-14 17:00:08 -07:00
|
|
|
$(MKDIR_P) $(DESTDIR)$(datadir)/ecore/examples
|
|
|
|
cd $(srcdir) && $(install_sh_DATA) -c $(SRCS) $(DATA_FILES) $(DESTDIR)$(datadir)/ecore/examples
|
2012-12-03 11:36:16 -08:00
|
|
|
|
|
|
|
uninstall-local:
|
2013-01-04 12:55:12 -08:00
|
|
|
for f in $(SRCS) $(DATA_FILES); do \
|
2016-04-14 17:00:08 -07:00
|
|
|
rm -f $(DESTDIR)$(datadir)/ecore/examples/$$f ; \
|
2012-12-03 11:36:16 -08:00
|
|
|
done
|
2013-01-05 06:41:14 -08:00
|
|
|
|
|
|
|
if ALWAYS_BUILD_EXAMPLES
|
|
|
|
noinst_PROGRAMS = $(EXTRA_PROGRAMS)
|
|
|
|
endif
|