equal
deleted
inserted
replaced
28 QObject(parent), mEmitSignals(NULL), mEngine(NULL), mIsRunning(false) |
28 QObject(parent), mEmitSignals(NULL), mEngine(NULL), mIsRunning(false) |
29 { |
29 { |
30 NM_FUNCTION; |
30 NM_FUNCTION; |
31 mEmitSignals = new QTimer(this); |
31 mEmitSignals = new QTimer(this); |
32 mEmitSignals->setInterval(IntervalEmitingSignals); |
32 mEmitSignals->setInterval(IntervalEmitingSignals); |
|
33 mEmitSignals->setSingleShot(true); |
33 connect(mEmitSignals, SIGNAL(timeout()), this, SIGNAL( |
34 connect(mEmitSignals, SIGNAL(timeout()), this, SIGNAL( |
34 timedOut())); |
35 timedOut())); |
35 mEngine = NmApiEngine::instance(); |
36 mEngine = NmApiEngine::instance(); |
36 } |
37 } |
37 |
38 |
67 if (mIsRunning) { |
68 if (mIsRunning) { |
68 result = true; |
69 result = true; |
69 } |
70 } |
70 else { |
71 else { |
71 qRegisterMetaType<QList<quint64> > ("QList<quint64>"); |
72 qRegisterMetaType<QList<quint64> > ("QList<quint64>"); |
72 qRegisterMetaType<NmApiEvent> ("NmApiEvent"); |
73 qRegisterMetaType<EmailClientApi::NmApiEvent> ("EmailClientApi::NmApiEvent"); |
73 |
74 |
74 connect(mEngine, SIGNAL(emailStoreEvent(NmApiEvent)), this, |
75 connect(mEngine, SIGNAL(emailStoreEvent(EmailClientApi::NmApiEvent)), this, |
75 SLOT(emailStoreEvent(NmApiEvent))); |
76 SLOT(emailStoreEvent(EmailClientApi::NmApiEvent))); |
76 |
77 |
77 mEngine->startCollectingEvents(); |
78 mEngine->startCollectingEvents(); |
78 |
79 |
79 mEmitSignals->start(); |
|
80 mIsRunning = true; |
80 mIsRunning = true; |
81 result = true; |
81 result = true; |
82 } |
82 } |
83 return result; |
83 return result; |
84 } |
84 } |
87 */ |
87 */ |
88 void NmApiEventNotifierPrivate::stop() |
88 void NmApiEventNotifierPrivate::stop() |
89 { |
89 { |
90 mIsRunning = false; |
90 mIsRunning = false; |
91 mEmitSignals->stop(); |
91 mEmitSignals->stop(); |
92 disconnect(mEngine, SIGNAL(emailStoreEvent(NmApiEvent)), this, |
92 disconnect(mEngine, SIGNAL(emailStoreEvent(EmailClientApi::NmApiEvent)), this, |
93 SLOT(emailStoreEvent(NmApiEvent))); |
93 SLOT(emailStoreEvent(EmailClientApi::NmApiEvent))); |
94 } |
94 } |
95 |
95 |
96 /*! |
96 /*! |
97 Returns event buffer, after function call the buffer is empty |
97 Returns event buffer, after function call the buffer is empty |
98 */ |
98 */ |
108 |
108 |
109 It is run by \sa NmApiEngine::emailStoreEvent signal. |
109 It is run by \sa NmApiEngine::emailStoreEvent signal. |
110 \sa NmApiEvent |
110 \sa NmApiEvent |
111 \param events It contains full info about object and it event. |
111 \param events It contains full info about object and it event. |
112 */ |
112 */ |
113 void NmApiEventNotifierPrivate::emailStoreEvent(const NmApiEvent &events) |
113 void NmApiEventNotifierPrivate::emailStoreEvent(const EmailClientApi::NmApiEvent event) |
114 { |
114 { |
115 NM_FUNCTION; |
115 NM_FUNCTION; |
116 mBufferOfEvents << events; |
116 mBufferOfEvents << event; |
|
117 if (!mEmitSignals->isActive()) { |
|
118 mEmitSignals->start(); |
|
119 } |
117 } |
120 } |
118 |
121 |
119 void NmApiEventNotifierPrivate::cancel() |
122 void NmApiEventNotifierPrivate::cancel() |
120 { |
123 { |
121 NM_FUNCTION; |
124 NM_FUNCTION; |
125 } |
128 } |
126 |
129 |
127 mIsRunning = false; |
130 mIsRunning = false; |
128 mEmitSignals->stop(); |
131 mEmitSignals->stop(); |
129 |
132 |
130 disconnect(mEngine, SIGNAL(emailStoreEvent(NmApiEvent)), this, |
133 disconnect(mEngine, SIGNAL(emailStoreEvent(EmailClientApi::NmApiEvent)), this, |
131 SLOT(emailStoreEvent(NmApiEvent))); |
134 SLOT(emailStoreEvent(EmailClientApi::NmApiEvent))); |
132 |
135 |
133 mBufferOfEvents.clear(); |
136 mBufferOfEvents.clear(); |
134 } |
137 } |
135 |
138 |
136 } |
139 } |