Updating branch refs/heads/jannis/specialized to c70bb63a12695f7d99717802bbb946669f8c4a7b (commit) from 742e2df3e77ba9ada119ab8af90bb5d697c580b8 (commit)
commit c70bb63a12695f7d99717802bbb946669f8c4a7b Author: Philip Van Hoof <phi...@codeminded.be> Date: Mon Oct 26 18:17:00 2009 +0200 Added the DBus API parts for flavor support Signed-off-by: Jannis Pohlmann <jan...@xfce.org> plugins/font-thumbnailer/font-thumbnailer.c | 6 ++- plugins/pixbuf-thumbnailer/pixbuf-thumbnailer.c | 6 ++- tumbler/tumbler-abstract-thumbnailer.c | 10 ++++-- tumbler/tumbler-abstract-thumbnailer.h | 3 +- tumbler/tumbler-thumbnailer.c | 6 ++- tumbler/tumbler-thumbnailer.h | 6 ++- tumblerd/tumbler-group-scheduler.c | 3 +- tumblerd/tumbler-lifo-scheduler.c | 3 +- tumblerd/tumbler-scheduler.c | 3 ++ tumblerd/tumbler-scheduler.h | 2 + tumblerd/tumbler-service-dbus.xml | 6 +++ tumblerd/tumbler-service.c | 44 ++++++++++++++++++++++- tumblerd/tumbler-service.h | 3 ++ tumblerd/tumbler-specialized-thumbnailer.c | 6 ++- 14 files changed, 90 insertions(+), 17 deletions(-) diff --git a/plugins/font-thumbnailer/font-thumbnailer.c b/plugins/font-thumbnailer/font-thumbnailer.c index 8908843..d8be2a1 100644 --- a/plugins/font-thumbnailer/font-thumbnailer.c +++ b/plugins/font-thumbnailer/font-thumbnailer.c @@ -44,7 +44,8 @@ static void font_thumbnailer_finalize (GObject *object); static void font_thumbnailer_create (TumblerAbstractThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint); + const gchar *mime_hint, + const gchar *flavor); @@ -437,7 +438,8 @@ static void font_thumbnailer_create (TumblerAbstractThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint) + const gchar *mime_hint, + const gchar *flavor_) { TumblerThumbnailFlavor *flavors; TumblerThumbnailFlavor flavor; diff --git a/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer.c b/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer.c index c4caf2d..5ffabf6 100644 --- a/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer.c +++ b/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer.c @@ -38,7 +38,8 @@ static void pixbuf_thumbnailer_create (TumblerAbstractThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint); + const gchar *mime_hint, + const gchar *flavor); @@ -143,7 +144,8 @@ static void pixbuf_thumbnailer_create (TumblerAbstractThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint) + const gchar *mime_hint, + const gchar *flavor_) { TumblerThumbnailFlavor *flavors; TumblerThumbnailFlavor flavor; diff --git a/tumbler/tumbler-abstract-thumbnailer.c b/tumbler/tumbler-abstract-thumbnailer.c index 535871f..3497393 100644 --- a/tumbler/tumbler-abstract-thumbnailer.c +++ b/tumbler/tumbler-abstract-thumbnailer.c @@ -59,7 +59,8 @@ static void tumbler_abstract_thumbnailer_set_property (GObject static void tumbler_abstract_thumbnailer_create (TumblerThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint); + const gchar *mime_hint, + const gchar *flavor); @@ -236,13 +237,16 @@ static void tumbler_abstract_thumbnailer_create (TumblerThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint) + const gchar *mime_hint, + const gchar *flavor) { g_return_if_fail (TUMBLER_IS_ABSTRACT_THUMBNAILER (thumbnailer)); g_return_if_fail (uri != NULL && *uri != '\0'); + g_return_if_fail (flavor != NULL && *flavor != '\0'); g_return_if_fail (TUMBLER_ABSTRACT_THUMBNAILER_GET_CLASS (thumbnailer)->create != NULL); TUMBLER_ABSTRACT_THUMBNAILER_GET_CLASS (thumbnailer)->create (TUMBLER_ABSTRACT_THUMBNAILER (thumbnailer), cancellable, uri, - mime_hint); + mime_hint, + flavor); } diff --git a/tumbler/tumbler-abstract-thumbnailer.h b/tumbler/tumbler-abstract-thumbnailer.h index 69438d0..d82a154 100644 --- a/tumbler/tumbler-abstract-thumbnailer.h +++ b/tumbler/tumbler-abstract-thumbnailer.h @@ -49,7 +49,8 @@ struct _TumblerAbstractThumbnailerClass void (*create) (TumblerAbstractThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint); + const gchar *mime_hint, + const gchar *flavor); }; struct _TumblerAbstractThumbnailer diff --git a/tumbler/tumbler-thumbnailer.c b/tumbler/tumbler-thumbnailer.c index 0395035..cad9667 100644 --- a/tumbler/tumbler-thumbnailer.c +++ b/tumbler/tumbler-thumbnailer.c @@ -139,7 +139,8 @@ void tumbler_thumbnailer_create (TumblerThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint) + const gchar *mime_hint, + const gchar *flavor) { g_return_if_fail (TUMBLER_IS_THUMBNAILER (thumbnailer)); g_return_if_fail (uri != NULL); @@ -149,7 +150,8 @@ tumbler_thumbnailer_create (TumblerThumbnailer *thumbnailer, return (*TUMBLER_THUMBNAILER_GET_IFACE (thumbnailer)->create) (thumbnailer, cancellable, uri, - mime_hint); + mime_hint, + flavor); } diff --git a/tumbler/tumbler-thumbnailer.h b/tumbler/tumbler-thumbnailer.h index 5bcc1ef..89f780b 100644 --- a/tumbler/tumbler-thumbnailer.h +++ b/tumbler/tumbler-thumbnailer.h @@ -55,7 +55,8 @@ struct _TumblerThumbnailerIface void (*create) (TumblerThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint); + const gchar *mime_hint, + const gchar *flavor); }; GType tumbler_thumbnailer_get_type (void) G_GNUC_CONST; @@ -63,7 +64,8 @@ GType tumbler_thumbnailer_get_type (void) G_GNUC_CONST; void tumbler_thumbnailer_create (TumblerThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint); + const gchar *mime_hint, + const gchar *flavor); GStrv tumbler_thumbnailer_get_hash_keys (TumblerThumbnailer *thumbnailer); GStrv tumbler_thumbnailer_get_mime_types (TumblerThumbnailer *thumbnailer); diff --git a/tumblerd/tumbler-group-scheduler.c b/tumblerd/tumbler-group-scheduler.c index 94c5878..5e0b980 100644 --- a/tumblerd/tumbler-group-scheduler.c +++ b/tumblerd/tumbler-group-scheduler.c @@ -586,7 +586,8 @@ tumbler_group_scheduler_thread (gpointer data, tumbler_thumbnailer_create (request->thumbnailers[n], request->cancellables[n], request->uris[n], - request->mime_hints[n]); + request->mime_hints[n], + request->flavor); /* disconnect from all signals when we're finished */ g_signal_handlers_disconnect_matched (request->thumbnailers[n], diff --git a/tumblerd/tumbler-lifo-scheduler.c b/tumblerd/tumbler-lifo-scheduler.c index c8e39cf..79d9dff 100644 --- a/tumblerd/tumbler-lifo-scheduler.c +++ b/tumblerd/tumbler-lifo-scheduler.c @@ -518,7 +518,8 @@ tumbler_lifo_scheduler_thread (gpointer data, tumbler_thumbnailer_create (request->thumbnailers[n], request->cancellables[n], request->uris[n], - request->mime_hints[n]); + request->mime_hints[n], + request->flavor); /* disconnect from all signals when we're finished */ g_signal_handlers_disconnect_matched (request->thumbnailers[n], diff --git a/tumblerd/tumbler-scheduler.c b/tumblerd/tumbler-scheduler.c index 11fbdb1..a002c9b 100644 --- a/tumblerd/tumbler-scheduler.c +++ b/tumblerd/tumbler-scheduler.c @@ -259,6 +259,7 @@ tumbler_scheduler_request_new (const GStrv uris, const GStrv mime_hints, TumblerThumbnailer **thumbnailers, gint length, + const gchar *flavor, const gchar *origin) { TumblerSchedulerRequest *request = NULL; @@ -273,6 +274,7 @@ tumbler_scheduler_request_new (const GStrv uris, if (origin) request->origin = g_strdup (origin); request->dequeued = FALSE; + request->flavor = g_strdup (flavor); request->scheduler = NULL; request->handle = handle++; request->uris = g_strdupv (uris); @@ -310,6 +312,7 @@ tumbler_scheduler_request_free (TumblerSchedulerRequest *request) g_free (request->cancellables); g_free (request->origin); + g_free (request->flavor); g_free (request); } diff --git a/tumblerd/tumbler-scheduler.h b/tumblerd/tumbler-scheduler.h index bdfc1fa..fca90b4 100644 --- a/tumblerd/tumbler-scheduler.h +++ b/tumblerd/tumbler-scheduler.h @@ -81,6 +81,7 @@ TumblerSchedulerRequest *tumbler_scheduler_request_new (const GStrv const GStrv mime_hints, TumblerThumbnailer **thumbnailers, gint length, + const gchar *flavor, const gchar *origin); void tumbler_scheduler_request_free (TumblerSchedulerRequest *request); gint tumbler_scheduler_request_compare (gconstpointer a, @@ -100,6 +101,7 @@ struct _TumblerSchedulerRequest gint length; GCancellable **cancellables; gchar *origin; + gchar *flavor; }; G_END_DECLS diff --git a/tumblerd/tumbler-service-dbus.xml b/tumblerd/tumbler-service-dbus.xml index 149b648..051bebd 100644 --- a/tumblerd/tumbler-service-dbus.xml +++ b/tumblerd/tumbler-service-dbus.xml @@ -5,6 +5,7 @@ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/> <arg type="as" name="uris" direction="in" /> <arg type="as" name="mime_types" direction="in" /> + <arg type="s" name="flavor" direction="in" /> <arg type="s" name="scheduler" direction="in" /> <arg type="u" name="handle_to_unqueue" direction="in" /> <arg type="u" name="handle" direction="out" /> @@ -26,6 +27,11 @@ <arg type="as" name="schedulers" direction="out" /> </method> + <method name="GetFlavors"> + <annotation name="org.freedesktop.DBus.GLib.Async" value="true" /> + <arg type="as" name="flavors" direction="out" /> + </method> + <signal name="Started"> <arg type="u" name="handle" /> </signal> diff --git a/tumblerd/tumbler-service.c b/tumblerd/tumbler-service.c index 55f6377..2eb1bdf 100644 --- a/tumblerd/tumbler-service.c +++ b/tumblerd/tumbler-service.c @@ -596,6 +596,7 @@ void tumbler_service_queue (TumblerService *service, const GStrv uris, const GStrv mime_hints, + const gchar *flavor, const gchar *desired_scheduler, guint handle_to_dequeue, DBusGMethodInvocation *context) @@ -628,7 +629,8 @@ tumbler_service_queue (TumblerService *service, /* allocate a scheduler request */ scheduler_request = tumbler_scheduler_request_new (uris, mime_hints, thumbnailers, - num_thumbnailers, origin); + num_thumbnailers, flavor, + origin); g_free (origin); @@ -721,6 +723,46 @@ tumbler_service_get_supported (TumblerService *service, dbus_g_method_return (context, uri_schemes, mime_types); } +void +tumbler_service_get_flavors (TumblerService *service, + DBusGMethodInvocation *context) +{ + guint n; + TumblerThumbnailFlavor *flavors; + TumblerThumbnailFlavor flavor; + GStrv flavors_strv; + + flavors = tumbler_thumbnail_get_flavors (); + + for (n = 0; flavors[n] != TUMBLER_THUMBNAIL_FLAVOR_INVALID; ++n); + + flavors_strv = g_new0 (gchar *, n + 1); + + for (n = 0; flavors[n] != TUMBLER_THUMBNAIL_FLAVOR_INVALID; ++n) + { + flavor = flavors[n]; + + switch (flavor) + { + case TUMBLER_THUMBNAIL_FLAVOR_NORMAL: + flavors_strv[n] = "normal"; + break; + case TUMBLER_THUMBNAIL_FLAVOR_LARGE: + flavors_strv[n] = "large"; + break; + case TUMBLER_THUMBNAIL_FLAVOR_CROPPED: + flavors_strv[n] = "cropped"; + break; + default: + g_assert_not_reached (); + break; + } + } + + dbus_g_method_return (context, flavors_strv); + + g_free (flavors_strv); +} void diff --git a/tumblerd/tumbler-service.h b/tumblerd/tumbler-service.h index 324047b..0ab0f92 100644 --- a/tumblerd/tumbler-service.h +++ b/tumblerd/tumbler-service.h @@ -46,6 +46,7 @@ gboolean tumbler_service_start (TumblerService *service, void tumbler_service_queue (TumblerService *service, const GStrv uris, const GStrv mime_hints, + const gchar *flavor, const gchar *s_scheduler, guint handle_to_dequeue, DBusGMethodInvocation *context); @@ -56,6 +57,8 @@ void tumbler_service_get_schedulers (TumblerService *service, DBusGMethodInvocation *context); void tumbler_service_get_supported (TumblerService *service, DBusGMethodInvocation *context); +void tumbler_service_get_flavors (TumblerService *service, + DBusGMethodInvocation *context); G_END_DECLS; diff --git a/tumblerd/tumbler-specialized-thumbnailer.c b/tumblerd/tumbler-specialized-thumbnailer.c index c1a3b0a..b8c4e01 100644 --- a/tumblerd/tumbler-specialized-thumbnailer.c +++ b/tumblerd/tumbler-specialized-thumbnailer.c @@ -59,7 +59,8 @@ static void tumbler_specialized_thumbnailer_set_property (GObject static void tumbler_specialized_thumbnailer_create (TumblerThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint); + const gchar *mime_hint, + const gchar *flavor); static void tumbler_specialized_thumbnailer_proxy_ready (DBusGProxy *proxy, const gchar *uri, TumblerSpecializedThumbnailer *thumbnailer); @@ -334,7 +335,8 @@ static void tumbler_specialized_thumbnailer_create (TumblerThumbnailer *thumbnailer, GCancellable *cancellable, const gchar *uri, - const gchar *mime_hint) + const gchar *mime_hint, + const gchar *flavor) { /* TODO */ } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits