akregator/src
storage.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef AKREGATOR_BACKEND_STORAGE_H
00026 #define AKREGATOR_BACKEND_STORAGE_H
00027
00028 #include <qobject.h>
00029
00030 #include "akregator_export.h"
00031
00032 class QString;
00033 class QStringList;
00034
00035 namespace Akregator {
00036 namespace Backend {
00037
00038 class FeedStorage;
00039
00044 class AKREGATOR_EXPORT Storage : public QObject
00045 {
00046 public:
00047
00048 static Storage* getInstance();
00049 static void setInstance(Storage* instance);
00050
00051 virtual ~Storage() {}
00052
00055 virtual void initialize(const QStringList& params) = 0;
00056
00061 virtual bool open(bool autoCommit = false) = 0;
00062
00067 virtual bool commit() = 0;
00068
00073 virtual bool rollback() = 0;
00074
00079 virtual bool close() = 0;
00080
00084 virtual FeedStorage* archiveFor(const QString &url) = 0;
00085 virtual bool autoCommit() const = 0;
00086 virtual int unreadFor(const QString &url) = 0;
00087 virtual void setUnreadFor(const QString &url, int unread) = 0;
00088 virtual int totalCountFor(const QString &url) = 0;
00089 virtual void setTotalCountFor(const QString &url, int total) = 0;
00090 virtual int lastFetchFor(const QString& url) = 0;
00091 virtual void setLastFetchFor(const QString& url, int lastFetch) = 0;
00092
00097 virtual void storeFeedList(const QString& opmlStr) = 0;
00098 virtual QString restoreFeedList() const = 0;
00099
00100 virtual void storeTagSet(const QString& xmlStr) = 0;
00101 virtual QString restoreTagSet() const = 0;
00102
00105 virtual QStringList feeds() const = 0;
00106
00110 virtual void add(Storage* source) = 0;
00111
00113 virtual void clear() = 0;
00114
00115 private:
00116
00117 static Storage *m_instance;
00118 };
00119
00120 }
00121 }
00122
00123 #endif
|