Re: Specifying thumbnailers as a service
- From: Philip Van Hoof <spam pvanhoof be>
- To: Bastien Nocera <hadess hadess net>, Rob Taylor <rob taylor codethink co uk>, Adrien BUSTANY <madcat mymadcat com>
- Cc: xdg lists freedesktop org, nautilus-list gnome org, jens gnome org, olivier lx student wau nl, Tracker mailing list <tracker-list gnome org>
- Subject: Re: Specifying thumbnailers as a service
- Date: Fri, 29 Aug 2008 14:34:21 +0200
On Fri, 2008-08-29 at 13:59 +0200, Philip Van Hoof wrote:
> On Fri, 2008-08-29 at 11:03 +0100, Bastien Nocera wrote:
> > On Fri, 2008-08-29 at 11:25 +0200, Philip Van Hoof wrote:
> > >
> > > <arg type="i" name="size_x" direction="in" />
> > > <arg type="i" name="size_y" direction="in" />
> >
> > In the libgnomeui API, you only set one of those, and aspect ratio is
> > preserved. The size passed is the maximum width and height.
>
> Or we make it even more simply and have "normal", "big", "small" only.
Or we make it even more simple, and we don't deal with sizes at all.
The thumbnailer must make all sizes it supports. It's actually an
implementation detail of the thumbnailer vs. the library for accessing
them.
This DBus specification is only about "requesting the creation of a
thumbnail". It's the responsibility of a library to do the final
resizing operation and pass it as a toolkit specific pixbuf instance to
the application developer (in gtk+ that's for example GdkPixBuf).
We don't pass pixbufs over DBus, that makes no sense.
Which also means that we don't return any uri. That client library
calculate that path by following the thumbnail-spec [1].
Therefore isn't the uri of the thumbnail itself relevant for DBus.
That, combined with Rob Taylor's proposal, brings me to this DBus API:
<node name="/">
foreach ([mime-part] in supported_mime_parts) {
<interface name="org.freedesktop.Thumbnailer.[mime-part]">
<method name="Create">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="as" name="uris" direction="in" />
</method>
<method name="Move">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="as" name="from_uris" direction="in" />
<arg type="as" name="to_uris" direction="in" />
</method>
<method name="Delete">
<annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="as" name="uris" direction="in" />
</method>
</interface>
}
</node>
--- footnotes
[1] http://jens.triq.net/thumbnail-spec/index.html
--
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
http://pvanhoof.be/blog
http://codeminded.be
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]