akregator/src

articleinterceptor.h

00001 #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 } //namespace Akregator
00045 
00046 #endif // AKREGATOR_ARTICLEINTERCEPTOR_H
KDE Home | KDE Accessibility Home | Description of Access Keys