Re: [Witme-ferris] libferris as a backend for a Maemo 5 file manager
Status: Beta
Brought to you by:
monkeyiq
From: Ben M. <mon...@us...> - 2010-06-03 09:44:21
|
On Thu, 2010-06-03 at 11:16 +0200, lukash wrote: > Hi all, > > I am developing a file manager for N900. At the moment, I'm trying to > put together the basic functionality quickly. I'm using QT and it has a > pretty suitable file system model already. It just doesn't have good > enough move/copy/delete functions that would support interactive thread > communication. It seems like a nontrivial issue, so I would like to use > some existing solution.. The copy/remove/move code in libferris uses mainloop callbacks instead of threading. Things can still work interactively, eg, the GTK+2 clients gfcp, gfmv, gfrm etc. > > I've spent a lot of time searching for some suitable implementation, > until I bumped into libferris. Now it seems like I found a diamond in > piles of mud :) But as I was reading up on it, my hopes went up and > down a few times... > > First, I couldn't find any suitable documentation. Is there any? From > some papers I figured libferris really does implement these functions I > need the most. I also got the feeling that it would be perfect for > implementing my own QFileSystemModel-like class later on and greatly > extend the features of my FM. Indeed, the code for most of what the coreutils cp, mv, rm, etc do is contained in libferris.so. Both the ferriscp and GTK+2 gfcp apps use the same codepaths in libferris to perform their task. Most of the documentation is in the form of papers and articles (linux.com, linuxjournal, linux format etc, etc). > > But from the website I didn't really gather what actually libferris is > and how to use it... So I downloaded the sources. And that was the time > when I actually got scared :) What is it? How do I use it? It seems to > be something that lives its own live. Just from the readme I gathered > its not simple to even install it, though I still have no clue what it > does. I would be very happy if I just had a library to link against... Sorry about the miscommunication. Libferris is a virtual filesystem. It also includes rich metadata support, common code like recursive copy, and many posix clients like ferrisls, ferriscp etc. along with GTK+2 interfaces to that functionality. Since libferris can mount many things, it can be non trivial to build. But much of the functioanlity is optional so you should be able to trim it down to a small build. I make packages for Fedora and maemo to help with installation. Nothing for the n900 yet as I lack the device to test it on. Yes, I could test on scratchbox but that's another story. The code in Ferris/ links to libferris.so which is the library you seek. You'll have to read the ferriscp code to see how to use the API though. > > Then I also found out that it was already ported to Maemo 2008, which > is great news. But it seemed like it was not so easy to actually port > it, hinting again at libferris being far too complex... Well, the main things are the xerces-c usage there. If/when I port to using Qt's XML code then making maemo and symbian ports should be easier still. > > What do you think, is libferris for me? Can you give me advice on how > to use it? Well, it might be for you, its hard to say. There is no huge company behind libferris to make it easy to use or install. So to use it's API you are going to have to read source and get your hands dirty, but if that's fine with you then libferris might be for you :) > > Thanks in advance! > > lukash > |