I've started picking up my fs_filter work again, but, particularly given the move away from individual filesystem servers toward VFS plugins, and the benefits (and partial implementation) of a dynamic VFS, I want to pursue that route (combined with a transparent link plugin) rather than the fs_filter component route.
In order to make the VFS sufficiently dynamic, it seems that the Dir_file_system code just needs more sophisticated code to handle config updates. Am I correct?
As for my VFS plugin, I need a way for it to access the rest of the VFS, particularly the root directory. As far as I can tell, this isn't possible with the current VFS code. How should we change this? It would allow my planned transparent link VFS plugin to work, as well as others such as copy-on-write union directories.
On Jun 27, 2017 1:02 AM, "Norman Feske" <norman.feske@...1...> wrote:
Hi Ben,
On 21.06.2017 05:45, Nobody III wrote:
I've started working on the implementation, and here's my plan: The component tree is the same as what you suggested, but fs_filter provides a "pipe" file to send requests (in XML format). The fs_filter component responds by spawning the Qt file picker. When the user chooses a file, the file is added to the filesystem provided by fs_filter, and fs_filter acknowledges the packet. The app can then read another file/pipe that contains the name of the selected file, then open the selected file.
this sacrifices the second advantage of my original suggestion, namely that the fs_filter is transparent to existing applications. With your approach, the application needs to speak an additional protocol (generating the requests to the "pipe").
In principle, the selection of multiple files could instead be handled by letting the fs_filter populate a virtual directory instead of providing a single file. But as I haven't thought this through, I don't want to keep you from exploring the direction you picked.
Also, how do I spawn and use the file picker? Is there any existing example of using a child component like a library?
Please have a look at gems/src/app/launcher, which hosts a number of components (e.g., menu_view) as child subsystems.
Cheers Norman
-- Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
------------------------------------------------------------ ------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main