00001
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_KERNEL_H
00026 #define AKREGATOR_KERNEL_H
00027
00028 #include "articlefilter.h"
00029
00030 namespace Akregator {
00031
00032 namespace Backend
00033 {
00034 class Storage;
00035 }
00036
00037 class FeedList;
00038 class FetchQueue;
00039 class TagSet;
00040
00041 class Kernel
00042 {
00043 public:
00044
00045 static Kernel* self();
00046
00047 Kernel();
00048 virtual ~Kernel();
00049
00050 Backend::Storage* storage() { return m_storage; }
00051 void setStorage(Backend::Storage* storage) { m_storage = storage; }
00052
00053 FeedList* feedList() { return m_feedList; }
00054 void setFeedList(FeedList* feedList) { m_feedList = feedList; }
00055
00056 FetchQueue* fetchQueue() { return m_fetchQueue; }
00057
00058 TagSet* tagSet() { return m_tagSet; }
00059
00060 void setArticleFilterList(const Filters::ArticleFilterList& list)
00061 {
00062 m_articleFilterList = list;
00063 }
00064
00065 Filters::ArticleFilterList articleFilterList() const { return m_articleFilterList; }
00066
00067 private:
00068
00069 static Kernel* m_self;
00070
00071 Backend::Storage* m_storage;
00072 FeedList* m_feedList;
00073 FetchQueue* m_fetchQueue;
00074 TagSet* m_tagSet;
00075 Filters::ArticleFilterList m_articleFilterList;
00076 };
00077
00078 }
00079
00080 #endif // AKREGATOR_KERNEL_H