Proposed draft for the thumbnail D-Bus specification
Philip Van Hoof
spam at pvanhoof.be
Thu Sep 4 05:39:04 PDT 2008
On Thu, 2008-09-04 at 12:25 +0100, Tommi Komulainen wrote:
> On Wed, Sep 3, 2008 at 3:15 PM, Philip Van Hoof <spam at pvanhoof.be> wrote:
> > * Possibility for third party vendors to provide a closed source, closed
> > or patented format thumbnailer by registering support for a MIME type
> > to a manager interface that is required to be implemented by the
> > thumbnailer service.
> > Generic thumbnailer: org.freedesktop.manager.Register
> > Specialized thumbnailers: org.freedesktop.Create
> > Register a specialized thumbnailer for mime-type. The daemon will store the unique name of the sender of the Register method to proxy Create requests to if the mime-type of the source file (the file that must be thumbnailed) matches the now registered mime-type.
> Doesn't this imply the specialized thumbnailer must keep running in
> order for the registration to be persistent?
You make a very good point here. We are rethinking the Manager concept.
Perhaps something like this:
* Each specialized thumbnailer makes itself activatable by installing
a .service file
* A directory with mime-type.service files that contain a string
like: com.adobe.thumbnailer (for example for application/pdf)
The thumbnailer will simply try to fopen() the mime-type.service file,
if it fails it'll try to use an internal method to thumbnail, if that
fails it can't thumbnail.
If the fopen() succeeds, it reads the string and calls [string].Create()
to request the creation of the thumbnail. If the specialized thumbnailer
is not running, it'll be activated by DBus.
We simply get rid of org.freedesktop.Thumbnailer.Manager
How does that sound?
> Also I'm not entirely convinced using DBus messages for managing such
> register plays too well with package management (packages installed as
> root, thumbnailer running as user?) I think you'll need to provide a
> directory where third parties can drop in configuration files similar
> to .desktop and dbus .services etc.
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
More information about the xdg