]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-page-cache.c
PageCache and EvJobs are moved from backend to shell. Two new jobs to
[evince.git] / shell / ev-page-cache.c
similarity index 95%
rename from backend/ev-page-cache.c
rename to shell/ev-page-cache.c
index 573e57e68b3e9a53a71961b7255cbfccbe7b9455..6c44c9fc08f82fc56024f5239c2ef0b45e4d46e3 100644 (file)
@@ -101,7 +101,7 @@ ev_page_cache_finalize (GObject *object)
 }
 
 EvPageCache *
-_ev_page_cache_new (EvDocument *document)
+ev_page_cache_new (EvDocument *document)
 {
        EvPageCache *page_cache;
        EvPageCacheInfo *info;
@@ -464,3 +464,22 @@ ev_page_cache_prev_page (EvPageCache *page_cache)
        return TRUE;
 }
 
+#define PAGE_CACHE_STRING "ev-page-cache"
+
+EvPageCache *
+ev_page_cache_get (EvDocument *document)
+{
+       EvPageCache *page_cache;
+
+       g_return_val_if_fail (EV_IS_DOCUMENT (document), NULL);
+
+       page_cache = g_object_get_data (G_OBJECT (document), PAGE_CACHE_STRING);
+       if (page_cache == NULL) {
+               page_cache = ev_page_cache_new (document);
+               g_object_set_data_full (G_OBJECT (document), PAGE_CACHE_STRING, page_cache, g_object_unref);
+       }
+
+       return page_cache;
+}
+
+