sipplugins/sippsystemstatemonitor/src/sipsnapavailabilitymonitor.cpp
branchRCL_3
changeset 4 c2e8c8b73582
parent 0 307788aac0a8
equal deleted inserted replaced
3:dc4cddf5f2f8 4:c2e8c8b73582
    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 
   142 			    aConnMonEvent );
   137 			    aConnMonEvent );
   143 
   138 
   144         TBool snapAvailable = 
   139         TBool snapAvailable = 
   145             IsSnapAvailable( event.SNAPAvailability(), iSnapId );
   140             IsSnapAvailable( event.SNAPAvailability(), iSnapId );
   146 
   141 
   147         if ( SetCurrentState( iPermissionToUseNetwork, snapAvailable ) )
   142         if ( SetCurrentState( snapAvailable ) )
   148             {
   143             {
   149             NotifyObservers();
   144             NotifyObservers();
   150             }
   145             }
   151 	    }
   146 	    }
   152 	}
   147 	}
   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         }    
   292 // CSipSnapAvailabilityMonitor::CanSnapBeUsed
   267 // CSipSnapAvailabilityMonitor::CanSnapBeUsed
   293 // -----------------------------------------------------------------------------
   268 // -----------------------------------------------------------------------------
   294 //
   269 //
   295 TBool CSipSnapAvailabilityMonitor::CanSnapBeUsed() const
   270 TBool CSipSnapAvailabilityMonitor::CanSnapBeUsed() const
   296     {
   271     {
   297     return ( iSnapAvailable && iPermissionToUseNetwork ); 
   272     return ( iSnapAvailable ); 
   298     }
   273     }
   299    
   274    
   300 // End of File
   275 // End of File