akregator/src
articleinterceptor.cpp
00001 #include "article.h" 00002 #include "articleinterceptor.h" 00003 00004 #include <qvaluelist.h> 00005 #include <kstaticdeleter.h> 00006 00007 namespace Akregator 00008 { 00009 00010 class ArticleInterceptorManager::ArticleInterceptorManagerPrivate 00011 { 00012 public: 00013 QValueList<ArticleInterceptor*> interceptors; 00014 }; 00015 00016 00017 ArticleInterceptorManager* ArticleInterceptorManager::m_self = 0; 00018 KStaticDeleter<ArticleInterceptorManager> interceptormanagersd; 00019 00020 ArticleInterceptorManager* ArticleInterceptorManager::self() 00021 { 00022 if (!m_self) 00023 interceptormanagersd.setObject(m_self, new ArticleInterceptorManager); 00024 return m_self; 00025 } 00026 00027 ArticleInterceptorManager::~ArticleInterceptorManager() 00028 { 00029 delete d; 00030 d = 0; 00031 } 00032 00033 ArticleInterceptorManager::ArticleInterceptorManager() : d(new ArticleInterceptorManagerPrivate) 00034 {} 00035 00036 void ArticleInterceptorManager::addInterceptor(ArticleInterceptor* interceptor) 00037 { 00038 d->interceptors.append(interceptor); 00039 } 00040 00041 void ArticleInterceptorManager::removeInterceptor(ArticleInterceptor* interceptor) 00042 { 00043 d->interceptors.remove(interceptor); 00044 } 00045 00046 QValueList<ArticleInterceptor*> ArticleInterceptorManager::interceptors() const 00047 { 00048 return d->interceptors; 00049 } 00050 00051 } 00052