summaryrefslogtreecommitdiffstats
path: root/src/tools/messageserver/messageserver.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Clean up service plugin signal connections - minor API changesPekka Vuorela5 days1-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The states and signals were painful to follow due to bad naming and excessive overloading. Here: - Renamed some API to avoid overloading, help readability and allow new connect() syntax without resolving the overloads. - updateStatus() signals and slots renamed a bit to make it clearer what is a signal and what is a slot. And avoiding overloading QMailMessageService::updateStatus() to simplify signal connection. - Cleaned up QMailTranport API. It's not doing urls but hostnames and the signals were especially hard to follow - Use the new connect() syntax in messageserver side - Avoiding some protected: / virtual methods when there's nothing even able to inherit the class. - At least print SSL errors instead of signal that's not connected anywhere. - Some minor simplifications and code style adjustments. The SSL error handling is still funny but at least a bit easier to track. Change-Id: If168e15ef068fedee46b9401d695ed5dae7962ba Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Build messageserver plugin support without configurabilityPekka Vuorela2025-11-201-4/+0
| | | | | | | | | | | | | | | | | | | | | On qmake this needs to be explicitly turned on externally while I wouldn't expect much reasons not to use it. The affected code is small. The MODULE_PLUGIN_TYPES wasn't updated to contain plugin prefix but guess it doesn't necessarily affect much with no actual messageserver plugins here. On cmake build looks like the option wasn't enabled properly. The plugin files are built but nothing did -DMESSAGESERVER_PLUGINS for the actual messageserver. Removed one leftover type declaration from messageserver too. Change-Id: I2f012f1f16f6c5c1d74c8b3b0b3ca50edebf59a1 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr>
* Remove dead voice/video mail handlingPekka Vuorela2025-11-121-67/+1
| | | | | | | | | | | | | | Not much done here since the initial commit and the QMailMessageClassifier::classifyMessage(QMailMessageMetaData*) wasn't actually getting even called anywhere. Besides if something like this is wanted in some environment, it's better implemented as external messageserver plugin. Change-Id: Iff3b9616a739345f6dc73f7b8160b83835ece13b Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr>
* Remove non-functional NewCountNotifierPekka Vuorela2025-11-121-162/+3
| | | | | | | | | | | This doesn't nor has done anything meaningful. For handling new messages it should be better to just create a plugin, e.g. what SailfishOS has done for making notifications on new emails. Change-Id: I962339b406dd305c38fa11992d1576d6aa668084 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr>
* Avoid some more compiler warningsPekka Vuorela2025-11-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | - Missed earlier one QMessageBox deprecation from separate file - LongStream now doing consistent open() check in all code paths. Also removed unused member variable 'c' and moved internal constants to .cpp. - imapstrategy.h / ImapMessageListStrategy::selectedSectionsAppend() was dead code due to derived class ImapFetchSelectedMessagesStrategy having similar named method with extra parameter and default value. - ImapService was triggering a couple of -Woverloaded-virtual warnings due to having extra methods with same name as base class. These were really used internally so simpler as different named private. - ImapProtocol / QString::lastIndexOf() was complaining about unused return value. Using that should be even simpler than accessing regexp match. - Some small random warnings on unused parameters, missed switch case etc. Change-Id: I243c09ab2d551fe2f8be18f1b3a4df2e3d84b55c Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: <matti.viljanen@kapsi.fi>
* Use common if/else brace and operator stylePekka Vuorela2025-10-061-4/+4
| | | | | | | | | And couple small simplifications too. Change-Id: Id5fe0a3e991961b9b39c92ab1b9b165c6f450289 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: <matti.viljanen@kapsi.fi>
* Remove unneeded typedef QMailMessageCountMapPekka Vuorela2025-10-061-2/+3
| | | | | | | | | | Not used anywhere in the qmfclient side since commit d06d3db4dfdc6de or so. Change-Id: I64d341bf56b1e9a887566f06631958eee58677d0 Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr>
* Clean up some cosmetic detailsPekka Vuorela2025-09-191-1/+1
| | | | | | | | | | | | | | | | | | | Mostly coding conventions here. - Method opening braces to their own lines - Adjusted some inconsistent init list styles - Removed some redundant static declarations inside anon namespace - Replaced one delete loop with qDeleteAll() - Remove some trailing extra new lines - Added some missing spaces after commas - for (), if (), switch as common qt style - Removed some unnecessary scopes within switch cases Etc. Change-Id: Ide9ad7fea6f5fce3b854af2bf05874623c474028 Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Rewrite logging with QLoggingCategoryDamien Caliste2025-06-131-17/+134
| | | | | | | | | Replace the custom logging mechanism with QLoggingCategory. Also declare the warnings with the proper category. Change-Id: If87d53d27ea0c65abd434af9f99fe49ce634d6dd Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Add missing spaces after for/if/while/switchPekka Vuorela2025-05-091-1/+1
| | | | | | | Change-Id: I57c6ed78099b3359a16ce807da95325e755f0197 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: <matti.viljanen@kapsi.fi>
* Proper life-cycle management for messageserver plugins. API breakPekka Vuorela2025-02-271-2/+6
| | | | | | | | | | | | | | | | The setup here was quite broken, nobody really properly owned the created server plugin instances and the static instance deletion got rid of them at process shutdown in random order with other qmf stuff. Resulting in bad memory accessses and whatnot. Thus separating here the plugin api and the services the plugins can create. Needs a bit adjustment for the out-of-source plugins using this. Change-Id: I226d63ef985b215a09f6125a013bafdc80d69562 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: <matti.viljanen@kapsi.fi>
* Remove lock file usage from messageserverGuido Berhoerster2025-02-031-20/+23
| | | | | | | | | | Using DBus with a well known name already ensures that only a single instance can run. Thus refactor the constructor into init method which can fail in case of DBus errors and exit gracefully without dumping core. Also exit gracefully in case of database incompatibility Change-Id: I290cd438d47ea56cef4865a565c305cc2f884906 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Switch to DBus for IPCDamien Caliste2023-11-061-147/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two IPC mechanisms in QMF: - one between the messageserver and clients to perform actions like fetch emails, search, etc. - one between every mailstore instances to notify other instances of changes in the mail database. QCop being discontinued, this patch switchs to use DBus as an IPC transport layer. The first mechanism is implemented by registering an object on the session bus (/messageserver) providing a service (org.qt.messageserver). The second mechanism is implemented by registering each client as an object to the session bus (/mailstore/client) for the interface org.qt.mailstore. Other clients can then listen to updated() signal on this interface. DBus IPC requires to implement operator<<() and operator>>() with QDBusArgument for the objects that need to be transported. In all cases, each objects are serialised up to unitary elemental elements like int, byte arrays, etc. Except for the QMailKeyArgument that uses first a serialisation into a byte array before being sent. This is due to the recursive declaration of QMailKeyArgument with the subKeys members, not working well with QDBusArgument serialisation. Change-Id: I8f10b8b00f73d4b75dad778b591159a765e9fb89 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Remove client to server email addition via a fileDamien Caliste2023-10-171-4/+0
| | | | | | | | | | | | | The possibility to transfer from client to the mail server new or modified emails by file has been deprecated by the usage of QMailMessageMetaDataList. The client side implementation is already using only the new method. So remove the server side implementation and IPC interface. Change-Id: I50df8ab04692748e3a1b66341f3b4cd05cc58501 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Delete deprecated message count signals in IPCDamien Caliste2023-10-101-20/+12
| | | | | | | | | | | | | | | | | The newCountChanged signal is not used anymore in the message server. Remove the client code exposing it. Remove also client method acknowledgeNewMessages() since it's linked to newCountChanged signal to reset the counters. Remove the internal QMailMessageServerPrivate::initialize() since it's not called from anywhere and the server has no slot for this signal. Change-Id: Id5a67c22eae2c7190c3e02ed0681eab7037f1fcc Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Use range constructors for lists and setsDamien Caliste2021-04-081-1/+1
| | | | | | Change-Id: Iccea2c86266b4c20777d939b291084cb709bf592 Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Fix unsafe signal handling in messageserverPekka Vuorela2018-09-291-8/+66
| | | | | | | | | | Qt code cannot be called from signal handlers so old version wasn't safe. Funny thing MessageServer already had proper handling, but it was overridden for sighup in main.cpp. Change-Id: I9ab55f943148b5cd62bb01eec0157e2500b57ba2 Reviewed-by: Christopher Adams <chris.adams@jollamobile.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* [qmf] onlineMoveFolder API + IMAP implementationMichael Nosov2018-08-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | API to move folder in the hierarchy. Implementation is mostly based on 'onlineRenameFolder' API implementation Testing: ======== 1) Gmail account: Try to move a folder from one folder to another. Expected result: move success 2) Gmail account: Try to move a folder from one folder to root. Expected: move success 3) Gmail account: Try to move top-level (root) folder to some other folder. Expected result: move success 4) Binary compatibility - Verify that existing 3rd party QMF plugins still work well with new QMF - Try to move folder for 3rd party QMF account (which doesn't have implementation of MoveFolder) Verify that MoveFolder action is failed. Verify in logs that action is completed with "This function is not currently supported" error 5) Gmail account (handling errors): - Delete folder A on Web UI - Try to move folder A to folder B on device - Verify that action is failed - Try to perform some moveFolder operations again - Verify that those operation are completed (e.g. completion is not freezed) Change-Id: Ifd59ad4fe9c41d17963aa64101b203d31dcdfb2d Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* Update licensing to match latest approach in QtCore.Robin Burchell2015-08-281-22/+14
| | | | | Change-Id: Icce55517963f0cbc35211e9fc6f1a0fc413f5676 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Convert qmfclient & qmfmessageserver into Qt modules: QmfClient & ↵Robin Burchell2014-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | QmfMessageServer. This was not possible prior to now due to Qt 4 support hanging around like the undead vampire it is, but now we purged it with fire and light, and the build system looks a lot less like a stinky, decomposed corpse. There's still a lot of surprises lurking: qtmail is one such surprise. I don't quite grasp why it's so heavy on plugins, and qmfutil also needs some... attention. But at least it's a start. As part of this work, we rename the qcop headers to fit the private convention. This could have been done in a prior commit, but given that I didn't have an easy way to build prior to this commit, I opted to roll them together. Change-Id: Ia3e288ffc3639a7751c9040ceecb54fca77a31b1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com>
* Add missing include.Davide Pesavento2013-07-291-0/+1
| | | | | | | | | | | | | Fixes the following compilation errors with gcc 4.7 and later. messageserver.cpp: In static member function 'static void MessageServer::hupSignalHandler(int)': messageserver.cpp:501:5: error: '::write' has not been declared messageserver.cpp: In member function 'void MessageServer::handleSigHup()': messageserver.cpp:508:5: error: '::read' has not been declared Change-Id: I6fbcf2cba884f5e285c0259e020c60f4a44173b4 Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Remove obsolete ifdef.Valerio Valerio2013-06-251-4/+0
| | | | | | Change-Id: I379598ddb440fe5c7474873c078cade05c8e5fb6 Signed-off-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Introduce messageserver plugins.4.0.2Valerio Valerio2013-06-241-0/+15
| | | | | | | | | | | | 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>
* Remove Symbian support.Robin Burchell2013-02-281-3/+3
| | | | | | | | Symbian is not a supported platform anymore. Change-Id: I82e618e756ae0b247e6e038fa9d8d43fb90b44ff Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Change to new-form Digia license headers.Robin Burchell2013-02-121-24/+24
| | | | | Change-Id: If0f4427ee93a37de4ebd9e097defd8b3956f0fc6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* s/Nokia/QtProject/ in settings files.Robin Burchell2012-12-051-2/+2
| | | | | | | | | | minor, but matches the changes made in Qt 5, and reflects that Nokia is no longer the vendor of this software. Change-Id: I3b324b813359f53e65760f3ce7a751dbd5c970e7 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Johan Thelin <johan.thelin@pelagicore.com> Reviewed-by: Valerio Valerio <vdv100@gmail.com>
* BIC: Update the imap plugin to use the public QMailServiceAction interface.Don Sanders2012-02-231-0/+2
| | | | | | | | | Instead of using its own private interface for push email and interval checking operations. This change will faciliate monitoring of push email network operations, and limiting peak memory use. Required adding a new service action, retrieveNewMessages, for retrieving new messages in a folder without updating existing messages.
* Add service action to find and create standard folders.Valerio Valerio2012-01-271-0/+2
| | | | | | | | | | | | void QMailRetrievalAction::createStandardFolders(const QMailAccountId &accountId) Requests that the message server create the standard folders for the account accountId. If all standard folders are already set in the storage the service action will return success immediately, in case some standard folders are not set, a matching attempt against a predefined list of translations will be made, if the folders can't be matched, messageserver will try to create them in the server side and match them if the creation is successful. In case folder creation is not allowed for the account accountId the service action will return.
* Add 'transmitMessage(quint64 action, const QMailMessageId &messageId)'Valerio Valerio2012-01-171-0/+2
| | | | | | | | void QMailMessageServer::transmitMessage(quint64 action, const QMailMessageId &messageId) Requests that the MessageServer application transmit the message identified by 'messageId' that are currently in the Outbox folder. The request has the identifier 'action'.
* Add disconnected storage actions, for actions requiring database writes.2012W02Don Sanders2012-01-101-0/+12
| | | | | | | | | | | | | | | | | | | | | | | Specifically, as documented in src/libraries/qmfclient/CHANGES.qdoc item 52, added: 'void QMailStorageAction::deleteMessages(quint64, const QMailMessageIdList &ids)', 'void QMailStorageAction::rollBackUpdates(quint64, const QMailAccountId &mailAccountId)', 'void QMailStorageAction::moveToStandardFolder(quint64, const QMailMessageIdList& ids, QMailFolder::StandardFolder standardFolder)', 'void QMailStorageAction::moveToFolder(quint64, const QMailMessageIdList& ids, const QMailFolderId& folderId)', 'void QMailStorageAction::flagMessages(quint64, const QMailMessageIdList& ids, quint64 setMask, quint64 unsetMask)', 'void QMailStorageAction::restoreToPreviousFolder(quint64, const QMailMessageKey& key)', 'void QMailMessageServer::deleteMessages(quint64, const QMailMessageIdList &ids)', 'void QMailMessageServer::rollBackUpdates(quint64, const QMailAccountId &mailAccountId)', 'void QMailMessageServer::moveToStandardFolder(quint64, const QMailMessageIdList& ids, quint64 standardFolder)', 'void QMailMessageServer::moveToFolder(quint64, const QMailMessageIdList& ids, const QMailFolderId& folderId)', 'void QMailMessageServer::flagMessages(quint64, const QMailMessageIdList& ids, quint64 setMask, quint64 unsetMask)' and 'void QMailMessageServer::restoreToPreviousFolder(quint64, const QMailMessageKey& key)'. Also added documentation for new functions, and made some minor documentation updates for existing functions. Additionally added a new set of module tests tst_qmailstorageaction. These tests require the messageserver to be running. They are not just stubs but do real testing.
* Rename some QMailStorageAction functions to indicate they require the device ↵2012W01_1Don Sanders2012-01-051-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | to be online. Specifically: Renamed 'void QMailStorageAction::deleteMessages(const QMailMessageIdList &ids)' to onlineDeleteMessages, 'void QMailStorageAction::copyMessages(const QMailMessageIdList &ids, const QMailFolderId &destinationId)' to onlineCopyMessages, 'void QMailStorageAction::moveMessages(const QMailMessageIdList &ids, const QMailFolderId &destinationId)' to onlineMoveMessages, 'void QMailStorageAction::flagMessages(const QMailMessageIdList &ids, quint64 setMask, quint64 unsetMask)' to onlineFlagMessages, 'void QMailStorageAction::createFolder(const QString &name, const QMailAccountId &accountId, const QMailFolderId &parentId)' to onlineCreateFolder, 'void QMailStorageAction::renameFolder(const QMailFolderId &folderId, const QString &name)' to onlineRenameFolder, 'void QMailStorageAction::deleteFolder(const QMailFolderId &folderId)' to onlineDeleteFolder. 'void QMailMessageServer::deleteMessages(const QMailMessageIdList &ids)' to onlineDeleteMessages, 'void QMailMessageServer::copyMessages(const QMailMessageIdList &ids, const QMailFolderId &destinationId)' to onlineCopyMessages, 'void QMailMessageServer::moveMessages(const QMailMessageIdList &ids, const QMailFolderId &destinationId)' to onlineMoveMessages, 'void QMailMessageServer::flagMessages(const QMailMessageIdList &ids, quint64 setMask, quint64 unsetMask)' to onlineFlagMessages, 'void QMailMessageServer::createFolder(const QString &name, const QMailAccountId &accountId, const QMailFolderId &parentId)' to onlineCreateFolder, 'void QMailMessageServer::renameFolder(const QMailFolderId &folderId, const QString &name)' to onlineRenameFolder, 'void QMailMessageServer::deleteFolder(const QMailFolderId &folderId)' to onlineDeleteFolder. Additionally updated the doc to fix some assorted discrepancies, and indicate which functions require the device to be online. Have not yet regenerated the html version of the doc.
* Added QMailSearchAction::countMessages function, and ↵Don Sanders2011-11-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMailMessageServer::messagesCount signal. QMailSearchAction::countMessages(const QMailMessageKey &filter, const QString &bodyText) function Requests that the message server count all messages that match the criteria specified by \a filter. If \a bodyText is non-empty then messages that contain the supplied text in their content will also be matched and counted. It should be implemented for all protocol plugins for accounts with the QMailAccount::CanSearchOnServer flag set. Implemented for IMAP plugin, accelerated by use of ESEARH IMAP extension when supported by the remote server. QMailSearchAction::messagesCount(uint count) This signal emits the \a count of matching messages on the remote server. Only emitted for remote searches. Emitted by countMessages, and searchMessages functions. uint QMailSearchAction::messagesCount() const Returns the count of matching messages on the remote server. Also implemented boiler plate code in QMailMessageServer etc.
* Update remote server search API.Don Sanders2011-11-171-0/+4
| | | | | | | Add 'QMailSearchAction::remainingMessagesCount(uint count) signal. and 'QMailSearchAction::searchMessages' function with limit argument. Also add doc.
* Update license headers (make them consistent with harmattan qmf)Don Sanders2011-08-071-17/+17
| | | | Remove obsolete pre-release clause.
* Add new retrieveMessageLists interface and implementation.2011W26_4Don Sanders2011-07-071-0/+2
| | | | Fix for nb#271151.
* Revert initial retrieveMessageLists interface and implementation.2011W26_3Don Sanders2011-07-071-2/+0
|
* Add new retrieveMessageLists for performance2011W26_2Eric Springer2011-07-071-0/+2
|
* Update the addMessages and updateMessages serviceactionsDon Sanders2011-05-311-0/+4
| | | | | | | | | | | | | | | | | | Related to NB#199393 'Response time to send Email message is above the target value' messagserver will no longer reload message data, should reduce peak memory usage (and reduce cpu/filesystem use). Required fixing bug in mailstore where updateMessage ignored udpated contentIdentifier. Required changing QMailContentManager interface to add new NoDurability option and new ensureDurability(const QList<QString> &) function, and updating QmfStorageManager plugin appropriately. Required adding new limitation to addMessages and updateMessages service actions, all messages must have same content scheme.
* Add async serviceactions for adding and updating messages.Don Sanders2011-05-201-0/+4
|
* Changes required to build on Symbian from JKL.Don Sanders2010-11-231-4/+3
|
* Add concurent action support to service handlerespringe2010-10-181-2/+0
|
* Extensions to the logging subsystem (From Vitaly Repin)espringe2010-10-071-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Taken from QMF merge request #6 by Vitaly Repin: Current version of the QMF logging subsystem has the following issues: 1) Whenever application is linked against QMF, all the syslog messages are prefixed with QMF regardless of the application settings. E.g., Aug 31 00:25:16 vitnote QMF[4959]: [Critical] Test It makes it harder to identify the application which has printed specific message to syslog. It also overwrites the previous calls to "openlog" made by application which is impolite 2) It is not possible to enable/disable logging through syslog in runtime 3) It is not possible to log into file and stderr 4) Output of Q_ASSERT is not logged. In fact, QWarning(), qFatal(), qDebug() do not go to the log 5) Library installs the SIGHUP handler transparently for the application. It is bad because application might want to install its own handler for this signal and it could conflict with the library's logic. The patch attached for your review fixes the issues above. It also adds the following possibilities: - To log into file and stderr, controllable through the configuration file in runtime - To create chain of loggers if needed (e.g., output to file and stderr, to file and syslog etc). Chain of loggers is defined in run-time through configuration file. - Configuration file is per application. Not the only file for all the users of the library.
* Make ActionObserver synchronize after server restartespringe2010-09-301-0/+2
|
* Krazy code cleanupEric Springer2010-07-211-3/+3
| | | | Fix issues suggested by KDE's code checking tool "Krazy"
* When sending of a message failsDon Sanders2010-07-041-0/+2
| | | | | | | | | A) leave it in the outbox and continue sending other messages in the outbox. B) emit a messagesFailedTransmitted signal. API change QMailTransmitAction has new messagesFailedTransmitted signal. Task: NB#177952 NB#153703
* Adding QMailMessageObserver, a way of monitoring actionsEric Springer2010-07-021-0/+6
| | | | | BIG WARNING: This merely a demo. The entire API of it is about to (drastically) change, and will be in no way compatible.
* Update license files, so they are the same as Qt.Don Sanders2010-06-291-16/+16
| | | | | | | | Specifically remove out dated "or the Beta Release License Agreement" text. Remove redundant GPL paragaph. Update copyright to 2010.
* QTMOBILITY-181. Put headers for messageserver and qtopiamail libraries into ↵AleksW2010-04-201-0/+1
| | | | an 'include' directory on 'make install'
* Switch to using status to store temporary messagesespringe2010-03-161-0/+7
|
* Add interface for folder manipulation via message server.Eric Springer2009-12-091-0/+12
|