connectionmonitoring/connmon/connectionmonitor/src/CPsdFax.cpp
changeset 53 4af712113915
parent 0 5a93021fdf25
child 71 9f263f780e41
equal deleted inserted replaced
47:cb7afde124a3 53:4af712113915
     1 /*
     1 /*
     2 * Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
   735     if ( KErrNone == err )
   735     if ( KErrNone == err )
   736         {
   736         {
   737         iOpen = ETrue;
   737         iOpen = ETrue;
   738 
   738 
   739         // Start status notifier
   739         // Start status notifier
   740         if ( !iStatusNotifier->IsActive() )
   740         if ( iStatusNotifier && !iStatusNotifier->IsActive() )
   741             {
   741             {
   742             LOGIT("OpenContext: start status notifier")
   742             LOGIT("OpenContext: start status notifier")
   743             iStatusNotifier->Start( iContext );
   743             iStatusNotifier->Start( iContext );
   744             }
   744             }
   745         }
   745         }
   848     iContext.Deactivate( status );
   848     iContext.Deactivate( status );
   849     User::WaitForRequest( status );
   849     User::WaitForRequest( status );
   850     err = status.Int();
   850     err = status.Int();
   851 
   851 
   852     // Remove from server tables if status notifier is not active.
   852     // Remove from server tables if status notifier is not active.
   853     if ( !iStatusNotifier->IsActive() )
   853     if ( !iStatusNotifier || !iStatusNotifier->IsActive() )
   854         {
   854         {
   855         // Remove from server tables
   855         // Remove from server tables
   856         RemoveFromServer();
   856         RemoveFromServer();
   857 
   857 
   858         // Close the context
   858         // Close the context
  1282             iConnDataModule->RemoveFromServer();
  1282             iConnDataModule->RemoveFromServer();
  1283 
  1283 
  1284             // Close the context
  1284             // Close the context
  1285             iConnDataModule->CloseContext();
  1285             iConnDataModule->CloseContext();
  1286 
  1286 
       
  1287             // Dial-up connection has gone down. Make sure the dial-up PDP
       
  1288             // context override is disabled.
       
  1289             LOGIT("External PSD connection status EStatusDeleted, disabling dial-up override")
       
  1290             iServer->SetDialUpOverrideStatus( EConnMonDialUpOverrideInactive );
       
  1291 
  1287             // Delete all old connection objects. This method should be used
  1292             // Delete all old connection objects. This method should be used
  1288             // carefully because it will delete ConnectionData and
  1293             // carefully because it will delete ConnectionData and
  1289             // statusnotifier objects. Get out fast from RunL().
  1294             // statusnotifier objects. Get out fast from RunL().
  1290             iFaxModule->DeleteConnections();
  1295             iFaxModule->DeleteConnections();
  1291 
  1296 
  1292             // Stop listening
  1297             // Stop listening
  1293             return;
  1298             return;
       
  1299             }
       
  1300         else if ( iContextStatus == RPacketContext::EStatusActive )
       
  1301             {
       
  1302             // Dial-up connection has been established. Make sure the dial-up
       
  1303             // PDP context override is disabled.
       
  1304             LOGIT("External PSD connection status EStatusActive, disabling dial-up override")
       
  1305             iServer->SetDialUpOverrideStatus( EConnMonDialUpOverrideInactive );
  1294             }
  1306             }
  1295 
  1307 
  1296         // New request
  1308         // New request
  1297         Receive();
  1309         Receive();
  1298         }
  1310         }