[SCM] ktp-text-ui packaging branch, master, updated. debian/15.12.1-1-1918-gdf4b0ec
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:21:04 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-text-ui.git;a=commitdiff;h=547ef0b
The following commit has been merged in the master branch:
commit 547ef0b2f1be63e99c54029c21e0181c4943de1f
Author: David Edmundson <kde at davidedmundson.co.uk>
Date: Wed Feb 1 23:25:32 2012 +0000
Make message processor a proper singleton
---
lib/chat-widget.cpp | 6 +-----
lib/message-processor.cpp | 17 +++++++++++++++--
lib/message-processor.h | 12 ++++++++++--
3 files changed, 26 insertions(+), 9 deletions(-)
diff --git a/lib/chat-widget.cpp b/lib/chat-widget.cpp
index b860ff7..bfbd1b9 100644
--- a/lib/chat-widget.cpp
+++ b/lib/chat-widget.cpp
@@ -69,7 +69,6 @@ public:
Ui::ChatWidget ui;
ChannelContactModel *contactModel;
LogManager *logManager;
- MessageProcessor *messageProcessor;
KComponentData telepathyComponentData();
};
@@ -195,9 +194,6 @@ ChatWidget::ChatWidget(const Tp::TextChannelPtr & channel, const Tp::AccountPtr
d->logManager->setFetchAmount(3);
d->logManager->setTextChannel(d->account, d->channel);
}
-
- //initialise message processor
- d->messageProcessor = new MessageProcessor(this);
}
ChatWidget::~ChatWidget()
@@ -543,7 +539,7 @@ void ChatWidget::handleIncomingMessage(const Tp::ReceivedMessage &message)
} else {
AdiumThemeContentInfo messageInfo(AdiumThemeMessageInfo::RemoteToLocal);
- messageInfo.setMessage(d->messageProcessor->processIncommingMessage(message).finalizedMessage());
+ messageInfo.setMessage(MessageProcessor::instance()->processIncommingMessage(message).finalizedMessage());
QDateTime time = message.sent();
if (!time.isValid()) {
diff --git a/lib/message-processor.cpp b/lib/message-processor.cpp
index 3bb0353..06857c3 100644
--- a/lib/message-processor.cpp
+++ b/lib/message-processor.cpp
@@ -20,15 +20,28 @@
#include "message-processor.h"
#include "filters.h"
-QList<AbstractMessageFilter*> MessageProcessor::m_filters;
+MessageProcessor* MessageProcessor::s_instance = 0;
AbstractMessageFilter::~AbstractMessageFilter()
{
+}
+MessageProcessor* MessageProcessor::instance()
+{
+ static QMutex mutex;
+ if (!s_instance)
+ {
+ mutex.lock();
+ if (!s_instance) {
+ s_instance = new MessageProcessor;
+ }
+ mutex.unlock();
+ }
+ return s_instance;
}
-MessageProcessor::MessageProcessor(QObject* parent): QObject(parent)
+MessageProcessor::MessageProcessor()
{
m_filters << new UrlFilter();
}
diff --git a/lib/message-processor.h b/lib/message-processor.h
index 50cacec..380a510 100644
--- a/lib/message-processor.h
+++ b/lib/message-processor.h
@@ -34,13 +34,21 @@ class MessageProcessor : public QObject
{
public:
- explicit MessageProcessor(QObject* parent = 0);
+ static MessageProcessor* instance();
+
~MessageProcessor();
//text-ui will call this somewhere in handleIncommingMessage just before displaying it
KTp::Message processIncommingMessage(Tp::ReceivedMessage);
+
+protected:
+ explicit MessageProcessor();
+
+
private:
- static QList<AbstractMessageFilter*> m_filters;
+ static MessageProcessor* s_instance;
+ QList<AbstractMessageFilter*> m_filters;
+
};
#endif // MESSAGE_PROCESSOR_H
--
ktp-text-ui packaging
More information about the pkg-kde-commits
mailing list