Actually the Grabber is not fully implemented, its work should normally made in background (using threads) but it is made in the construction phase (that means that the library is blocking until it has not found all the filters servers).
It :
A great fonctionnality is that a servers list can also contain URLs (http, ftp, file, ssh, all supported by gnome-vfs)to other servers list (which one can also contain that, ...). This way, it's pretty easy to administrate a LAN :
gnome-vfs is used. gnome-vfs allows to poll URL and a function to be called back if a file has been change. One may want to use this technique to update quickly the filters tree if there are changes.
The use of id and domain allows to uniquely identify a filters server on the internet. One ask that the person who installed a server sets the domain to one he owns for example : michel.strasser.free.fr. We can also do replication once the Grabber will work in a parallelised way, if two servers have the same domain and id they are qualified to be equivalent. The first registered is the one which will kept. We hope that the first which registrered is the one which answered the first and the most disponible.
On start-up, the grabber takes for URL (and therefore initial servers list) : file://var/lib/TheBirdsLake/FiltersServersList/TblSl-(name-of-the-application).xml
Local filters servers appends their entries on start-up and remove it when they stop.