summaryrefslogtreecommitdiffstats
path: root/src/tools/messageserver/messageserver.cpp
diff options
context:
space:
mode:
authorValerio Valerio <valerio.valerio@jollamobile.com>2013-06-17 16:15:44 +0300
committerRobin Burchell <robin+qt@viroteck.net>2013-06-24 12:47:33 +0200
commit95c51a3e3e8b23d7d4917ea1a35db16785525aeb (patch)
treeb3f5c26830bf41a921650d9ad6add78a8d4557e6 /src/tools/messageserver/messageserver.cpp
parent696f60b3b3e13a244cb1ae91e836e4db6c766b21 (diff)
Introduce messageserver plugins.4.0.2
MessageServer plugins will be loaded and executed in the messageserver main loop, these plugins should only be used for services that need to know information about the operations initiated by all clients connected to messageserver. To make use of this functionality qmf should be compiled with 'DEFINES+=MESSAGESERVER_PLUGINS'. Change-Id: I6bebb150645d2c70a5bc67ffcaaa904f94ed3705 Signed-off-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'src/tools/messageserver/messageserver.cpp')
-rw-r--r--src/tools/messageserver/messageserver.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/tools/messageserver/messageserver.cpp b/src/tools/messageserver/messageserver.cpp
index da2b47dd..43a61d66 100644
--- a/src/tools/messageserver/messageserver.cpp
+++ b/src/tools/messageserver/messageserver.cpp
@@ -51,6 +51,7 @@
#include <qmailipc.h>
#include <newcountnotifier.h>
#include <qcopserver.h>
+#include <qmailmessageserverplugin.h>
extern "C" {
#ifndef Q_OS_WIN
@@ -59,6 +60,10 @@ extern "C" {
#include <signal.h>
}
+#ifdef MESSAGESERVER_PLUGINS
+#include "messageserverplugins.h"
+#endif
+
#if defined(Q_OS_UNIX)
int MessageServer::sighupFd[2];
#endif
@@ -252,6 +257,16 @@ MessageServer::MessageServer(QObject *parent)
emit client->actionsListed(QMailActionDataList());
}
+
+#ifdef MESSAGESERVER_PLUGINS
+ qMailLog(Messaging) << "Initiating messageserver plugins.";
+ QStringList availablePlugins = QMailMessageServerPluginFactory::keys();
+
+ for (int i = 0; i < availablePlugins.size(); i++) {
+ QMailMessageServerPlugin *plugin = QMailMessageServerPluginFactory::createService(availablePlugins.at(i));
+ plugin->exec();
+ }
+#endif
}
MessageServer::~MessageServer()