Hi Ben,
On 01.07.2015 05:06, Nobody III wrote:
Is there already any file manager currently being written?
I don't think so. For the Turmvilla scenario, I am using Noux + the GNU tools (bash, coreutils) as my file manager.
What is the best way of joining multiple filesystems into a single tree? (Or should I be doing something different?)
This is possible by using the VFS library, which is implicitly used by libc-using programs as well as by Noux. The VFS supports stacked file systems similar to the union fs known from Linux.
What's the best way to scan a directory for files and other directories?
The easiest way might be the use of the POSIX functions as provided by the libc. The use of our VFS mechanism is transparent at the libc API level. In principle, you can also use the VFS library directly, without the libc. This is preferable for components that need to avoid the complexity that comes with a libc. Furthermore, at the Genode session level, you may work directly on the 'File_system::Session' interface.
How much file type detection (and file preview) is safe?
A file-type detector, a previewer, or more generally, any interpreter of untrusted (and potentially harmful) data should be sandboxed. Genode's architecture lends itself to the sandboxed execution of such code. For a discussion of the topic, please refer to Section 4.7.1. of the documentation [1].
[1] http://genode.org/documentation/genode-foundations-15-05.pdf
Also, I may want to use threading. Are C++11 threads supported?
C++11 threads are not supported. For multi-threading, you have the options to use the Genode API (Section 8.10. of the documentation), or to use the pthread library (the natural way for libc-using programs).
Best regards Norman