emailservices/nmclientapi/src/nmapieventnotifier.cpp
changeset 43 99bcbff212ad
parent 23 2dc6caa42ec3
child 44 c2d07d913565
equal deleted inserted replaced
42:139d4b7b2938 43:99bcbff212ad
    12  * Contributors:
    12  * Contributors:
    13  *
    13  *
    14  * Description: 
    14  * Description: 
    15  *
    15  *
    16  */
    16  */
       
    17 
       
    18 #include "emailtrace.h"
    17 
    19 
    18 #include <QList>
    20 #include <QList>
    19 #include <QVariant>
    21 #include <QVariant>
    20 #include <QString>
    22 #include <QString>
    21 #include <QTimer>
    23 #include <QTimer>
    33  */
    35  */
    34 NmApiEventNotifier::NmApiEventNotifier(QObject *parent) :
    36 NmApiEventNotifier::NmApiEventNotifier(QObject *parent) :
    35     NmApiMessageTask(parent)
    37     NmApiMessageTask(parent)
    36 
    38 
    37 {
    39 {
       
    40     NM_FUNCTION;
       
    41     
    38     //set timer
    42     //set timer
    39     mNmApiEventNotifierPrivate = new NmApiEventNotifierPrivate(this);
    43     mNmApiEventNotifierPrivate = new NmApiEventNotifierPrivate(this);
    40     mNmApiEventNotifierPrivate->mEmitSignals = new QTimer(this);
    44     mNmApiEventNotifierPrivate->mEmitSignals = new QTimer(this);
    41     mNmApiEventNotifierPrivate->mEmitSignals->setInterval(IntervalEmitingSignals);
    45     mNmApiEventNotifierPrivate->mEmitSignals->setInterval(IntervalEmitingSignals);
    42     connect(mNmApiEventNotifierPrivate->mEmitSignals, SIGNAL(timeout()), this, SLOT(
    46     connect(mNmApiEventNotifierPrivate->mEmitSignals, SIGNAL(timeout()), this, SLOT(
    47 /*!
    51 /*!
    48    Destructor
    52    Destructor
    49  */
    53  */
    50 NmApiEventNotifier::~NmApiEventNotifier()
    54 NmApiEventNotifier::~NmApiEventNotifier()
    51 {
    55 {
       
    56     NM_FUNCTION;
       
    57     
    52     if (mNmApiEventNotifierPrivate->mIsRunning) {
    58     if (mNmApiEventNotifierPrivate->mIsRunning) {
    53         mNmApiEventNotifierPrivate->releaseEngine();
    59         mNmApiEventNotifierPrivate->releaseEngine();
    54     }
    60     }
    55 }
    61 }
    56 
    62 
    59    
    65    
    60    \return Value tells about monitoring system running
    66    \return Value tells about monitoring system running
    61  */
    67  */
    62 bool NmApiEventNotifier::start()
    68 bool NmApiEventNotifier::start()
    63 {
    69 {
       
    70     NM_FUNCTION;
       
    71     
    64     bool result = false;
    72     bool result = false;
    65 
    73 
    66     if (mNmApiEventNotifierPrivate->mIsRunning) {
    74     if (mNmApiEventNotifierPrivate->mIsRunning) {
    67         result = true;
    75         result = true;
    68     }
    76     }
    91    In user responsibility is to cancel monitoring.
    99    In user responsibility is to cancel monitoring.
    92    On end it clear buffer events and emits \sa NmApiMessageTask::canceled() signal.
   100    On end it clear buffer events and emits \sa NmApiMessageTask::canceled() signal.
    93  */
   101  */
    94 void NmApiEventNotifier::cancel()
   102 void NmApiEventNotifier::cancel()
    95 {
   103 {
       
   104     NM_FUNCTION;
       
   105     
    96     mNmApiEventNotifierPrivate->cancel();
   106     mNmApiEventNotifierPrivate->cancel();
    97     emit canceled();
   107     emit canceled();
    98 }
   108 }
    99 
   109 
   100 /*!
   110 /*!
   101    Informs if event notifier is running
   111    Informs if event notifier is running
   102  */
   112  */
   103 bool NmApiEventNotifier::isRunning() const
   113 bool NmApiEventNotifier::isRunning() const
   104 {
   114 {
       
   115     NM_FUNCTION;
       
   116     
   105     return mNmApiEventNotifierPrivate->mIsRunning;
   117     return mNmApiEventNotifierPrivate->mIsRunning;
   106 }
   118 }
   107 
   119 
   108 /*!
   120 /*!
   109    It check each object in buffer and emit signal with it.
   121    It check each object in buffer and emit signal with it.
   111    After end of work of this function buffer is empty.
   123    After end of work of this function buffer is empty.
   112    It is called by timeout signal from timer.
   124    It is called by timeout signal from timer.
   113  */
   125  */
   114 void NmApiEventNotifier::sendEventsFromBuffer()
   126 void NmApiEventNotifier::sendEventsFromBuffer()
   115 {
   127 {
       
   128     NM_FUNCTION;
       
   129     
   116     qRegisterMetaType<EmailClientApi::NmApiMailboxEvent> ("EmailClientApi::NmApiMailboxEvent");
   130     qRegisterMetaType<EmailClientApi::NmApiMailboxEvent> ("EmailClientApi::NmApiMailboxEvent");
   117     qRegisterMetaType<EmailClientApi::NmApiMessageEvent> ("EmailClientApi::NmApiMessageEvent");
   131     qRegisterMetaType<EmailClientApi::NmApiMessageEvent> ("EmailClientApi::NmApiMessageEvent");
   118     NmApiMessage events;
   132     NmApiMessage events;
   119     while (!mNmApiEventNotifierPrivate->mBufferOfEvents.isEmpty()) {
   133     while (!mNmApiEventNotifierPrivate->mBufferOfEvents.isEmpty()) {
   120         events = mNmApiEventNotifierPrivate->mBufferOfEvents.takeFirst();
   134         events = mNmApiEventNotifierPrivate->mBufferOfEvents.takeFirst();