diff -r 4e54af54a4a1 -r 6c59112cfd31 email_plat/nmail_client_api/nmapieventnotifier.h --- a/email_plat/nmail_client_api/nmapieventnotifier.h Wed Sep 15 17:47:19 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,125 +0,0 @@ -/* - * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: - * - */ - -#ifndef NMAPIEVENTNOTIFIER_H -#define NMAPIEVENTNOTIFIER_H - -#include -#include -#include - -struct NmApiEvent; - -namespace EmailClientApi -{ -class NmApiEventNotifierPrivate; - -/*! - Notifier for mailbox and message events - - Example of use: - \code - NmApiEventNotifier *notifier = new NmApiEventNotifier(this); - notifier->start(); - connect(notifier,SIGNAL(messageEvent(MessageEvent,quint64,quint64,QList)),this, - SLOT(processMessage(MessageEvent,quint64,quint64,QList)),Qt::QueuedConnection); - \endcode - And then when want to end need to do: - \code - notifier->cancel(); - delete notifier; // or notifier->deleteLater(); - \endcode - */ -class NMAPI_EXPORT NmApiEventNotifier : public NmApiMessageTask -{ - Q_OBJECT -public: - /*! - Constructor - */ - NmApiEventNotifier(QObject *parent); - - /*! - Destructor - */ - virtual ~NmApiEventNotifier(); - - /*! - Start monitoring email events - - Return value informs if monitoring system is up - */ - virtual bool start(); - - /*! - Cancels monitoring. - - In user responsibility is to cancel monitoring. - On end it clear buffer events and emits \sa NmApiMessageTask::canceled() signal. - */ - virtual void cancel(); - - /*! - Checks if event notifier is running. - */ - bool isRunning() const; - - signals: - /*! - This signal is emited when buffer of mailbox events is ready to send. Buffer is list of mailbox events with id. - - - It emits signals grouped by events. So there will be as much signals as much there are events. - For safety when connect it need to use \sa Qt::QueuedConnection. - After that use \sa EmailClientApi::NmEmailService::getMailbox to get object. - \param event Event of mailbox - \param id List of mailbox ids where event occur. - */ - void mailboxEvent(EmailClientApi::NmApiMailboxEvent event, QList id); - - /*! - This signal is emited when buffer of messages events is ready to send. Buffer is list of messages events with id. - * - It emits signals grouped by events, mailbox and folder. So there will be as much signals as much there are events. - For safety when connect it need to use \sa Qt::QueuedConnection. - After that use \sa EmailClientApi::NmApiEmailService::getEnvelope to get object. - - \param event Event of messages - \param mailboxId Message mailbox - \param folderId Message folder - \param envelopeIdList List of messages ids where event occur - */ - void messageEvent(EmailClientApi::NmApiMessageEvent event, quint64 mailboxId, quint64 folderId, QList envelopeIdList); - -public slots: - /*! - It check each object in buffer and emit signal with it. - - After end of work of this function buffer is empty. - It is called by timeout signal from timer. - */ - void sendEventsFromBuffer(); - -private: - NmApiEventNotifierPrivate *mNmApiEventNotifierPrivate; -}; - -} - -Q_DECLARE_METATYPE(QList) - -#endif