summaryrefslogtreecommitdiffstats
path: root/kbugbuster/backend/bugcache.h
diff options
context:
space:
mode:
Diffstat (limited to 'kbugbuster/backend/bugcache.h')
-rw-r--r--kbugbuster/backend/bugcache.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/kbugbuster/backend/bugcache.h b/kbugbuster/backend/bugcache.h
new file mode 100644
index 00000000..af1aed11
--- /dev/null
+++ b/kbugbuster/backend/bugcache.h
@@ -0,0 +1,47 @@
+#ifndef BUGCACHE_H
+#define BUGCACHE_H
+
+class KSimpleConfig;
+
+#include "package.h"
+#include "bug.h"
+#include "bugdetails.h"
+
+class BugCache
+{
+ public:
+ BugCache( const QString &id );
+ ~BugCache();
+
+ void savePackageList( const Package::List &pkgs );
+ Package::List loadPackageList();
+ void invalidatePackageList();
+
+ void saveBugList( const Package &pkg, const QString &component, const Bug::List & );
+ Bug::List loadBugList( const Package &pkg, const QString &component, bool disconnected );
+ void invalidateBugList( const Package &pkg, const QString &component );
+
+ void saveBugDetails( const Bug &bug, const BugDetails & );
+ BugDetails loadBugDetails( const Bug &bug );
+ void invalidateBugDetails( const Bug &bug );
+ bool hasBugDetails( const Bug& bug ) const;
+
+ void clear();
+
+ private:
+ void init();
+
+ void writePerson( KSimpleConfig *file, const QString &key,
+ const Person &p );
+ struct Person readPerson (KSimpleConfig *file, const QString &key );
+
+ QString mId;
+
+ KSimpleConfig *m_cachePackages;
+ KSimpleConfig *m_cacheBugs;
+
+ QString mCachePackagesFileName;
+ QString mCacheBugsFileName;
+};
+
+#endif