Commit Graph

61 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri f2667f12a6 examples/ecore: command to generate OpenSSL PEM files.
it's cumbersome to remember these commands and without them it's hard
to test the SSL server examples, so add a make rule for that.
2016-11-01 11:52:21 -02:00
Gustavo Sverzut Barbieri 973f2c29b5 efl_net_socket_ssl: initial SSL wrapper.
This is the first step towards SSL connections on top of sockets, with
an example on how to upgrade a dialer and a server client using TCP.
2016-10-31 19:39:33 -02:00
Stefan Schmidt e17a8d1d9a examples: ecore: add ecore_evas_vnc example binary to .gitignore 2016-10-27 18:22:42 +02:00
Gustavo Sverzut Barbieri fc2b980421 addded efl_net_{socket,dialer,server}_unix
This introduces AF_UNIX server and dialer, these are not available on
Windows as in that platform we'll create a custom class for native
'local' communication.

In the future we can add a wrapper class Efl.Net.Local that will use
the class for each platform, but won't expose its details.

For instance, if we ever expose 'credentials' (which I didn't because
they are not portable), then it doesn't make sense to try to match
that on Windows. The 'Efl.Net.Local' would just stick to the basics:
Reader, Writer and Closer APIs.
2016-10-26 19:01:03 -02:00
Gustavo Sverzut Barbieri b36e2c65f6 efl_net_dialer_udp: "connect" to an UDP server to send and receive data.
Like existing ecore_con code, this does not use SOCKSv5 UDP
proxy. It's kinda cumbersome to add since requires a keep alive TCP
connection to the server, a second UDP channel and framing around the
original UDP frame.

Added UDP_CORK (if present) to match TCP_UDP present in TCP sockets,
this allows one to execute multiple write() calls that will result in
a single datagram, generated when CORK becomes FALSE again.

