summaryrefslogtreecommitdiffstats
path: root/akregator/src/articleinterceptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'akregator/src/articleinterceptor.cpp')
-rw-r--r--akregator/src/articleinterceptor.cpp52
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;
+}
+
+}
+