summaryrefslogtreecommitdiffstats
path: root/kuickshow/src/filecache.h
diff options
context:
space:
mode:
Diffstat (limited to 'kuickshow/src/filecache.h')
-rw-r--r--kuickshow/src/filecache.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/kuickshow/src/filecache.h b/kuickshow/src/filecache.h
new file mode 100644
index 00000000..16e53261
--- /dev/null
+++ b/kuickshow/src/filecache.h
@@ -0,0 +1,47 @@
+/****************************************************************************
+** $Id: .emacs,v 1.3 2006/02/20 15:06:53 gis Exp $
+**
+** Created : 2006
+**
+** Copyright (C) 2006 Carsten Pfeiffer <[email protected]>
+**
+****************************************************************************/
+
+#ifndef FILECACHE_H
+#define FILECACHE_H
+
+#include <qcache.h>
+
+#include "kuickfile.h"
+
+class KTempDir;
+
+class FileCache
+{
+public:
+ static FileCache * self();
+ static void shutdown();
+
+ KuickFile * getFile( const KURL& url );
+ void setLimit( int numFiles );
+ int getLimit() const { return m_limit; }
+
+ /**
+ * @return the temporary directory or QString::null if none available
+ */
+ QString tempDir();
+
+private:
+ static FileCache *s_self;
+ FileCache();
+ ~FileCache();
+
+ KTempDir * createTempDir();
+ QCache<KuickFile> m_files;
+
+ int m_limit;
+ KTempDir *m_tempDir;
+
+};
+
+#endif // FILECACHE_H