The efl_io_copier_example.c now accepts this as output. There is no
input UDP as there is no way to notify the server of a connection
(since such thing doesn't exit), usually servers react after a
datagram is received, replying to the source.
2016-10-18 19:04:00 -02:00
Bruno Dilly 3f730b47f9 examples/ecore: add example suffix to ecore_evas_vnc
Make its name similar to all the other example
files on this folder.
2016-09-28 14:42:58 -03:00
Bruno Dilly 0eab34c68f examples/ecore: fix vnc example build
Fix missing dependency.

Get rid of the following error:

/usr/bin/ld: ecore_evas_vnc.o: undefined reference
  to symbol 'ECORE_EVENT_MOUSE_BUTTON_UP'
src/lib/ecore_input/.libs/libecore_input.so.1: error adding symbols:
  DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:2306: recipe for target 'ecore_evas_vnc' failed
2016-09-28 14:42:58 -03:00
Guilherme Iscaro 22dd89ca65 Examples: Add an Ecore Evas VNC example.
This commit adds an Ecore_Evas examples that can be used to test
the VNC multi-seat support.
2016-09-26 22:06:59 -03:00
Gustavo Sverzut Barbieri 394b9411ce efl_net_dialer_websocket: EFL now does WebSocket!
The Efl.Net.Dialer.Websocket is just like other Efl.Net.Dialers: you
can dial, you can close, monitor connected/address resolved and so
on. And you can use WebSocket primitives and events such as
text_send(), binary_send(), ping() and close_request() (since
WebSockets use a close process where you should state a close
reason). See efl_net_dialer_websocket_example.c

Even if WebSocket is a message-based protocol (like "packets" from
UDP), you can use efl_net_dialer_websocket_streaming_mode_set() to
tell it to handle text or binary messages as a stream. Then all the
Efl.Io.Reader and Efl.Io.Writer APIs work as expected, see
efl_io_copier_example.c updates.
2016-09-02 00:08:50 -03:00
Gustavo Sverzut Barbieri 8c23ab0685 efl_io_queue: basic class to interact with Efl.Io interfaces.
The use of low-level interfaces such as Efl.Io.Reader and
Efl.Io.Writer are not that user-friendly as they can handle partial
data.

Classes such as Efl.Io.Copier makes them easy to use, but they need a
reader (source) or writer (destination) and in our examples we used
fixed buffers or some existing streams (stdin/stdout/stderr,
networking...).

However, if interactively we need to produce some data to be sent,
such as implementing some networking protocols, we'd have to write our
own Efl.Io.Reader and Efl.Io.Writer classes to handle the buffering.

Not anymore! With Efl.Io.Queue you can write stuff to it and it will
buffer to memory. Once stuff is read, it will automatically remove
those bytes from buffer.
2016-08-23 20:17:13 -03:00
Gustavo Sverzut Barbieri c4d09a7a34 examples: add efl_io_copier_simple_example.c
a simpler example to be listed in wiki.
2016-08-23 12:05:37 -03:00
Gustavo Sverzut Barbieri fe07b8cdab WIP: efl.net: Introduce Efl.Net.Dialer.Http
This class implements the Efl.Net.Dialer interface using libcurl to
perform HTTP requests. That means it's an Efl.Net.Dialer,
Efl.Net.Socket, Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus
being usable with Efl.Io.Copier as demonstrated in the
efl_io_copier_example.c
2016-08-22 18:25:15 -03:00
Gustavo Sverzut Barbieri b0b6757bc5 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-22 18:25:14 -03:00
Gustavo Sverzut Barbieri d0f0bd20a0 efl.io: introduce basic interfaces and classes.
These interfaces allows generic operations on objects that can store
or provide data, such as a file or a buffer.

With well defined interfaces and events we can create code such as
Efl.Io.Copier, that will link a source with a destination and
progressively copy data as they appear.
2016-08-22 18:25:14 -03:00
Stefan Schmidt 179de70189 examples: ecore: do not try to install files which are not available
The ecore_audio examples have been disabled and now do not compile right now.
But as they are disabled they never land in the tarball and thus we error out
with files not aviavle for install. Found by the OpenSUSE build service. Thanks
Simotek for reporting.

[ 2172s] /home/abuild/rpmbuild/BUILD/efl-1.17.99.47400/install-sh: ecore_audio_custom.c does not
exist.
2016-06-07 14:20:17 +02:00
Stefan Schmidt 02e20a063e examples: ecore: add all needed files to SOURCES to make sure they are distributed
This worked in-tree but never landed in a distribution tarball and thus the
examples build form such a tarball would fail.
2016-05-18 12:17:16 +02:00
Jean-Philippe Andre cc413235d0 Examples: Fix compilation (disable CXX examples!)
Warning: This disables CXX examples because they use
now-internal APIs that have no EO API binding.
Those examples should be updated to use Efl.Ui widgets... once
we have them.
2016-04-21 17:16:53 +09:00
Cedric BAIL 9dfb570be9 examples: add DESTDIR support for install. 2016-04-14 17:00:08 -07:00
David Walter Seikel 99a497aa33 ecore - let the ecore_con_eet_*.c examples build.
When using the --enable-always-build-examples configure option, these two
examples need to be linked to eet.

@fix
2015-09-11 14:19:36 +10:00
Stefan Schmidt 07f650a81c examples: Fix build after ecore_buffer commit.
Since 8b621775619b9959fe952b095b3baaa7aaa99572 make examples fails to build
as the examples have been included without checking if ecore_buffer is
actually enabled to build.

make[2]: *** No rule to make target '../../../src/lib/ecore_buffer/libecore_buffer.la', needed by 'ecore_buffer_example'.  Stop.

I'm running make examples during the nightlies now in the hope to catch those.
2015-06-24 13:46:43 +02:00
Seunghun Lee dd7ef2dbc5 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 10:31:42 -04:00
Felipe Magno de Almeida e5874cc1ec Fix ecore_con_eet_client_example example compilation error
Added eet to include flags for Makefile.am for ecore examples
2015-04-23 22:20:16 -03:00
Cedric BAIL 72ca2b7ec9 ecore: build newly added Ecore_Con examples. 2015-04-22 15:10:20 +02:00
Srivardhan Hebbar 3e4b061206 ecore_con: example program for ecore_con_eet.
Summary:

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2323

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-22 15:10:20 +02:00
Srivardhan Hebbar a4f8fa0679 ecore_con: add example for ftp upload.
Summary:
Added example for ftp upload. In the .gitignore only 2 files added which were missing. The differences it is showing is cos of reordering. I did ls and redirected the file to gitignore. So the files got reordered.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2223

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-03-25 19:40:41 +01:00
Cedric BAIL 43187b66a9 emile: build examples after adding emile. 2015-03-17 09:58:19 +01:00
Stefan Schmidt 028f6ebc68 build: Unify use of $(MKDIR_P) for creating a dir within the build system
While we used different variation of mkdir -p all over we also had spots
where we did not use the option. This is one step in trying to make our
build system ready for parallel install. Using something like -j 10 even
for the install should help to speed up our jenkins jobs as well as distcheck.
2015-02-25 16:43:35 +01:00
Stefan Schmidt c2a06ff0c8 examples: Add latest example binaries to .gitignore
These are build and should be ignored by git.
2014-09-02 17:11:38 +02:00
Wonguk Jeong 84e07950cc ecore: fix example build fail (ecore_compose_get_example) 2014-07-29 02:11:17 +02:00
Savio Sena 23c6bce63e autotools: Fixed 'make examples' and 'make examples-install'
It was broken in set-ups with ($(builddir) != $(srcdir)) && ($(builddir) !=
$(srcdir)/build)
2014-07-02 20:01:09 -03:00
Tom Hacohen 0bb21a2ee9 Ecore examples: Add ecore_compose_get() example.
Example created by Vincent Torri.
2014-06-30 17:42:58 +01:00
Vincent Torri fc485b765a autotools: really don't build Unix specific example on Windows
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-01-10 16:34:56 +09:00
Cedric BAIL a8c55b5a33 ecore: don't build Unix specific example on Windows. 2014-01-09 10:17:14 +09:00
Gustavo Sverzut Barbieri d32e6e0500 add great ecore_getopt example.
should cover and explain getopt usage and serve as base for
applications that want to use it (all efl should!)
2013-12-17 18:08:27 -02:00
U. Artie Eoff 1389dde258 examples/ecore: don't use ECORE_CON_LIBS
We can't use ECORE_CON_LIBS at the examples/ "make" context
since it defines libraries relative to the src/ directory
(e.g. lib/ecore/libecore.la).  Use ECORE_CON_COMMON_LDADD instead.

This fixes the following link error with ecore_fd_handler_gnutls_example
when the project is configured with --with-crypto=gnutls:

libtool: link: cannot find the library `lib/ecore/libecore.la'

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2013-10-01 13:53:29 -07:00
U. Artie Eoff 403a487e44 examples/ecore: ecore_pipe_gstreamer_example must go in HAVE_GSTREAMER guard
Only specify ecore_pipe_gstreamer_example in EXTRA_PROGRAMS inside the
HAVE_GSTREAMER makefile guard.

Fixes: https://phab.enlightenment.org/T423

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2013-10-01 13:46:57 -07:00
Daniel Willmann 03e0754412 ecore example: Disable ecore_audio examples while Eo is in flux
There is no legacy API we could use here, so just disable building for
now.
2013-07-24 08:57:05 +02:00
Eduardo Lima (Etrunko) f67a0fcad7 Split .gitignore into multiple files
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
2013-06-11 18:18:50 -03:00
Carsten Haitzler a73b21f13f fix examples makefiles to find Efl_Config.h 2013-04-25 02:08:49 +09:00
Daniel Willmann ee3ea49cfa ecore_audio: Make custom input example work with eo
Uses VIO to implement a custom read function

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:16:38 +01:00
Daniel Willmann 1de5d3cd23 ecore_audio: Implement ecore_audio_playback example with eo
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:15:37 +01:00
Daniel Willmann 575069ae18 ecore_audio: Update transcoding example to work with eo
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:14:25 +01:00
Daniel Willmann 79bc257a60 ecore_audio: Build Eo-based Ecore_Audio and tests now
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-18 19:12:17 +01:00
Tom Hacohen 5a8bfea09b Revert "Fix build break"
This doesn't really fix build break, it actually breaks it.

This reverts commit e655f0b7358765f02ea392971c6ddbf8518c37c8.
2013-02-15 16:19:35 +00:00
Jaehwan Kim 310834a5b2 Fix build break 2013-02-15 20:15:58 +09:00
Jiyoun Park 2ccc13696a Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas
I add new example related with this. (ecore_evas_extn_socket & plug example)
ecore extn use this infrasturcture, server app and client app can communicate each other
later, this can be used to contorl access message


SVN revision: 83942
2013-02-15 09:32:40 +00:00
Ricardo de Almeida Gonzaga 4f3ca3efcd efl: add makefile.examples to each lib
Patch by: Ricardo de Almeida Gonzaga <ricardo@profusion.mobi>



SVN revision: 83795
2013-02-08 17:35:24 +00:00
Gustavo Sverzut Barbieri 4e9f2eaaf9 fix DSO spotted by stefan
SVN revision: 82982
2013-01-18 14:45:44 +00:00
Gustavo Sverzut Barbieri b2eba6e2b4 fix examples builds with recent module split.
ecore examples should be split... but I'm not in the mood to do so.



SVN revision: 82839
2013-01-15 19:27:48 +00:00
Gustavo Sverzut Barbieri 9c66145044 efl: fix out-of-tree build of examples.
edje and embryo include files are in source dir, not build.

codegen example must have dependency to build in correct order :-/



SVN revision: 82605
2013-01-11 03:57:29 +00:00