diff options
Diffstat (limited to 'akregator/src/articleinterceptor.cpp')
-rw-r--r-- | akregator/src/articleinterceptor.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/akregator/src/articleinterceptor.cpp b/akregator/src/articleinterceptor.cpp new file mode 100644 index 000000000..c184713ad --- /dev/null +++ b/akregator/src/articleinterceptor.cpp @@ -0,0 +1,52 @@ +#include "article.h" +#include "articleinterceptor.h" + +#include <qvaluelist.h> +#include <kstaticdeleter.h> + +namespace Akregator +{ + +class ArticleInterceptorManager::ArticleInterceptorManagerPrivate +{ + public: + QValueList<ArticleInterceptor*> interceptors; +}; + + +ArticleInterceptorManager* ArticleInterceptorManager::m_self = 0; +KStaticDeleter<ArticleInterceptorManager> interceptormanagersd; + +ArticleInterceptorManager* ArticleInterceptorManager::self() +{ + if (!m_self) + interceptormanagersd.setObject(m_self, new ArticleInterceptorManager); + return m_self; +} + +ArticleInterceptorManager::~ArticleInterceptorManager() +{ + delete d; + d = 0; +} + +ArticleInterceptorManager::ArticleInterceptorManager() : d(new ArticleInterceptorManagerPrivate) +{} + +void ArticleInterceptorManager::addInterceptor(ArticleInterceptor* interceptor) +{ + d->interceptors.append(interceptor); +} + +void ArticleInterceptorManager::removeInterceptor(ArticleInterceptor* interceptor) +{ + d->interceptors.remove(interceptor); +} + +QValueList<ArticleInterceptor*> ArticleInterceptorManager::interceptors() const +{ + return d->interceptors; +} + +} + |