browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp
changeset 28 d39add9822e2
parent 27 6297cdf66332
child 36 c711bdda59f4
equal deleted inserted replaced
27:6297cdf66332 28:d39add9822e2
    17 *	
    17 *	
    18 *
    18 *
    19 */
    19 */
    20 
    20 
    21 
    21 
    22 
    22 #include <browser_platform_variant.hrh>
    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
    28 
    32 
    29 //--------------------------------------------------------------------------
    33 //--------------------------------------------------------------------------
    30 //CConnManActiveConnector::CConnManActiveConnector()
    34 //CConnManActiveConnector::CConnManActiveConnector()
    31 //--------------------------------------------------------------------------
    35 //--------------------------------------------------------------------------
    32 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, 
    36 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, 
    33                                                   TInt aPriority )
    37                                                   TInt aPriority )
    34     : CActive( aPriority )
    38     : CActive( aPriority )
    35     , iConnection( aConnection )
    39     , iConnection( aConnection )
    36 	{
    40 	{
    37     iWait = EFalse;
    41     
    38 	CLOG_CREATE;
    42 	CLOG_CREATE;
    39 	CActiveScheduler::Add( this );//inserting this into the queue
    43 	CActiveScheduler::Add( this );//inserting this into the queue
    40 	}
    44 	}
    41 
    45 
    42 //--------------------------------------------------------------------------
    46 //--------------------------------------------------------------------------
    43 //CConnManActiveConnector::~CConnManActiveConnector()
    47 //CConnManActiveConnector::~CConnManActiveConnector()
    44 //--------------------------------------------------------------------------
    48 //--------------------------------------------------------------------------
    45 CConnManActiveConnector::~CConnManActiveConnector()
    49 CConnManActiveConnector::~CConnManActiveConnector()
    46 	{
    50 	{
    47     iWait = EFalse;
    51     
    48 	Cancel();//The standard way of destroying an Active object
    52 	Cancel();//The standard way of destroying an Active object
    49 	CLOG_CLOSE;
    53 	CLOG_CLOSE;
    50 	}
    54 	}
    51 
    55 
    52 //--------------------------------------------------------------------------
    56 //--------------------------------------------------------------------------
    53 //CConnManActiveConnector::StartConnection()
    57 //CConnManActiveConnector::StartConnection()
    54 //--------------------------------------------------------------------------
    58 //--------------------------------------------------------------------------
    55 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus)
    59 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus)
    56 	{
    60 {
    57 	CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
    61     CLOG_WRITE( "CConnManActiveConnector:StartConnection AlwaysAsk/Ap is called");
    58 	iExternalRequestStatus = &aStatus;
    62     iExternalRequestStatus = &aStatus;
    59 	
    63 
       
    64 #ifdef BRDO_OCC_ENABLED_FF
       
    65 
       
    66     TExtendedConnPref extPref;
       
    67     CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters");
       
    68 
       
    69 #ifdef __WINS__ //This is only for emulator testing purpose
       
    70 
       
    71     //For emulator
       
    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
       
    89     {
       
    90        CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap");
       
    91        extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet);
       
    92     }
       
    93 
       
    94 #endif //__WINS__   
       
    95 
       
    96     extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
       
    97     TConnPrefList prefList;
       
    98     TRAP_IGNORE(prefList.AppendL(&extPref));
       
    99 #endif //BRDO_OCC_ENABLED_FF
       
   100 
    60     if( aSettings )
   101     if( aSettings )
    61         {
   102     {
    62 #ifdef __WINS__
   103       #ifdef BRDO_OCC_ENABLED_FF
    63      //  aSettings->SetDialogPreference( ECommDbDialogPrefPrompt );
   104         iConnection.Start( prefList, iStatus );
    64 #endif
   105       #else
    65 
   106         iConnection.Start( *aSettings, iStatus );
    66 	    iConnection.Start( *aSettings, iStatus );
   107       #endif
    67         }
   108     }
    68     else
   109     else
    69         {
   110         {
    70         iConnection.Start( iStatus );
   111         iConnection.Start( iStatus );
    71         }
   112         }
    72 
   113 
    77 	
   118 	
    78 //--------------------------------------------------------------------------
   119 //--------------------------------------------------------------------------
    79 //CConnManActiveConnector::StartConnection()
   120 //CConnManActiveConnector::StartConnection()
    80 //--------------------------------------------------------------------------
   121 //--------------------------------------------------------------------------
    81 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus)
   122 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus)
    82 	{
   123 {
    83 	CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
   124     CLOG_WRITE( "CConnManActiveConnector:StartConnection SNAP is called");
    84 	iExternalRequestStatus = &aStatus;
   125     iExternalRequestStatus = &aStatus;
    85 	
   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 
    86     if( aSettings )
   154     if( aSettings )
    87         {
   155     {
    88 	    iConnection.Start( *aSettings, iStatus );
   156       #ifdef BRDO_OCC_ENABLED_FF
    89         }
   157         iConnection.Start( prefList, iStatus );
       
   158       #else
       
   159         iConnection.Start( *aSettings, iStatus );
       
   160       #endif
       
   161     }
    90     else
   162     else
    91         {
   163         {
    92         iConnection.Start( iStatus );
   164         iConnection.Start( iStatus );
    93         }
   165         }
    94 
   166 
   101 //CConnManActiveConnector::DoCancel()
   173 //CConnManActiveConnector::DoCancel()
   102 //--------------------------------------------------------------------------
   174 //--------------------------------------------------------------------------
   103 void CConnManActiveConnector::DoCancel()
   175 void CConnManActiveConnector::DoCancel()
   104 	{
   176 	{
   105 	CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
   177 	CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
   106     if(iWait)
   178     
   107         {
   179 	iConnection.Close();
   108         iConnection.Close();
   180 	User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
   109         User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
   181     
   110         }
       
   111 	CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
   182 	CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
   112 	}
   183 	}
   113 
   184 
   114 //--------------------------------------------------------------------------
   185 //--------------------------------------------------------------------------
   115 //CConnManActiveConnector::RunL()
   186 //CConnManActiveConnector::RunL()
   116 //--------------------------------------------------------------------------
   187 //--------------------------------------------------------------------------
   117 void CConnManActiveConnector::RunL()
   188 void CConnManActiveConnector::RunL()
   118 	{
   189 	{
   119     iWait = ETrue;
   190     
   120     CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
   191     CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
   121 	User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
   192 	User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
   122 	}
   193 	}
   123 
   194 
   124 //------------------------------------------------------ CActiveConnectorSyncWrapper -------------------------
   195 //------------------------------------------------------ CActiveConnectorSyncWrapper -------------------------
   198 //--------------------------------------------------------------------------
   269 //--------------------------------------------------------------------------
   199 //CActiveConnectorSyncWrapper::DoCancel()
   270 //CActiveConnectorSyncWrapper::DoCancel()
   200 //--------------------------------------------------------------------------
   271 //--------------------------------------------------------------------------
   201 void CActiveConnectorSyncWrapper::DoCancel()
   272 void CActiveConnectorSyncWrapper::DoCancel()
   202 	{
   273 	{
   203     if(iActiveConnector->IsActive())
   274     
   204         {
   275     iActiveConnector->Cancel();
   205         iActiveConnector->Cancel();
   276    	if(iWait.IsStarted())
   206         }
   277 	{
   207 	if(iWait.IsStarted())
   278 	  iWait.AsyncStop();	
   208 	  {
   279 	}
   209 	   iWait.AsyncStop();	
       
   210 	  }
       
   211 	
   280 	
   212 	}
   281 	}
   213 
   282 
   214 //--------------------------------------------------------------------------
   283 //--------------------------------------------------------------------------
   215 //CActiveConnectorSyncWrapper::ConstructL()
   284 //CActiveConnectorSyncWrapper::ConstructL()