summaryrefslogtreecommitdiff
path: root/desktop/cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/cache.c')
-rw-r--r--desktop/cache.c128
1 files changed, 0 insertions, 128 deletions
diff --git a/desktop/cache.c b/desktop/cache.c
deleted file mode 100644
index 012683ebe..000000000
--- a/desktop/cache.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * $Id: cache.c,v 1.1 2002/11/02 22:28:05 bursa Exp $
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "netsurf/desktop/cache.h"
-#include "netsurf/render/utils.h"
-#include "netsurf/utils/log.h"
-#include "curl/curl.h"
-#include "ubiqx/ubi_Cache.h"
-
-/**
- * internal structures and declarations
- */
-
-ubi_cacheRoot memcache;
-
-struct memcache_entry {
- ubi_cacheEntry Node;
- char * url;
- struct content * content;
-};
-
-static int memcache_compare(ubi_trItemPtr item, ubi_trNode * node);
-void memcache_free(ubi_trNode * node);
-
-
-/**
- * cache_init -- initialise the cache manager
- */
-
-void cache_init(void)
-{
- /* memory cache */
- ubi_cacheInit(&memcache, memcache_compare, memcache_free, 40, 100*1024);
-}
-
-
-/**
- * cache_quit -- terminate the cache manager
- */
-
-void cache_quit(void)
-{
- ubi_cacheClear(&memcache);
-}
-
-
-/**
- * cache_get -- retrieve url from memory cache or disc cache
- */
-
-struct content * cache_get(char * const url)
-{
- struct memcache_entry * entry;
-
- entry = (struct memcache_entry *) ubi_cacheGet(&memcache, url);
- if (entry != 0) {
- LOG(("url %s in cache, node %p", url, entry));
- entry->content->ref_count++;
- return entry->content;
- }
-
- LOG(("url %s not cached", url));
-
- /* TODO: check disc cache */
-
- return 0;
-}
-
-
-/**
- * cache_put -- place content in the memory cache
- */
-
-void cache_put(char * const url, struct content * content, unsigned long size)
-{
- struct memcache_entry * entry;
-
- entry = xcalloc(1, sizeof(struct memcache_entry));
- entry->url = xstrdup(url);
- entry->content = content;
- content->ref_count = 2; /* cache, caller */
- ubi_cachePut(&memcache, size,
- (ubi_cacheEntry *) entry, entry->url);
-}
-
-
-/**
- * cache_free -- free a cache object if it is no longer used
- */
-
-void cache_free(struct content * content)
-{
- LOG(("content %p, ref_count %u", content, content->ref_count));
- if (--content->ref_count == 0) {
- LOG(("ref count 0, freeing"));
- content_destroy(content);
- }
-}
-
-
-/**
- * memory cache
- */
-
-static int memcache_compare(ubi_trItemPtr item, ubi_trNode * node)
-{
- return strcmp((char *) item, ((struct memcache_entry *) node)->url);
-}
-
-
-void memcache_free(ubi_trNode * node)
-{
- struct memcache_entry * entry = (struct memcache_entry *) node;
-
- LOG(("node %p, node->url %s", node, entry->url));
-
- cache_free(entry->content);
- free(entry->url);
- free(entry);
-
- /* TODO: place the object in a disc cache */
-}
-
-