browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp
changeset 65 5bfc169077b2
parent 42 d39add9822e2
child 68 92a765b5b3e7
equal deleted inserted replaced
42:d39add9822e2 65:5bfc169077b2
    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 
    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 	}
    39 	}
    45 
    40 
    46 //--------------------------------------------------------------------------
    41 //--------------------------------------------------------------------------
    47 //CConnManActiveConnector::~CConnManActiveConnector()
    42 //CConnManActiveConnector::~CConnManActiveConnector()
    48 //--------------------------------------------------------------------------
    43 //--------------------------------------------------------------------------
    49 CConnManActiveConnector::~CConnManActiveConnector()
    44 CConnManActiveConnector::~CConnManActiveConnector()
    50 	{
    45 	{
    51     
       
    52 	Cancel();//The standard way of destroying an Active object
    46 	Cancel();//The standard way of destroying an Active object
    53 	CLOG_CLOSE;
    47 	CLOG_CLOSE;
    54 	}
    48 	}
    55 
    49 
    56 //--------------------------------------------------------------------------
    50 //--------------------------------------------------------------------------
    57 //CConnManActiveConnector::StartConnection()
    51 //CConnManActiveConnector::StartConnection()
    58 //--------------------------------------------------------------------------
    52 //--------------------------------------------------------------------------
    59 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus)
    53 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus)
    60 {
    54 	{
    61     CLOG_WRITE( "CConnManActiveConnector:StartConnection AlwaysAsk/Ap is called");
    55 	CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
    62     iExternalRequestStatus = &aStatus;
    56 	iExternalRequestStatus = &aStatus;
    63 
    57 	
    64 #ifdef BRDO_OCC_ENABLED_FF
    58     if( aSettings )
    65 
    59         {
    66     TExtendedConnPref extPref;
    60 #ifdef __WINS__
    67     CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters");
    61      //  aSettings->SetDialogPreference( ECommDbDialogPrefPrompt );
    68 
    62 #endif
    69 #ifdef __WINS__ //This is only for emulator testing purpose
    63 
    70 
    64 	    iConnection.Start( *aSettings, iStatus );
    71     //For emulator
    65         }
    72     CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " );
       
    73     extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
       
    74     extPref.SetConnSelectionDialog(ETrue);
       
    75     extPref.SetForcedRoaming(EFalse);
       
    76 
       
    77 #else
       
    78 
       
    79     //For hardware
       
    80     TUint32 bookmarkIap = aSettings->IapId();
       
    81     CLOG_WRITE_1( "CConnManActiveConnector:StartConnection Active Bookmark Iap: %d", bookmarkIap );
       
    82     if (bookmarkIap)
       
    83     {
       
    84        CLOG_WRITE( "CConnManActiveConnector:StartConnection Iap is found for this bookmark");
       
    85        extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
       
    86        extPref.SetIapId(bookmarkIap);
       
    87     }
       
    88     else
    66     else
    89     {
    67         {
    90        CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap");
    68         iConnection.Start( iStatus );
    91        extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet);
    69         }
    92     }
    70 
    93 
    71     SetActive();
    94 #endif //__WINS__   
    72 
    95 
    73 	*iExternalRequestStatus = KRequestPending;
    96     extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
    74 	}
    97     TConnPrefList prefList;
    75 	
    98     TRAP_IGNORE(prefList.AppendL(&extPref));
    76 //--------------------------------------------------------------------------
    99 #endif //BRDO_OCC_ENABLED_FF
    77 //CConnManActiveConnector::StartConnection()
   100 
    78 //--------------------------------------------------------------------------
       
    79 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus)
       
    80 	{
       
    81 	CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
       
    82 	iExternalRequestStatus = &aStatus;
       
    83 	
   101     if( aSettings )
    84     if( aSettings )
   102     {
    85         {
   103       #ifdef BRDO_OCC_ENABLED_FF
    86 	    iConnection.Start( *aSettings, iStatus );
   104         iConnection.Start( prefList, iStatus );
    87         }
   105       #else
       
   106         iConnection.Start( *aSettings, iStatus );
       
   107       #endif
       
   108     }
       
   109     else
       
   110         {
       
   111         iConnection.Start( iStatus );
       
   112         }
       
   113 
       
   114     SetActive();
       
   115 
       
   116 	*iExternalRequestStatus = KRequestPending;
       
   117 	}
       
   118 	
       
   119 //--------------------------------------------------------------------------
       
   120 //CConnManActiveConnector::StartConnection()
       
   121 //--------------------------------------------------------------------------
       
   122 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus)
       
   123 {
       
   124     CLOG_WRITE( "CConnManActiveConnector:StartConnection SNAP is called");
       
   125     iExternalRequestStatus = &aStatus;
       
   126 
       
   127 #ifdef BRDO_OCC_ENABLED_FF
       
   128 
       
   129     CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters");
       
   130     TExtendedConnPref extPref;
       
   131 
       
   132 #ifdef __WINS__ 
       
   133 
       
   134     //For emulator
       
   135     CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " );
       
   136     extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
       
   137     extPref.SetConnSelectionDialog(ETrue);
       
   138     extPref.SetForcedRoaming(EFalse);
       
   139 
       
   140 #else
       
   141     
       
   142     //For hardware
       
   143     CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap");
       
   144     extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet);
       
   145 
       
   146 #endif //__WINS__
       
   147 
       
   148     extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
       
   149     TConnPrefList prefList;
       
   150     TRAP_IGNORE(prefList.AppendL(&extPref));
       
   151 
       
   152 #endif
       
   153 
       
   154     if( aSettings )
       
   155     {
       
   156       #ifdef BRDO_OCC_ENABLED_FF
       
   157         iConnection.Start( prefList, iStatus );
       
   158       #else
       
   159         iConnection.Start( *aSettings, iStatus );
       
   160       #endif
       
   161     }
       
   162     else
    88     else
   163         {
    89         {
   164         iConnection.Start( iStatus );
    90         iConnection.Start( iStatus );
   165         }
    91         }
   166 
    92 
   173 //CConnManActiveConnector::DoCancel()
    99 //CConnManActiveConnector::DoCancel()
   174 //--------------------------------------------------------------------------
   100 //--------------------------------------------------------------------------
   175 void CConnManActiveConnector::DoCancel()
   101 void CConnManActiveConnector::DoCancel()
   176 	{
   102 	{
   177 	CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
   103 	CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
   178     
       
   179 	iConnection.Close();
   104 	iConnection.Close();
   180 	User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
   105 	User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
   181     
       
   182 	CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
   106 	CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
   183 	}
   107 	}
   184 
   108 
   185 //--------------------------------------------------------------------------
   109 //--------------------------------------------------------------------------
   186 //CConnManActiveConnector::RunL()
   110 //CConnManActiveConnector::RunL()
   187 //--------------------------------------------------------------------------
   111 //--------------------------------------------------------------------------
   188 void CConnManActiveConnector::RunL()
   112 void CConnManActiveConnector::RunL()
   189 	{
   113 	{
   190     
       
   191     CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
   114     CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
   192 	User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
   115 	User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
   193 	}
   116 	}
   194 
   117 
   195 //------------------------------------------------------ CActiveConnectorSyncWrapper -------------------------
   118 //------------------------------------------------------ CActiveConnectorSyncWrapper -------------------------
   271 //--------------------------------------------------------------------------
   194 //--------------------------------------------------------------------------
   272 void CActiveConnectorSyncWrapper::DoCancel()
   195 void CActiveConnectorSyncWrapper::DoCancel()
   273 	{
   196 	{
   274     
   197     
   275     iActiveConnector->Cancel();
   198     iActiveConnector->Cancel();
   276    	if(iWait.IsStarted())
   199 	
   277 	{
   200 	if(iWait.IsStarted())
   278 	  iWait.AsyncStop();	
   201 	  {
   279 	}
   202 	   iWait.AsyncStop();	
       
   203 	  }
   280 	
   204 	
   281 	}
   205 	}
   282 
   206 
   283 //--------------------------------------------------------------------------
   207 //--------------------------------------------------------------------------
   284 //CActiveConnectorSyncWrapper::ConstructL()
   208 //CActiveConnectorSyncWrapper::ConstructL()