23 // CSipSnapAvailabilityMonitor::NewL |
23 // CSipSnapAvailabilityMonitor::NewL |
24 // ----------------------------------------------------------------------------- |
24 // ----------------------------------------------------------------------------- |
25 // |
25 // |
26 CSipSnapAvailabilityMonitor* CSipSnapAvailabilityMonitor::NewL( |
26 CSipSnapAvailabilityMonitor* CSipSnapAvailabilityMonitor::NewL( |
27 TUint32 aSnapId, |
27 TUint32 aSnapId, |
28 TBool aPermissionToUseNetwork, |
|
29 MSipSystemStateObserver& aObserver ) |
28 MSipSystemStateObserver& aObserver ) |
30 { |
29 { |
31 CSipSnapAvailabilityMonitor* self = |
30 CSipSnapAvailabilityMonitor* self = |
32 CSipSnapAvailabilityMonitor::NewLC( |
31 CSipSnapAvailabilityMonitor::NewLC( |
33 aSnapId, aPermissionToUseNetwork, aObserver ); |
32 aSnapId, aObserver ); |
34 CleanupStack::Pop( self ); |
33 CleanupStack::Pop( self ); |
35 return self; |
34 return self; |
36 } |
35 } |
37 |
36 |
38 // ----------------------------------------------------------------------------- |
37 // ----------------------------------------------------------------------------- |
39 // CSipSnapAvailabilityMonitor::NewL |
38 // CSipSnapAvailabilityMonitor::NewL |
40 // ----------------------------------------------------------------------------- |
39 // ----------------------------------------------------------------------------- |
41 // |
40 // |
42 CSipSnapAvailabilityMonitor* CSipSnapAvailabilityMonitor::NewLC( |
41 CSipSnapAvailabilityMonitor* CSipSnapAvailabilityMonitor::NewLC( |
43 TUint32 aSnapId, |
42 TUint32 aSnapId, |
44 TBool aPermissionToUseNetwork, |
|
45 MSipSystemStateObserver& aObserver ) |
43 MSipSystemStateObserver& aObserver ) |
46 { |
44 { |
47 CSipSnapAvailabilityMonitor* self = |
45 CSipSnapAvailabilityMonitor* self = |
48 new( ELeave ) CSipSnapAvailabilityMonitor( |
46 new( ELeave ) CSipSnapAvailabilityMonitor( aSnapId ); |
49 aSnapId, aPermissionToUseNetwork ); |
|
50 CleanupStack::PushL( self ); |
47 CleanupStack::PushL( self ); |
51 self->ConstructL( aObserver ); |
48 self->ConstructL( aObserver ); |
52 return self; |
49 return self; |
53 } |
50 } |
54 |
51 |
55 // ----------------------------------------------------------------------------- |
52 // ----------------------------------------------------------------------------- |
56 // CSipSnapAvailabilityMonitor::CSipSnapAvailabilityMonitor |
53 // CSipSnapAvailabilityMonitor::CSipSnapAvailabilityMonitor |
57 // ----------------------------------------------------------------------------- |
54 // ----------------------------------------------------------------------------- |
58 // |
55 // |
59 CSipSnapAvailabilityMonitor::CSipSnapAvailabilityMonitor( |
56 CSipSnapAvailabilityMonitor::CSipSnapAvailabilityMonitor( |
60 TUint32 aSnapId, |
57 TUint32 aSnapId) |
61 TBool aPermissionToUseNetwork ) |
|
62 : CActive( EPriorityStandard ), |
58 : CActive( EPriorityStandard ), |
63 iSnapId( aSnapId ), |
59 iSnapId( aSnapId ), |
64 iPermissionToUseNetwork( aPermissionToUseNetwork ), |
|
65 iIsConnected( EFalse ) |
60 iIsConnected( EFalse ) |
66 { |
61 { |
67 CActiveScheduler::Add( this ); |
62 CActiveScheduler::Add( this ); |
68 } |
63 } |
69 |
64 |
210 { |
205 { |
211 return ( iObservers.Count() > 0 ); |
206 return ( iObservers.Count() > 0 ); |
212 } |
207 } |
213 |
208 |
214 // ----------------------------------------------------------------------------- |
209 // ----------------------------------------------------------------------------- |
215 // CSipSnapAvailabilityMonitor::UsagePermissionChanged |
|
216 // ----------------------------------------------------------------------------- |
|
217 // |
|
218 void CSipSnapAvailabilityMonitor::UsagePermissionChanged( |
|
219 TBool aPermissionToUse, |
|
220 TInt /*aError*/ ) |
|
221 { |
|
222 if ( SetCurrentState( aPermissionToUse, iSnapAvailable ) ) |
|
223 { |
|
224 NotifyObservers(); |
|
225 } |
|
226 } |
|
227 |
|
228 // ----------------------------------------------------------------------------- |
|
229 // CSipSnapAvailabilityMonitor::NotifyObservers |
210 // CSipSnapAvailabilityMonitor::NotifyObservers |
230 // ----------------------------------------------------------------------------- |
211 // ----------------------------------------------------------------------------- |
231 // |
212 // |
232 void CSipSnapAvailabilityMonitor::NotifyObservers() const |
213 void CSipSnapAvailabilityMonitor::NotifyObservers() const |
233 { |
214 { |
268 |
249 |
269 // ----------------------------------------------------------------------------- |
250 // ----------------------------------------------------------------------------- |
270 // CSipSnapAvailabilityMonitor::SetCurrentState |
251 // CSipSnapAvailabilityMonitor::SetCurrentState |
271 // ----------------------------------------------------------------------------- |
252 // ----------------------------------------------------------------------------- |
272 // |
253 // |
273 TBool CSipSnapAvailabilityMonitor::SetCurrentState( |
254 TBool CSipSnapAvailabilityMonitor::SetCurrentState( |
274 TBool aPermissionToUseNetwork, |
|
275 TBool aSnapAvailable ) |
255 TBool aSnapAvailable ) |
276 { |
256 { |
277 TBool updated( EFalse ); |
257 TBool updated( EFalse ); |
278 if ( aPermissionToUseNetwork != iPermissionToUseNetwork ) |
|
279 { |
|
280 iPermissionToUseNetwork = aPermissionToUseNetwork; |
|
281 updated = ETrue; |
|
282 } |
|
283 if ( aSnapAvailable != iSnapAvailable ) |
258 if ( aSnapAvailable != iSnapAvailable ) |
284 { |
259 { |
285 iSnapAvailable = aSnapAvailable; |
260 iSnapAvailable = aSnapAvailable; |
286 updated = ETrue; |
261 updated = ETrue; |
287 } |
262 } |