On Mon, 2008-10-06 at 13:29 +0100, Martyn Russell wrote:
> Ivan Frade wrote:
> > Hi all,
> > 
> >  A lot of tools in tracker-utils use the hardcoded ServiceType enum in
> > libtracker (through tracker_type_to_service_name and
> > tracker_service_name_to_type). It means when you add a new category in
> > the daemon it is invisible for the tools unless you recompile
> > everything.
> > 
> >  To fix it, my plan is to retrieve those service types from the daemon
> > (getting rid of the ServiceType enum).  To do this, i need to modify
> > the libtracker API. Is there any problem with this? Is libtracker used
> > by external applications or only by our tools?
> 
> I see 2 problems.
> 
> First we break ABI if we append the enum.
> Second we break API if we remove it altogether.
> 
> Regardless of these two issues, application developers need some defined
> way of identifying common categories ... like "Audio" and if we remove
> that then it means ALL applications have to do special handling (as I
> understand it).
> 
> I think we would probably want to keep some "base" service types as
> "static" in the enum and possibly be able to extend it the way you
> suggest Ivan. Not sure really.
> 

the enum has to stay but can be extended for now. In the end we will
have to make it a string to make it extensible

the dbus calls take a string for service type so there is nothing
stoppping us from having two parallel installable libtrackers (one for
backwards compatibility and one for a better more future proof api)

jamie




_______________________________________________
tracker-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/tracker-list

Reply via email to