102 /*! |
119 /*! |
103 Destructor. |
120 Destructor. |
104 */ |
121 */ |
105 CaNotifier::~CaNotifier() |
122 CaNotifier::~CaNotifier() |
106 { |
123 { |
107 m_d->makeDisconnect(); |
124 m_d->unregisterNotifier( |
|
125 CaNotifierPrivate::EntryChangedWithIdNotifierType); |
|
126 m_d->unregisterNotifier( |
|
127 CaNotifierPrivate::EntryChangedWithEntryNotifierType); |
|
128 m_d->unregisterNotifier( |
|
129 CaNotifierPrivate::EntryTouchedNotifierType); |
|
130 m_d->unregisterNotifier( |
|
131 CaNotifierPrivate::GroupContentChangedNotifierType); |
108 delete m_d; |
132 delete m_d; |
109 } |
133 } |
110 |
134 |
111 /*! |
135 /*! |
112 This method is called when something has been |
136 This method is called when something has been |
191 /*! |
215 /*! |
192 Constructor. |
216 Constructor. |
193 \param notifierFilter descrbies entries to observe. |
217 \param notifierFilter descrbies entries to observe. |
194 */ |
218 */ |
195 CaNotifierPrivate::CaNotifierPrivate( |
219 CaNotifierPrivate::CaNotifierPrivate( |
196 const CaNotifierFilter ¬ifierFilter) : |
220 const CaNotifierFilter ¬ifierFilter, |
|
221 CaClientNotifierProxy *notifierProxy) : |
197 m_q(NULL), |
222 m_q(NULL), |
198 mNotifierFilter(NULL), |
223 mNotifierFilter(NULL), |
199 mNotifierProxy(NULL) |
224 mObserver(NULL) |
200 { |
225 { |
|
226 mNotifierProxy = notifierProxy; |
201 mNotifierFilter = new CaNotifierFilter(notifierFilter); |
227 mNotifierFilter = new CaNotifierFilter(notifierFilter); |
202 } |
228 } |
203 |
229 |
204 /*! |
230 /*! |
205 Destructor. |
231 Destructor. |
249 Connects this Notifier |
274 Connects this Notifier |
250 */ |
275 */ |
251 void CaNotifierPrivate::makeConnect() |
276 void CaNotifierPrivate::makeConnect() |
252 { |
277 { |
253 if (m_q) { |
278 if (m_q) { |
254 if (!mNotifierProxy) { |
279 mObserver = new CaObserver(); |
255 mNotifierProxy = new CaClientNotifierProxy(); |
280 m_q->connect(mObserver, |
256 } |
|
257 m_q->connect(mNotifierProxy, |
|
258 SIGNAL(signalEntryChanged(int,ChangeType)), |
281 SIGNAL(signalEntryChanged(int,ChangeType)), |
259 m_q, |
282 m_q, |
260 SIGNAL(entryChanged(int,ChangeType))); |
283 SIGNAL(entryChanged(int,ChangeType))); |
261 m_q->connect(mNotifierProxy, |
284 m_q->connect(mObserver, |
262 SIGNAL(signalEntryChanged(const CaEntry &,ChangeType)), |
285 SIGNAL(signalEntryChanged(const CaEntry &,ChangeType)), |
263 m_q, |
286 m_q, |
264 SIGNAL(entryChanged(const CaEntry &,ChangeType))); |
287 SIGNAL(entryChanged(const CaEntry &,ChangeType))); |
265 m_q->connect(mNotifierProxy, |
288 m_q->connect(mObserver, |
266 SIGNAL(signalEntryTouched(int)), |
289 SIGNAL(signalEntryTouched(int)), |
267 m_q, |
290 m_q, |
268 SIGNAL(entryTouched(int))); |
291 SIGNAL(entryTouched(int))); |
269 m_q->connect(mNotifierProxy, |
292 m_q->connect(mObserver, |
270 SIGNAL(signalGroupContentChanged(int)), |
293 SIGNAL(signalGroupContentChanged(int)), |
271 m_q, |
294 m_q, |
272 SIGNAL(groupContentChanged(int))); |
295 SIGNAL(groupContentChanged(int))); |
273 } |
296 } |
274 } |
297 } |
275 /*! |
298 |
276 Disconnects this Notifier |
|
277 */ |
|
278 void CaNotifierPrivate::makeDisconnect() |
|
279 { |
|
280 if (m_q && mNotifierProxy) { |
|
281 m_q->disconnect(mNotifierProxy, |
|
282 SIGNAL(signalEntryChanged(int,ChangeType)), |
|
283 m_q, |
|
284 SIGNAL(entryChanged(int,ChangeType))); |
|
285 m_q->disconnect(mNotifierProxy, |
|
286 SIGNAL(signalEntryChanged(const CaEntry &,ChangeType)), |
|
287 m_q, |
|
288 SIGNAL(entryChanged(const CaEntry &,ChangeType))); |
|
289 m_q->disconnect(mNotifierProxy, |
|
290 SIGNAL(signalEntryTouched(int)), |
|
291 m_q, |
|
292 SIGNAL(entryTouched(int))); |
|
293 m_q->disconnect(mNotifierProxy, |
|
294 SIGNAL(signalGroupContentChanged(int)), |
|
295 m_q, |
|
296 SIGNAL(groupContentChanged(int))); |
|
297 } |
|
298 } |
|