summaryrefslogtreecommitdiff
path: root/tumblerd/tumbler-scheduler.h
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis@xfce.org>2009-10-27 03:13:42 +0100
committerJannis Pohlmann <jannis@xfce.org>2009-10-27 03:13:42 +0100
commitae5d1fcdbd406efa945a9ff631991bc08b1fa31e (patch)
tree378f5aea375c541221a62fe6ed468c383d6c0dcc /tumblerd/tumbler-scheduler.h
parent7a1e43d0806ec976eb2872209affb3d8a0dad7d0 (diff)
downloadtumbler-ae5d1fcdbd406efa945a9ff631991bc08b1fa31e.tar.gz
Massive refactoring to support flavors properly.
Refactor the entire code to use TumblerFileInfo instead of separate URI/MIME/flavor arrays. We now support flavors which means that applications can request "normal" and "large" thumbnails and thus have more control over what is created. This simplifies the code in a lot of places. We now use a real GObject class called TumblerThumbnailFlavor instead of a fixed-size enum. Cache backends can return as many flavors as they want, each consisting of a name, a width and a height. As a consequence, we can also get rid of the configure flags to enable/disable normal, large and cropped thumbnails. The default cache plugin shipped with Tumbler only supports "normal" (128x128px) and "large" (256x256px). Optimize the code a little bit. We now load the TunarFileInfo and ThunarThumbnail only *once* for each URI instead of loading them once in the scheduler and again in thumbnailer plugins. This needs careful testing. I might have introduced a few memory leaks here and there, plus new bugs... you never know.
Diffstat (limited to 'tumblerd/tumbler-scheduler.h')
-rw-r--r--tumblerd/tumbler-scheduler.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/tumblerd/tumbler-scheduler.h b/tumblerd/tumbler-scheduler.h
index fca90b4..e9969e7 100644
--- a/tumblerd/tumbler-scheduler.h
+++ b/tumblerd/tumbler-scheduler.h
@@ -22,6 +22,7 @@
#define __TUMBLER_SCHEDULER_H__
#include <gio/gio.h>
+
#include <tumbler/tumbler.h>
G_BEGIN_DECLS
@@ -77,11 +78,9 @@ void tumbler_scheduler_emit_uri_error (TumblerSchedul
TumblerSchedulerRequest *request,
const gchar *uri,
GError *error);
-TumblerSchedulerRequest *tumbler_scheduler_request_new (const GStrv uris,
- const GStrv mime_hints,
+TumblerSchedulerRequest *tumbler_scheduler_request_new (TumblerFileInfo **infos,
TumblerThumbnailer **thumbnailers,
- gint length,
- const gchar *flavor,
+ guint length,
const gchar *origin);
void tumbler_scheduler_request_free (TumblerSchedulerRequest *request);
gint tumbler_scheduler_request_compare (gconstpointer a,
@@ -94,14 +93,12 @@ struct _TumblerSchedulerRequest
{
TumblerThumbnailer **thumbnailers;
TumblerScheduler *scheduler;
+ TumblerFileInfo **infos;
+ GCancellable **cancellables;
gboolean dequeued;
- GStrv mime_hints;
- GStrv uris;
guint handle;
- gint length;
- GCancellable **cancellables;
gchar *origin;
- gchar *flavor;
+ guint length;
};
G_END_DECLS