summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-25efl_net_{socket,dialer,server}_simple: easy to use, buffered network sockets.Gustavo Sverzut Barbieri
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-25efl_io_buffered_stream: wraps an I/O object and make it easy to use.Gustavo Sverzut Barbieri
Since all other efl.io objects are low-level, the recommended approach is to use an efl.io.copier. However when dealing with in-memory, bi-directional comms like talking to a socket, we always end with 2 queues, 2 copiers and the annoying setup that is being replicated in ecore_ipc, efl_debug and so on. This class is the base to make it simpler. Other classes such as Efl.Net.Socket.Simple, Efl.Net.Dialer.Simple and Efl.Net.Server.Simple will use it to provide simpler code to users. I guess we can call EFL+EO Java now?
2016-11-25efl_io_copier_flush: add may_block and ignore_line_delimiter parameters.Gustavo Sverzut Barbieri
The may_block parameter is useful to force a flush without blocking on read/write, sometimes particularly useful if ignore_line_delimiter is true, then you get the data events without blocking -- as if a server sending some content misses a trailing line delimiter, you do not want to block on recv() but still want to flush data to user. The ignore_line_delimiter parameter is useful if we're going to close the copier and want to flush pending data which may exist due missing trailing terminator. The close method will also force that if destination can take more data.
2016-11-25efl_io_copier: expose 'done' property.Gustavo Sverzut Barbieri
This property has a protected setter and will simplify both internal implementation as well as usage.
2016-11-25efl_net_server: add 'client_announce', share logic and fix a bug.Gustavo Sverzut Barbieri
I just realized that if a client is not referenced it would leak in the 'ssl' server as we must del it. However, if we del the SSL socket, we're going to close the underlying TCP. But we're from the TCP "client,add" callback and this causes issues since "closed" will be emitted, our close callback will unparent the client, which lead to it being deleted. The proper solution is to only monitor "closed" if the client is accepted. Otherwise we just check if it was closed, if we're the parent, etc... Fixing this in all servers were painful, we could share since most inherit from Efl.Net.Server.Fd. Then add the "client_announce" protected method to do it, and document how it should work.
2016-11-25efl_net_socket_fd: stop monitoring fd on EOS.Gustavo Sverzut Barbieri
There was a bug that if the remote peer closed the connection, it would trigger 'read' event, which would read 0 bytes, flagging as EOS... but then marking as "can_read", which was wrong. Just stop monitoring the events and fix that.
2016-11-25eina_slice: fix eina_slice_endswith() for same-sized slices.Gustavo Sverzut Barbieri
2016-11-25elementary_test: fix function name conflict on WindowsAndrii Kroitor
2016-11-25Edje_Edit: use specific function to get file's name correctly on Win and LinuxVitalii Vorobiov
Because '\' is dir path for linux, but '/' is dir path for Window, so better use specific function for getting file's name depending on specific system
2016-11-25elementary flip: skip unnecessary sizing.Hermet Park
Sizing in the constructor is wrong. It's just a waste of function call.
2016-11-25edje_pick: add base_scale value to target edj from origin edjJaehwan Kim
2016-11-25theme: Fix 1 pixel offset and hide clipped regionsJean-Philippe Andre
Thanks @raster for pointing this out: title bar and menu bar were resized down to 1 pixel high rather than 0. This meant that all CSD windows would see a 1-pixel line between the title bar and the app content, while SSD windows would see a 2-pixel line. Also clip out the icon, this makes a 1x1 pixel disappear from the top-left corner.
2016-11-24Merge branch 'devs/iscaro/focus-event'Bruno Dilly
This series changes evas focus events, always providing Efl.Input.Focus, making their usage way more straightforward. Patches by Guilherme Iscaro <iscaro@profusion.mobi> Differential Revision: https://phab.enlightenment.org/D4412
2016-11-24Efl.Canvas.Object: Remove focus,in/out events.Guilherme Iscaro
Since this object already inherist Efl.Input.Interface there's no need to have those events reimplemented.
2016-11-24Efl.Canvas: Use Efl.Input.Focus as event info for object,focus.in/out.Guilherme Iscaro
2016-11-24Evas: Use events to set canvas focus in/out.Guilherme Iscaro
2016-11-24Evas: Use events to flag canvas focus in/out.Guilherme Iscaro
2016-11-24Evas: Add Focus event type.Guilherme Iscaro
2016-11-24efl_debug (client): quit if not waiting and we're done sending.Gustavo Sverzut Barbieri
2016-11-24efl_debug (client): rewrite using efl_net.Gustavo Sverzut Barbieri
Rewrite and greatly improve error checking, allow multiple commands to be given in series, etc. This also leverages on Efl.Io.Queue to buffer data for us, then all we need to do is peek at its contents, when there is a full message we use and then ask the queue to discard it. The CLST processing was also rewritten to not allocate memory. Since memory may be unaligned we still iterate over the buffer and memcpy() to an integer to avoid alignment errors.
2016-11-24efl_io_queue: add discard method, useful in real life.Gustavo Sverzut Barbieri
While using efl_io_queue + slice_get I found that we need to discard data and the only way was to read to an actual buffer, kinda annoying. Then introduce a discard method to do that.
2016-11-24ecore_wl2: avoid adding repeated devicesBruno Dilly
Summary: After changes done on commit 9f8e2e0d9c9b4150 it was possible to have multiple devices with the same id added throught the function _ecore_evas_wl_common_cb_global_added(). To avoid such issue, let's check if the device was already created first. Reviewers: iscaro Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4428
2016-11-24efl_ui_win: fix build with no support for XJean Guyomarc'h
2016-11-24efl_debug: filter own pid.Gustavo Sverzut Barbieri
it's confusing and not helpful to report your own PID in 'list' command.
2016-11-24docs: enhance efl_io_copier.Gustavo Sverzut Barbieri
This is the core component of our new I/O subsystem, heavily used by efl.net and the likes. Then make sure the documentation is good :-)
2016-11-24docs: efl_io_copier: fill gaps in eo file documentationStefan Schmidt
2016-11-24docs: efl_pack_grid: fill gaps in eo file documentationStefan Schmidt
2016-11-24docs: elm: fill gaps in separator, view_form and view_list eo file documentationStefan Schmidt
2016-11-24docs: elm: fill gaps in button, color, combobox and conformant eo file ↵Stefan Schmidt
documentation
2016-11-24docs: elm: fill gaps in config, efl_ui_win and actionslider eo file ↵Stefan Schmidt
documentation
2016-11-24docs: elm: fill gaps in diskselector, entry and gesture_layer eo file ↵Stefan Schmidt
documentation
2016-11-24docs: elm: fill gaps in segment_control and slideshow eo file documentationStefan Schmidt
2016-11-24docs: elm: fill gaps in panel, photocam and progressbar eo file documentationStefan Schmidt
2016-11-24docs: elm: fill gaps in hover, hoversel and notify eo file documentationStefan Schmidt
2016-11-24docs: elm: fill gaps in systray, table, thumb and web eo file documentationStefan Schmidt
2016-11-24elementary: [atspi] using utf-8 text not markup textShinwoo Kim
2016-11-24docs: elm: fill gaps in prefs, radio, route, slider and spinner eo file docsStefan Schmidt
2016-11-24docs: elm_multibottonentry: fill gaps in eo file documentationStefan Schmidt
2016-11-24docs: elm: fill gaps in glview, pan, panes, photo and plug eo file documentationStefan Schmidt
2016-11-24docs: elm: fill gaps in box, grid, icon, inwin and label eo file documentationStefan Schmidt
2016-11-24docs: elm_mapbuf: fill gaps in elm_mapbuf eo file docuemntationStefan Schmidt
2016-11-24win: Disable CSD shadow if alpha and borderlessJean-Philippe Andre
If the content has alpha, we can't ensure that the square shadow will look good. So, hide it.
2016-11-24win: Fix framespace when using CSDJean-Philippe Andre
This was broken for X and WL after the previous patch.
2016-11-24win: Fix (hack around) E internal windows in WaylandJean-Philippe Andre
My previous patches have broken E Wayland internal windows, as the compositor wants to create Server-Side Decorations[1] but based on some mysterious heuristics, E will decide to show or not SSD. It seems the surface geometry, window geometry, input region and maybe opaque region need to all match. There was a pixel difference in the theme which broke everything, also CSD shadows must be turned off in that case. This also fixes inputs as for some reason a mismatching input region vs window geometry would break pointer move/up/down in those internal windows. [1] I believe this is not a great idea and E should never draw any server-side decorations in Wayland. Wayland was supposed to mean only CSD, no more SSD.
2016-11-24efl path: add missing value intializing.Hermet Park
It might be broken at some particular vector drawing.
2016-11-24efl_net_dialer_http: use efl_loop_fd now that it's fixed.Gustavo Sverzut Barbieri
now that efl_loop_fd manages callbacks -> Ecore_Fd_Handler properly, we can remove the old code.
2016-11-24efl_io_std{in,out,err}: do not spin on fd monitoring events.Gustavo Sverzut Barbieri
as soon as we report 'can_read' or 'can_write', stop monitoring the events until the user executes the operation, which will clear these flags and we resume monitoring.
2016-11-24efl_net_socket_fd: fix copy & paste too much.Gustavo Sverzut Barbieri
2016-11-24Edje: add checking on NULL 3-rd parameter in ↵Artem Popov
edje_object_part_external_param_type_get() @fix Summary: add checking on NULL 3-rd parameter (param) before strcmp to avoid segfault Reviewers: cedric, jpeg, NikaWhite, myoungwoon, Hermet Reviewed By: Hermet Subscribers: Hermet, t.naumenko Differential Revision: https://phab.enlightenment.org/D4424
2016-11-24scroller: add key action move option.Hosang Kim
Summary: when scroller page is enabled and key is pressed, scroller will move in page by page. Test Plan: elementary_test -> scroller Reviewers: woohyun, cedric, jaehwan, raster, Hermet Subscribers: akanad, jpeg Differential Revision: https://phab.enlightenment.org/D4425