akregator/src
articleinterceptor.h00001 #ifndef AKREGATOR_ARTICLEINTERCEPTOR_H
00002 #define AKREGATOR_ARTICLEINTERCEPTOR_H
00003
00004 #include "akregator_export.h"
00005
00006 template <class T> class QValueList;
00007
00008 namespace Akregator {
00009
00010 class Article;
00011
00016 class AKREGATOR_EXPORT ArticleInterceptor
00017 {
00018 public:
00020 virtual void processArticle(Article& article) = 0;
00021
00022 };
00023
00025 class AKREGATOR_EXPORT ArticleInterceptorManager
00026 {
00027 public:
00028
00029 static ArticleInterceptorManager* self();
00030
00031 ArticleInterceptorManager();
00032 virtual ~ArticleInterceptorManager();
00033
00034 void addInterceptor(ArticleInterceptor* interceptor);
00035 void removeInterceptor(ArticleInterceptor* interceptor);
00036 QValueList<ArticleInterceptor*> interceptors() const;
00037
00038 private:
00039 static ArticleInterceptorManager* m_self;
00040 class ArticleInterceptorManagerPrivate;
00041 ArticleInterceptorManagerPrivate* d;
00042 };
00043
00044 }
00045
00046 #endif // AKREGATOR_ARTICLEINTERCEPTOR_H
|