On Mon, Jan 8, 2018 at 4:40 AM, Jean-Philippe AndrĂ© <[email protected]> wrote:
>> Efl.File -> Efl.Io.File
>>
>
> This name makes sense
> But I already see an Efl.Io.File class? Gustavo, any input here?
> Efl.Io refers to actual I/O (open, read, write, close...) while Efl.File is
> just for the (image/edje) file set/get.

IMO Efl.File should go, but it's not that simple in practice.

The idea was to create a virtualized file for access, like Glib, Qt
and all other frameworks allow... File in a ZIP? File in a FTP server?
no worries! it will handle.

except that everyone else virtualizes access: virtual open, close,
size get, read, write... which can be translated to various
protocols/formats (zip, ftp, http, ssh...), with some handling caches
for you (ie: download cache)

Efl.File and associated, like vpath, would actually create a local
file for you, so all file operations would work, but just immutable
were allowed (ie: no write, as it wouldn't reflect in the actual
target).

for things like emile and image loaders, it's very simple replacement:
all they dealt with were files, receiving a path... so changing to
eina.file was no-brainer...

however, ideally these would have better API and dynamic lifecycle...
such as progressive/partial loading with JPEG (monitoring "can_read"
to get more data until "eos"). Not to say we still miss a cache
mechanism, for zip wouldn't need to cache, but for remote access could
use like HTTP Last-Modified/If-Modified-Since, Etag/If-None-Match...
respect Expiry, store in local files, like done for web runtimes).

TL;DR: it should but won't go away, so this virtualized file should be
renamed, however I have no suggestions as I'm bad at names :-)

-- 
Gustavo Sverzut Barbieri
--------------------------------------
Mobile: +55 (16) 99354-9890

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to