browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp
changeset 0 dd21522fd290
child 27 6297cdf66332
equal deleted inserted replaced
-1:000000000000 0:dd21522fd290
       
     1 /*
       
     2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *     This class provides connection/session related information.
       
    16 *	  Both the requested and the stored AP's are here.
       
    17 *	
       
    18 *
       
    19 */
       
    20 
       
    21 
       
    22 
       
    23 #include "ConnManActiveConnector.h"
       
    24 #include "ConnectionManagerLogger.h"
       
    25 
       
    26 #include <nifvar.h>
       
    27 #include <CommDbConnPref.h>
       
    28 
       
    29 //--------------------------------------------------------------------------
       
    30 //CConnManActiveConnector::CConnManActiveConnector()
       
    31 //--------------------------------------------------------------------------
       
    32 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, 
       
    33                                                   TInt aPriority )
       
    34     : CActive( aPriority )
       
    35     , iConnection( aConnection )
       
    36 	{
       
    37 	CLOG_CREATE;
       
    38 	CActiveScheduler::Add( this );//inserting this into the queue
       
    39 	}
       
    40 
       
    41 //--------------------------------------------------------------------------
       
    42 //CConnManActiveConnector::~CConnManActiveConnector()
       
    43 //--------------------------------------------------------------------------
       
    44 CConnManActiveConnector::~CConnManActiveConnector()
       
    45 	{
       
    46 	Cancel();//The standard way of destroying an Active object
       
    47 	CLOG_CLOSE;
       
    48 	}
       
    49 
       
    50 //--------------------------------------------------------------------------
       
    51 //CConnManActiveConnector::StartConnection()
       
    52 //--------------------------------------------------------------------------
       
    53 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus)
       
    54 	{
       
    55 	CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
       
    56 	iExternalRequestStatus = &aStatus;
       
    57 	
       
    58     if( aSettings )
       
    59         {
       
    60 #ifdef __WINS__
       
    61      //  aSettings->SetDialogPreference( ECommDbDialogPrefPrompt );
       
    62 #endif
       
    63 
       
    64 	    iConnection.Start( *aSettings, iStatus );
       
    65         }
       
    66     else
       
    67         {
       
    68         iConnection.Start( iStatus );
       
    69         }
       
    70 
       
    71     SetActive();
       
    72 
       
    73 	*iExternalRequestStatus = KRequestPending;
       
    74 	}
       
    75 	
       
    76 //--------------------------------------------------------------------------
       
    77 //CConnManActiveConnector::StartConnection()
       
    78 //--------------------------------------------------------------------------
       
    79 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus)
       
    80 	{
       
    81 	CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
       
    82 	iExternalRequestStatus = &aStatus;
       
    83 	
       
    84     if( aSettings )
       
    85         {
       
    86 	    iConnection.Start( *aSettings, iStatus );
       
    87         }
       
    88     else
       
    89         {
       
    90         iConnection.Start( iStatus );
       
    91         }
       
    92 
       
    93     SetActive();
       
    94 
       
    95 	*iExternalRequestStatus = KRequestPending;
       
    96 	}	
       
    97 	
       
    98 //--------------------------------------------------------------------------
       
    99 //CConnManActiveConnector::DoCancel()
       
   100 //--------------------------------------------------------------------------
       
   101 void CConnManActiveConnector::DoCancel()
       
   102 	{
       
   103 	CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
       
   104 	iConnection.Close();
       
   105 	User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
       
   106 	CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
       
   107 	}
       
   108 
       
   109 //--------------------------------------------------------------------------
       
   110 //CConnManActiveConnector::RunL()
       
   111 //--------------------------------------------------------------------------
       
   112 void CConnManActiveConnector::RunL()
       
   113 	{
       
   114     CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
       
   115 	User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
       
   116 	}
       
   117 
       
   118 //------------------------------------------------------ CActiveConnectorSyncWrapper -------------------------
       
   119 
       
   120 //--------------------------------------------------------------------------
       
   121 //CActiveConnectorSyncWrapper::NewL()
       
   122 //--------------------------------------------------------------------------
       
   123 CActiveConnectorSyncWrapper* 
       
   124         CActiveConnectorSyncWrapper::NewL( RConnection& aConnection
       
   125                                            , TInt aPriority )
       
   126 	{
       
   127 	CActiveConnectorSyncWrapper * self = CActiveConnectorSyncWrapper::NewLC( aConnection, aPriority );
       
   128 	CleanupStack::Pop();
       
   129 	return self;
       
   130 	}
       
   131 
       
   132 
       
   133 //--------------------------------------------------------------------------
       
   134 //CActiveConnectorSyncWrapper::NewLC()
       
   135 //--------------------------------------------------------------------------	
       
   136 CActiveConnectorSyncWrapper * CActiveConnectorSyncWrapper::NewLC( RConnection& aConnection, TInt aPriority)
       
   137 	{
       
   138     CActiveConnectorSyncWrapper * self = new ( ELeave )CActiveConnectorSyncWrapper( aPriority );
       
   139     CleanupStack::PushL( self );
       
   140     self->ConstructL( aConnection );
       
   141     return self;
       
   142 	}
       
   143 
       
   144 
       
   145 //--------------------------------------------------------------------------
       
   146 //CActiveConnectorSyncWrapper::Connect()
       
   147 //--------------------------------------------------------------------------		
       
   148 TInt CActiveConnectorSyncWrapper::Connect( TCommDbConnPref* aSettings )
       
   149 	{
       
   150 	iActiveConnector->StartConnection( aSettings, iStatus );
       
   151 	SetActive();
       
   152 	iWait.Start();
       
   153 	return iStatus.Int();
       
   154 	}
       
   155 
       
   156 
       
   157 //--------------------------------------------------------------------------
       
   158 //CActiveConnectorSyncWrapper::ConnectSnap()
       
   159 //--------------------------------------------------------------------------
       
   160 
       
   161 TInt CActiveConnectorSyncWrapper::ConnectSnap( TConnSnapPref* aSettings )
       
   162 	{
       
   163 	iActiveConnector->StartConnection( aSettings, iStatus );
       
   164 	SetActive();
       
   165 	iWait.Start();
       
   166 	return iStatus.Int();
       
   167 	}
       
   168 
       
   169 //--------------------------------------------------------------------------
       
   170 //CActiveConnectorSyncWrapper::~CActiveConnectorSyncWrapper()
       
   171 //--------------------------------------------------------------------------
       
   172 CActiveConnectorSyncWrapper::~CActiveConnectorSyncWrapper()
       
   173 	{
       
   174 	Cancel();
       
   175 	delete iActiveConnector;
       
   176 	}
       
   177 
       
   178 //--------------------------------------------------------------------------
       
   179 //CActiveConnectorSyncWrapper::RunL()
       
   180 //--------------------------------------------------------------------------
       
   181 void CActiveConnectorSyncWrapper::RunL()
       
   182 	{
       
   183 	 
       
   184 	 if(iWait.IsStarted())
       
   185 	 {
       
   186 		iWait.AsyncStop();	
       
   187 	 }
       
   188 	
       
   189 	}
       
   190 
       
   191 
       
   192 //--------------------------------------------------------------------------
       
   193 //CActiveConnectorSyncWrapper::DoCancel()
       
   194 //--------------------------------------------------------------------------
       
   195 void CActiveConnectorSyncWrapper::DoCancel()
       
   196 	{
       
   197     
       
   198     iActiveConnector->Cancel();
       
   199 	
       
   200 	if(iWait.IsStarted())
       
   201 	  {
       
   202 	   iWait.AsyncStop();	
       
   203 	  }
       
   204 	
       
   205 	}
       
   206 
       
   207 //--------------------------------------------------------------------------
       
   208 //CActiveConnectorSyncWrapper::ConstructL()
       
   209 //--------------------------------------------------------------------------
       
   210 void CActiveConnectorSyncWrapper::ConstructL( RConnection& aConnection )
       
   211     {
       
   212 	iActiveConnector = new ( ELeave ) CConnManActiveConnector( aConnection, Priority() );
       
   213 	CLOG_ATTACH( iActiveConnector, this );
       
   214 	}
       
   215 
       
   216 
       
   217 //-------------------------------------------------------------------------------
       
   218 //CActiveConnectorSyncWrapper::CActiveConnectorSyncWrapper()
       
   219 //-------------------------------------------------------------------------------
       
   220 CActiveConnectorSyncWrapper::CActiveConnectorSyncWrapper( TInt aPriority ): CActive( aPriority )
       
   221 	{
       
   222 	CActiveScheduler::Add( this );
       
   223 	}
       
   224 
       
   225 
       
   226 //EOF