akregator/src

articleinterceptor.h

00001 #ifndef AKREGATOR_ARTICLEINTERCEPTOR_H
00002 #define AKREGATOR_ARTICLEINTERCEPTOR_H
00003 
00004 template <class T> class QValueList;
00005 
00006 namespace Akregator {
00007 
00008 class Article;
00009 
00012 class ArticleInterceptor
00013 {
00014     public:
00016         virtual void processArticle(Article& article) = 0;
00017 
00018 };
00019 
00021 class ArticleInterceptorManager
00022 {
00023     public:
00024 
00025         static ArticleInterceptorManager* self();
00026 
00027         ArticleInterceptorManager();
00028         virtual ~ArticleInterceptorManager();
00029 
00030         void addInterceptor(ArticleInterceptor* interceptor);
00031         void removeInterceptor(ArticleInterceptor* interceptor);
00032         QValueList<ArticleInterceptor*> interceptors() const;
00033 
00034     private:
00035        static ArticleInterceptorManager* m_self;
00036        class ArticleInterceptorManagerPrivate;
00037        ArticleInterceptorManagerPrivate* d;
00038 };
00039 
00040 } //namespace Akregator
00041 
00042 #endif // AKREGATOR_ARTICLEINTERCEPTOR_H
KDE Home | KDE Accessibility Home | Description of Access Keys