From 95c51a3e3e8b23d7d4917ea1a35db16785525aeb Mon Sep 17 00:00:00 2001 From: Valerio Valerio Date: Mon, 17 Jun 2013 16:15:44 +0300 Subject: Introduce messageserver plugins. 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 Reviewed-by: Robin Burchell --- src/tools/messageserver/messageserver.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/tools/messageserver/messageserver.cpp') 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 #include #include +#include extern "C" { #ifndef Q_OS_WIN @@ -59,6 +60,10 @@ extern "C" { #include } +#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() -- cgit v1.2.3