browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp
branchRCL_3
changeset 48 79859ed3eea9
parent 41 4bd5176e1bc8
child 49 919f36ff910f
equal deleted inserted replaced
47:e1bea15f9a39 48:79859ed3eea9
    17 *	
    17 *	
    18 *
    18 *
    19 */
    19 */
    20 
    20 
    21 
    21 
    22 #include <browser_platform_variant.hrh>
    22 
    23 #include "ConnManActiveConnector.h"
    23 #include "ConnManActiveConnector.h"
    24 #include "ConnectionManagerLogger.h"
    24 #include "ConnectionManagerLogger.h"
    25 #include <mconnection.h>
    25 
    26 #include <nifvar.h>
    26 #include <nifvar.h>
    27 #include <CommDbConnPref.h>
    27 #include <commdbconnpref.h>
    28 
       
    29 #ifdef BRDO_OCC_ENABLED_FF
       
    30 #include <extendedconnpref.h>
       
    31 #endif
       
    32 
    28 
    33 //--------------------------------------------------------------------------
    29 //--------------------------------------------------------------------------
    34 //CConnManActiveConnector::CConnManActiveConnector()
    30 //CConnManActiveConnector::CConnManActiveConnector()
    35 //--------------------------------------------------------------------------
    31 //--------------------------------------------------------------------------
    36 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, 
    32 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, 
    37                                                   TInt aPriority )
    33                                                   TInt aPriority )
    38     : CActive( aPriority )
    34     : CActive( aPriority )
    39     , iConnection( aConnection )
    35     , iConnection( aConnection )
    40 	{
    36 	{
    41     
       
    42 	CLOG_CREATE;
    37 	CLOG_CREATE;
    43 	CActiveScheduler::Add( this );//inserting this into the queue
    38 	CActiveScheduler::Add( this );//inserting this into the queue
    44 	occPrefs = EDefault;
       
    45 	}
    39 	}
    46 
    40 
    47 //--------------------------------------------------------------------------
    41 //--------------------------------------------------------------------------
    48 //CConnManActiveConnector::~CConnManActiveConnector()
    42 //CConnManActiveConnector::~CConnManActiveConnector()
    49 //--------------------------------------------------------------------------
    43 //--------------------------------------------------------------------------
    50 CConnManActiveConnector::~CConnManActiveConnector()
    44 CConnManActiveConnector::~CConnManActiveConnector()
    51 	{
    45 	{
    52     
       
    53 	Cancel();//The standard way of destroying an Active object
    46 	Cancel();//The standard way of destroying an Active object
    54 	CLOG_CLOSE;
    47 	CLOG_CLOSE;
    55 	}
    48 	}
    56 
    49 
    57 //--------------------------------------------------------------------------
    50 //--------------------------------------------------------------------------
    58 //CConnManActiveConnector::StartConnection()
    51 //CConnManActiveConnector::StartConnection()
    59 //--------------------------------------------------------------------------
    52 //--------------------------------------------------------------------------
    60 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus)
    53 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus)
    61 {
    54 	{
    62     CLOG_WRITE( "CConnManActiveConnector:StartConnection AlwaysAsk/Ap is called");
    55 	CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
    63     iExternalRequestStatus = &aStatus;
    56 	iExternalRequestStatus = &aStatus;
    64 
    57 	
    65 #ifdef BRDO_OCC_ENABLED_FF
    58     if( aSettings )
    66 
    59         {
    67     TExtendedConnPref extPref;
    60 #ifdef __WINS__
    68     CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters");
    61      //  aSettings->SetDialogPreference( ECommDbDialogPrefPrompt );
    69 
    62 #endif
    70 #ifdef __WINS__ //This is only for emulator testing purpose
    63 
    71 
    64 	    iConnection.Start( *aSettings, iStatus );
    72     //For emulator
    65         }
    73     CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " );
       
    74     extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
       
    75     extPref.SetConnSelectionDialog(ETrue);
       
    76     extPref.SetForcedRoaming(EFalse);
       
    77 
       
    78 #else
       
    79 
       
    80     //For hardware
       
    81     TUint32 bookmarkIap = aSettings->IapId();
       
    82     CLOG_WRITE_1( "CConnManActiveConnector:StartConnection Active Bookmark Iap: %d", bookmarkIap );
       
    83     if (bookmarkIap)
       
    84     {
       
    85        CLOG_WRITE( "CConnManActiveConnector:StartConnection Iap is found for this bookmark");
       
    86        extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
       
    87        extPref.SetIapId(bookmarkIap);
       
    88     }
       
    89     else
    66     else
    90     {
    67         {
    91        CLOG_WRITE( "CConnManActiveConnector:StartConnection Popup ap dialog");
    68         iConnection.Start( iStatus );
    92        extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
    69         }
    93        extPref.SetConnSelectionDialog(ETrue);
    70 
    94     }
    71     SetActive();
    95 
    72 
    96 #endif //__WINS__   
    73 	*iExternalRequestStatus = KRequestPending;
    97 
    74 	}
    98     extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
    75 	
    99     TConnPrefList prefList;
    76 //--------------------------------------------------------------------------
   100     TRAP_IGNORE(prefList.AppendL(&extPref));
    77 //CConnManActiveConnector::StartConnection()
   101 #endif //BRDO_OCC_ENABLED_FF
    78 //--------------------------------------------------------------------------
   102 
    79 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus)
       
    80 	{
       
    81 	CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
       
    82 	iExternalRequestStatus = &aStatus;
       
    83 	
   103     if( aSettings )
    84     if( aSettings )
   104     {
    85         {
   105       #ifdef BRDO_OCC_ENABLED_FF
    86 	    iConnection.Start( *aSettings, iStatus );
   106         iConnection.Start( prefList, iStatus );
    87         }
   107       #else
       
   108         iConnection.Start( *aSettings, iStatus );
       
   109       #endif
       
   110     }
       
   111     else
       
   112         {
       
   113         iConnection.Start( iStatus );
       
   114         }
       
   115 
       
   116     SetActive();
       
   117 
       
   118 	*iExternalRequestStatus = KRequestPending;
       
   119 	}
       
   120 	
       
   121 //--------------------------------------------------------------------------
       
   122 //CConnManActiveConnector::StartConnection()
       
   123 //--------------------------------------------------------------------------
       
   124 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus)
       
   125 {
       
   126     CLOG_WRITE( "CConnManActiveConnector:StartConnection SNAP is called");
       
   127     iExternalRequestStatus = &aStatus;
       
   128 
       
   129 #ifdef BRDO_OCC_ENABLED_FF
       
   130 
       
   131     CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters");
       
   132     TExtendedConnPref extPref;
       
   133 
       
   134 #ifdef __WINS__ 
       
   135 
       
   136     //For emulator
       
   137     CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " );
       
   138     extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
       
   139     extPref.SetConnSelectionDialog(ETrue);
       
   140     extPref.SetForcedRoaming(EFalse);
       
   141 
       
   142 #else
       
   143     
       
   144     //For hardware
       
   145     if( aSettings->Snap() == 0 )
       
   146         {
       
   147         CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap");
       
   148         extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet);
       
   149         }
       
   150     else
       
   151         {
       
   152         CLOG_WRITE( "CConnManActiveConnector:StartConnection Using given Snap");
       
   153         extPref.SetSnapId(aSettings->Snap());
       
   154         }
       
   155 
       
   156 #endif //__WINS__
       
   157 
       
   158     extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
       
   159     if ( occPrefs == ESilient )
       
   160         {
       
   161         CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC Silent behaviour");
       
   162         extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourConnSilent);
       
   163         }
       
   164     else
       
   165         {
       
   166         CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC Default behaviour");
       
   167         }
       
   168     TConnPrefList prefList;
       
   169     TRAP_IGNORE(prefList.AppendL(&extPref));
       
   170 
       
   171 #endif
       
   172 
       
   173     if( aSettings )
       
   174     {
       
   175       #ifdef BRDO_OCC_ENABLED_FF
       
   176         iConnection.Start( prefList, iStatus );
       
   177       #else
       
   178         iConnection.Start( *aSettings, iStatus );
       
   179       #endif
       
   180     }
       
   181     else
    88     else
   182         {
    89         {
   183         iConnection.Start( iStatus );
    90         iConnection.Start( iStatus );
   184         }
    91         }
   185 
    92 
   192 //CConnManActiveConnector::DoCancel()
    99 //CConnManActiveConnector::DoCancel()
   193 //--------------------------------------------------------------------------
   100 //--------------------------------------------------------------------------
   194 void CConnManActiveConnector::DoCancel()
   101 void CConnManActiveConnector::DoCancel()
   195 	{
   102 	{
   196 	CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
   103 	CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
   197     //This is work around fix for bug ESNA-855BUN
   104 	iConnection.Close();
   198     iConnection.Close();
       
   199 	User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
   105 	User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
   200     
       
   201 	CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
   106 	CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
   202 	}
   107 	}
   203 
   108 
   204 //--------------------------------------------------------------------------
   109 //--------------------------------------------------------------------------
   205 //CConnManActiveConnector::RunL()
   110 //CConnManActiveConnector::RunL()
   206 //--------------------------------------------------------------------------
   111 //--------------------------------------------------------------------------
   207 void CConnManActiveConnector::RunL()
   112 void CConnManActiveConnector::RunL()
   208 	{
   113 	{
   209     
       
   210     CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
   114     CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
   211 	User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
   115 	User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
   212 	}
   116 	}
   213 
       
   214 void CConnManActiveConnector::SetOccPreferences(TSetOCCPreferences aOCCPreferences)
       
   215     {
       
   216     CLOG_WRITE_1( "CConnManActiveConnector::SetOccPreferences : %d", aOCCPreferences );
       
   217     occPrefs = aOCCPreferences;
       
   218     }
       
   219 
   117 
   220 //------------------------------------------------------ CActiveConnectorSyncWrapper -------------------------
   118 //------------------------------------------------------ CActiveConnectorSyncWrapper -------------------------
   221 
   119 
   222 //--------------------------------------------------------------------------
   120 //--------------------------------------------------------------------------
   223 //CActiveConnectorSyncWrapper::NewL()
   121 //CActiveConnectorSyncWrapper::NewL()
   296 //--------------------------------------------------------------------------
   194 //--------------------------------------------------------------------------
   297 void CActiveConnectorSyncWrapper::DoCancel()
   195 void CActiveConnectorSyncWrapper::DoCancel()
   298 	{
   196 	{
   299     
   197     
   300     iActiveConnector->Cancel();
   198     iActiveConnector->Cancel();
   301    	if(iWait.IsStarted())
   199 	
   302 	{
   200 	if(iWait.IsStarted())
   303 	  iWait.AsyncStop();	
   201 	  {
   304 	}
   202 	   iWait.AsyncStop();	
       
   203 	  }
   305 	
   204 	
   306 	}
   205 	}
   307 
   206 
   308 //--------------------------------------------------------------------------
   207 //--------------------------------------------------------------------------
   309 //CActiveConnectorSyncWrapper::ConstructL()
   208 //CActiveConnectorSyncWrapper::ConstructL()
   321 CActiveConnectorSyncWrapper::CActiveConnectorSyncWrapper( TInt aPriority ): CActive( aPriority )
   220 CActiveConnectorSyncWrapper::CActiveConnectorSyncWrapper( TInt aPriority ): CActive( aPriority )
   322 	{
   221 	{
   323 	CActiveScheduler::Add( this );
   222 	CActiveScheduler::Add( this );
   324 	}
   223 	}
   325 
   224 
   326 void CActiveConnectorSyncWrapper::SetOccPreferences(TSetOCCPreferences aOCCPreferences)
   225 
   327     {
       
   328     if ( iActiveConnector )
       
   329         iActiveConnector->SetOccPreferences(aOCCPreferences);
       
   330     }
       
   331 //EOF
   226 //EOF