116 void CaNotifier::connectNotify(const char *signal) |
116 void CaNotifier::connectNotify(const char *signal) |
117 { |
117 { |
118 qDebug("CaNotifier::connectNotify"); |
118 qDebug("CaNotifier::connectNotify"); |
119 qDebug("\tsignal: %s", signal); |
119 qDebug("\tsignal: %s", signal); |
120 if (QLatin1String(signal) |
120 if (QLatin1String(signal) |
121 == SIGNAL(entryChanged(int,ChangeType))) { |
121 == SIGNAL(entryChanged(int,ChangeType))) { |
122 // signal is entryChanged(int, ChangeType) |
122 // signal is entryChanged(int, ChangeType) |
123 if (receivers(SIGNAL(entryChanged(int,ChangeType))) == 1) { |
123 if (receivers(SIGNAL(entryChanged(int,ChangeType))) == 1) { |
124 m_d->registerNotifier( |
124 m_d->registerNotifier( |
125 CaNotifierPrivate::EntryChangedWithIdNotifierType); |
125 CaNotifierPrivate::EntryChangedWithIdNotifierType); |
126 } |
126 } |
127 } |
127 } else if (QLatin1String(signal) |
128 else if (QLatin1String(signal) |
128 == SIGNAL(entryChanged(CaEntry,ChangeType))) { |
129 == SIGNAL(entryChanged(CaEntry,ChangeType))) { |
|
130 // signal is entryChanged(const CaEntry &, ChangeType) |
129 // signal is entryChanged(const CaEntry &, ChangeType) |
131 if (receivers(SIGNAL(entryChanged(const CaEntry &,ChangeType))) == 1) { |
130 if (receivers(SIGNAL(entryChanged(const CaEntry &,ChangeType))) == 1) { |
132 m_d->registerNotifier( |
131 m_d->registerNotifier( |
133 CaNotifierPrivate::EntryChangedWithEntryNotifierType); |
132 CaNotifierPrivate::EntryChangedWithEntryNotifierType); |
134 } |
133 } |
135 } |
134 } else if (QLatin1String(signal) |
136 else if (QLatin1String(signal) |
135 == SIGNAL(entryTouched(int))) { |
137 == SIGNAL(entryTouched(int))) { |
|
138 // signal is entryTouched(int) |
136 // signal is entryTouched(int) |
139 if (receivers(SIGNAL(entryTouched(int)))) { |
137 if (receivers(SIGNAL(entryTouched(int)))) { |
140 m_d->registerNotifier( |
138 m_d->registerNotifier( |
141 CaNotifierPrivate::EntryTouchedNotifierType); |
139 CaNotifierPrivate::EntryTouchedNotifierType); |
142 } |
140 } |
143 } |
141 } else if (QLatin1String(signal) |
144 else if (QLatin1String(signal) |
142 == SIGNAL(groupContentChanged(int))) { |
145 == SIGNAL(groupContentChanged(int))) { |
|
146 // signal is groupContentChanged(int) |
143 // signal is groupContentChanged(int) |
147 if (receivers(SIGNAL(groupContentChanged(int)))) { |
144 if (receivers(SIGNAL(groupContentChanged(int)))) { |
148 m_d->registerNotifier( |
145 m_d->registerNotifier( |
149 CaNotifierPrivate::GroupContentChangedNotifierType); |
146 CaNotifierPrivate::GroupContentChangedNotifierType); |
150 } |
147 } |
159 void CaNotifier::disconnectNotify(const char *signal) |
156 void CaNotifier::disconnectNotify(const char *signal) |
160 { |
157 { |
161 qDebug("CaNotifier::disconnectNotify"); |
158 qDebug("CaNotifier::disconnectNotify"); |
162 qDebug("\tsignal: %s", signal); |
159 qDebug("\tsignal: %s", signal); |
163 if (QLatin1String(signal) |
160 if (QLatin1String(signal) |
164 == SIGNAL(entryChanged(int,ChangeType))) { |
161 == SIGNAL(entryChanged(int,ChangeType))) { |
165 // signal is entryChanged(int, ChangeType) |
162 // signal is entryChanged(int, ChangeType) |
166 if(receivers(SIGNAL(entryChanged(int,ChangeType)))==0) { |
163 if (receivers(SIGNAL(entryChanged(int,ChangeType)))==0) { |
167 m_d->unregisterNotifier( |
164 m_d->unregisterNotifier( |
168 CaNotifierPrivate::EntryChangedWithIdNotifierType); |
165 CaNotifierPrivate::EntryChangedWithIdNotifierType); |
169 } |
166 } |
170 } |
167 } else if (QLatin1String(signal) |
171 else if (QLatin1String(signal) |
168 == SIGNAL(entryChanged(CaEntry,ChangeType))) { |
172 == SIGNAL(entryChanged(CaEntry,ChangeType))) { |
|
173 // signal is entryChanged(const CaEntry &, ChangeType) |
169 // signal is entryChanged(const CaEntry &, ChangeType) |
174 if (receivers(SIGNAL(entryChanged(const CaEntry &,ChangeType)))==0) { |
170 if (receivers(SIGNAL(entryChanged(const CaEntry &,ChangeType)))==0) { |
175 m_d->unregisterNotifier( |
171 m_d->unregisterNotifier( |
176 CaNotifierPrivate::EntryChangedWithEntryNotifierType); |
172 CaNotifierPrivate::EntryChangedWithEntryNotifierType); |
177 } |
173 } |
178 } |
174 } else if (QLatin1String(signal) |
179 else if (QLatin1String(signal) |
175 == SIGNAL(entryTouched(int))) { |
180 == SIGNAL(entryTouched(int))) { |
|
181 // signal is entryTouched(int) |
176 // signal is entryTouched(int) |
182 if (receivers(SIGNAL(entryTouched(int))) == 0) { |
177 if (receivers(SIGNAL(entryTouched(int))) == 0) { |
183 m_d->unregisterNotifier( |
178 m_d->unregisterNotifier( |
184 CaNotifierPrivate::EntryTouchedNotifierType); |
179 CaNotifierPrivate::EntryTouchedNotifierType); |
185 } |
180 } |
186 } |
181 } else if (QLatin1String(signal) |
187 else if (QLatin1String(signal) |
182 == SIGNAL(groupContentChanged(int))) { |
188 == SIGNAL(groupContentChanged(int))) { |
|
189 // signal is groupContentChanged(int) |
183 // signal is groupContentChanged(int) |
190 if (receivers(SIGNAL(groupContentChanged(int))) == 0) { |
184 if (receivers(SIGNAL(groupContentChanged(int))) == 0) { |
191 m_d->unregisterNotifier( |
185 m_d->unregisterNotifier( |
192 CaNotifierPrivate::GroupContentChangedNotifierType); |
186 CaNotifierPrivate::GroupContentChangedNotifierType); |
193 } |
187 } |
202 const CaNotifierFilter ¬ifierFilter) : |
196 const CaNotifierFilter ¬ifierFilter) : |
203 m_q(NULL), |
197 m_q(NULL), |
204 mNotifierFilter(NULL), |
198 mNotifierFilter(NULL), |
205 mNotifierProxy(NULL) |
199 mNotifierProxy(NULL) |
206 { |
200 { |
207 mNotifierFilter = new CaNotifierFilter(notifierFilter); |
201 mNotifierFilter = new CaNotifierFilter(notifierFilter); |
208 } |
202 } |
209 |
203 |
210 /*! |
204 /*! |
211 Destructor. |
205 Destructor. |
212 */ |
206 */ |
213 CaNotifierPrivate::~CaNotifierPrivate() |
207 CaNotifierPrivate::~CaNotifierPrivate() |
214 { |
208 { |
215 if (mNotifierProxy) { |
209 if (mNotifierProxy) { |
216 mNotifierProxy->unregisterNotifier(*mNotifierFilter, |
210 mNotifierProxy->unregisterNotifier(*mNotifierFilter, |
217 EntryChangedWithIdNotifierType); |
211 EntryChangedWithIdNotifierType); |
218 mNotifierProxy->unregisterNotifier(*mNotifierFilter, |
212 mNotifierProxy->unregisterNotifier(*mNotifierFilter, |
219 EntryChangedWithEntryNotifierType); |
213 EntryChangedWithEntryNotifierType); |
220 mNotifierProxy->unregisterNotifier(*mNotifierFilter, |
214 mNotifierProxy->unregisterNotifier(*mNotifierFilter, |
221 EntryTouchedNotifierType); |
215 EntryTouchedNotifierType); |
222 mNotifierProxy->unregisterNotifier(*mNotifierFilter, |
216 mNotifierProxy->unregisterNotifier(*mNotifierFilter, |
223 GroupContentChangedNotifierType); |
217 GroupContentChangedNotifierType); |
224 } |
218 } |
225 delete mNotifierFilter; |
219 delete mNotifierFilter; |
226 delete mNotifierProxy; |
220 delete mNotifierProxy; |
227 } |
221 } |
228 /*! |
222 /*! |
259 if (m_q) { |
253 if (m_q) { |
260 if (!mNotifierProxy) { |
254 if (!mNotifierProxy) { |
261 mNotifierProxy = new CaClientNotifierProxy(); |
255 mNotifierProxy = new CaClientNotifierProxy(); |
262 } |
256 } |
263 m_q->connect(mNotifierProxy, |
257 m_q->connect(mNotifierProxy, |
264 SIGNAL(signalEntryChanged(int,ChangeType)), |
258 SIGNAL(signalEntryChanged(int,ChangeType)), |
265 m_q, |
259 m_q, |
266 SIGNAL(entryChanged(int,ChangeType))); |
260 SIGNAL(entryChanged(int,ChangeType))); |
267 m_q->connect(mNotifierProxy, |
261 m_q->connect(mNotifierProxy, |
268 SIGNAL(signalEntryChanged(const CaEntry &,ChangeType)), |
262 SIGNAL(signalEntryChanged(const CaEntry &,ChangeType)), |
269 m_q, |
263 m_q, |
270 SIGNAL(entryChanged(const CaEntry &,ChangeType))); |
264 SIGNAL(entryChanged(const CaEntry &,ChangeType))); |
271 m_q->connect(mNotifierProxy, |
265 m_q->connect(mNotifierProxy, |
272 SIGNAL(signalEntryTouched(int)), |
266 SIGNAL(signalEntryTouched(int)), |
273 m_q, |
267 m_q, |
274 SIGNAL(entryTouched(int))); |
268 SIGNAL(entryTouched(int))); |
275 m_q->connect(mNotifierProxy, |
269 m_q->connect(mNotifierProxy, |
276 SIGNAL(signalGroupContentChanged(int)), |
270 SIGNAL(signalGroupContentChanged(int)), |
277 m_q, |
271 m_q, |
278 SIGNAL(groupContentChanged(int))); |
272 SIGNAL(groupContentChanged(int))); |
279 } |
273 } |
280 } |
274 } |
281 /*! |
275 /*! |
282 Disconnects this Notifier |
276 Disconnects this Notifier |
283 */ |
277 */ |
284 void CaNotifierPrivate::makeDisconnect() |
278 void CaNotifierPrivate::makeDisconnect() |
285 { |
279 { |
286 if (m_q && mNotifierProxy) { |
280 if (m_q && mNotifierProxy) { |
287 m_q->disconnect(mNotifierProxy, |
281 m_q->disconnect(mNotifierProxy, |
288 SIGNAL(signalEntryChanged(int,ChangeType)), |
282 SIGNAL(signalEntryChanged(int,ChangeType)), |
289 m_q, |
283 m_q, |
290 SIGNAL(entryChanged(int,ChangeType))); |
284 SIGNAL(entryChanged(int,ChangeType))); |
291 m_q->disconnect(mNotifierProxy, |
285 m_q->disconnect(mNotifierProxy, |
292 SIGNAL( signalEntryChanged(const CaEntry &,ChangeType)), |
286 SIGNAL(signalEntryChanged(const CaEntry &,ChangeType)), |
293 m_q, |
287 m_q, |
294 SIGNAL(entryChanged(const CaEntry &,ChangeType))); |
288 SIGNAL(entryChanged(const CaEntry &,ChangeType))); |
295 m_q->disconnect(mNotifierProxy, |
289 m_q->disconnect(mNotifierProxy, |
296 SIGNAL(signalEntryTouched(int)), |
290 SIGNAL(signalEntryTouched(int)), |
297 m_q, |
291 m_q, |
298 SIGNAL(entryTouched(int))); |
292 SIGNAL(entryTouched(int))); |
299 m_q->disconnect(mNotifierProxy, |
293 m_q->disconnect(mNotifierProxy, |
300 SIGNAL(signalGroupContentChanged(int)), |
294 SIGNAL(signalGroupContentChanged(int)), |
301 m_q, |
295 m_q, |
302 SIGNAL(groupContentChanged(int))); |
296 SIGNAL(groupContentChanged(int))); |
303 } |
297 } |
304 } |
298 } |