summaryrefslogtreecommitdiff
path: root/tumbler
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis@xfce.org>2009-06-09 15:34:59 +0200
committerJannis Pohlmann <jannis@xfce.org>2009-06-09 15:34:59 +0200
commit7c25fc248a8db813512c6c4e75213d1d4827b0f3 (patch)
tree07c5a0a6bcede7ad077a6c306ca0fa8f415cb980 /tumbler
parent6f37775b1589f57839e1e62f27154f79a0618aed (diff)
downloadtumbler-7c25fc248a8db813512c6c4e75213d1d4827b0f3.tar.gz
Implement Cleanup, Copy, Move and Delete in cache plugin and service.
Diffstat (limited to 'tumbler')
-rw-r--r--tumbler/tumbler-cache.c60
-rw-r--r--tumbler/tumbler-cache.h22
2 files changed, 81 insertions, 1 deletions
diff --git a/tumbler/tumbler-cache.c b/tumbler/tumbler-cache.c
index 0df3fb0..56d4df2 100644
--- a/tumbler/tumbler-cache.c
+++ b/tumbler/tumbler-cache.c
@@ -56,8 +56,66 @@ tumbler_cache_get_thumbnails (TumblerCache *cache,
const gchar *uri)
{
g_return_val_if_fail (TUMBLER_IS_CACHE (cache), NULL);
- g_return_val_if_fail (uri != NULL, NULL);
+ g_return_val_if_fail (uri != NULL && *uri != '\0', NULL);
g_return_val_if_fail (TUMBLER_CACHE_GET_IFACE (cache)->get_thumbnails != NULL, NULL);
return (TUMBLER_CACHE_GET_IFACE (cache)->get_thumbnails) (cache, uri);
}
+
+
+
+void
+tumbler_cache_cleanup (TumblerCache *cache,
+ const gchar *uri_prefix,
+ guint64 since)
+{
+ g_return_if_fail (TUMBLER_IS_CACHE (cache));
+ g_return_if_fail (TUMBLER_CACHE_GET_IFACE (cache)->cleanup != NULL);
+
+ (TUMBLER_CACHE_GET_IFACE (cache)->cleanup) (cache, uri_prefix, since);
+}
+
+
+
+void
+tumbler_cache_delete (TumblerCache *cache,
+ const GStrv uris)
+{
+ g_return_if_fail (TUMBLER_IS_CACHE (cache));
+ g_return_if_fail (uris != NULL);
+ g_return_if_fail (TUMBLER_CACHE_GET_IFACE (cache)->delete != NULL);
+
+ (TUMBLER_CACHE_GET_IFACE (cache)->delete) (cache, uris);
+}
+
+
+
+void
+tumbler_cache_copy (TumblerCache *cache,
+ const GStrv from_uris,
+ const GStrv to_uris)
+{
+ g_return_if_fail (TUMBLER_IS_CACHE (cache));
+ g_return_if_fail (from_uris != NULL);
+ g_return_if_fail (to_uris != NULL);
+ g_return_if_fail (g_strv_length (from_uris) == g_strv_length (to_uris));
+ g_return_if_fail (TUMBLER_CACHE_GET_IFACE (cache)->copy != NULL);
+
+ (TUMBLER_CACHE_GET_IFACE (cache)->copy) (cache, from_uris, to_uris);
+}
+
+
+
+void
+tumbler_cache_move (TumblerCache *cache,
+ const GStrv from_uris,
+ const GStrv to_uris)
+{
+ g_return_if_fail (TUMBLER_IS_CACHE (cache));
+ g_return_if_fail (from_uris != NULL);
+ g_return_if_fail (to_uris != NULL);
+ g_return_if_fail (g_strv_length (from_uris) == g_strv_length (to_uris));
+ g_return_if_fail (TUMBLER_CACHE_GET_IFACE (cache)->move != NULL);
+
+ (TUMBLER_CACHE_GET_IFACE (cache)->move) (cache, from_uris, to_uris);
+}
diff --git a/tumbler/tumbler-cache.h b/tumbler/tumbler-cache.h
index fa4f8b6..45dce56 100644
--- a/tumbler/tumbler-cache.h
+++ b/tumbler/tumbler-cache.h
@@ -46,12 +46,34 @@ struct _TumblerCacheIface
/* virtual methods */
GList *(*get_thumbnails) (TumblerCache *cache,
const gchar *uri);
+ void (*cleanup) (TumblerCache *cache,
+ const gchar *uri,
+ guint64 since);
+ void (*delete) (TumblerCache *cache,
+ const GStrv uris);
+ void (*copy) (TumblerCache *cache,
+ const GStrv from_uris,
+ const GStrv to_uris);
+ void (*move) (TumblerCache *cache,
+ const GStrv from_uris,
+ const GStrv to_uris);
};
GType tumbler_cache_get_type (void) G_GNUC_CONST;
GList *tumbler_cache_get_thumbnails (TumblerCache *cache,
const gchar *uri) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
+void tumbler_cache_cleanup (TumblerCache *cache,
+ const gchar *uri_prefix,
+ guint64 since);
+void tumbler_cache_delete (TumblerCache *cache,
+ const GStrv uris);
+void tumbler_cache_copy (TumblerCache *cache,
+ const GStrv from_uris,
+ const GStrv to_uris);
+void tumbler_cache_move (TumblerCache *cache,
+ const GStrv from_uris,
+ const GStrv to_uris);
G_END_DECLS