diff options
author | Jannis Pohlmann <jannis@xfce.org> | 2009-06-09 15:34:59 +0200 |
---|---|---|
committer | Jannis Pohlmann <jannis@xfce.org> | 2009-06-09 15:34:59 +0200 |
commit | 7c25fc248a8db813512c6c4e75213d1d4827b0f3 (patch) | |
tree | 07c5a0a6bcede7ad077a6c306ca0fa8f415cb980 /tumbler | |
parent | 6f37775b1589f57839e1e62f27154f79a0618aed (diff) | |
download | tumbler-7c25fc248a8db813512c6c4e75213d1d4827b0f3.tar.gz |
Implement Cleanup, Copy, Move and Delete in cache plugin and service.
Diffstat (limited to 'tumbler')
-rw-r--r-- | tumbler/tumbler-cache.c | 60 | ||||
-rw-r--r-- | tumbler/tumbler-cache.h | 22 |
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 |