Benedikt Meurer wrote:
IMHO, the proper way to address this issue is to standardize the metadata backend instead of the interface. If everybody would use SQLite (for example), then it would be easy to access the metadata from every application without the need to do any IPC. And it wouldn't matter if the metadata index was generated by Beagle, Kat, or whatever other systems might exist today. You would have one single metadata storage, and every application that wants to access the metadata can simply link to SQLite and read from the database (it might be a good idea to provide a simple wrapper library with get_meta_data(), etc.). I don't care if it's SQLite, Berkley DB or whatever, but it's IMHO important to have ONE easy to use and fast metadata backend, not one backend per vendor.
I agree with you but I doubt we can persuade the established players (especially Beagle which uses a ready built lucene backend - they would find it tough to replace that). In absence of agreement from them, the common interface or common API is the only other way but bearing in mind Beagle is managed code, you cannot call any functions in it in-process from unmanaged code ergo we are back to IPC. Nautilus also forbids synchronous access to files so it needs to be async access only so again it would not be possible to use database in-process here too unless they have async api (AFAIK neither sqlite/BDB do)
-- Mr Jamie McCracken http://www.advogato.org/person/jamiemcc/ _______________________________________________ xdg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xdg
