datacommsserver/networkcontroller/ts_netcon/TestBases.cpp
changeset 0 dfb7c4ff071f
equal deleted inserted replaced
-1:000000000000 0:dfb7c4ff071f
       
     1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #include "TestBases.h"
       
    17 #include "CStubbedAgent.h"
       
    18 #include "NetConError.h"
       
    19 #include "NetConLog.h"
       
    20 #include "CTelBearer.h"
       
    21 #include "CNetConDlgProcessor.h"
       
    22 //
       
    23 //                                                                                                               //
       
    24 //                                    Implementation of class CControllerTestBase                                //
       
    25 //                                                                                                               //
       
    26 //
       
    27 CControllerTestBase::~CControllerTestBase()
       
    28 	{}
       
    29 
       
    30 /**
       
    31    Called when an unimplemented function is called in a test case -
       
    32    this is primarily intended as a debugging conveniance
       
    33  */
       
    34 void CControllerTestBase::Unimplemented() const
       
    35 	{
       
    36 	User::Invariant();
       
    37 	}
       
    38 
       
    39 CCommsDbAccess* CControllerTestBase::NewDatabaseL()
       
    40 	{
       
    41 	/* Construct a tear-off CCommsDbAccess interface */
       
    42 	CCommsDbAccess* database = CCommsDbAccess::NewL( this );
       
    43 	return database;
       
    44 	}
       
    45 
       
    46 CNetConDlgProcessor* CControllerTestBase::NewDialogProcessorL()
       
    47 	{
       
    48 	/*
       
    49 	  Derived classes which implement the DialogProcessor
       
    50 	  functionality can over-ride this
       
    51 	*/
       
    52 	Unimplemented();
       
    53 	return NULL;
       
    54 	}
       
    55 
       
    56 CControllerTestBase::CControllerTestBase()
       
    57 	{
       
    58 	}
       
    59 
       
    60 //
       
    61 // from MCommsDbAccess
       
    62 TInt CControllerTestBase::GetConnectionAttempts()
       
    63 	{
       
    64 
       
    65 	Unimplemented();
       
    66 	return 0;
       
    67 	}
       
    68 
       
    69 void CControllerTestBase::GetCurrentSettingsL(TConnectionSettings&, TCommDbConnectionDirection, TUint32)
       
    70 	{
       
    71 
       
    72 	Unimplemented();
       
    73 	}
       
    74 
       
    75 void CControllerTestBase::SetCurrentSettingsL(const TConnectionSettings&)
       
    76 	{
       
    77 
       
    78 	Unimplemented();
       
    79 	}
       
    80 
       
    81 void CControllerTestBase::SetOverridesL(CCommDbOverrideSettings*)
       
    82 	{
       
    83 
       
    84 	Unimplemented();
       
    85 	}
       
    86 
       
    87 void CControllerTestBase::GetPreferedIapL(TUint32& /*aIapId*/, TCommDbConnectionDirection /*aDirection*/, TUint32 /*aRank*/)
       
    88 	{
       
    89 
       
    90 	Unimplemented();
       
    91 	}
       
    92 
       
    93 void CControllerTestBase::SetPreferedIapL(TUint32& /*aIapId*/, TCommDbConnectionDirection /*aDirection*/, TUint32 /*aRank*/)
       
    94 	{
       
    95 
       
    96 	Unimplemented();
       
    97 	}
       
    98 
       
    99 
       
   100 TBool CControllerTestBase::DoesIapExistL(TUint32 /*aIapId*/)
       
   101 	{
       
   102 
       
   103 	return ETrue;
       
   104 	}
       
   105 
       
   106 void CControllerTestBase::GetFirstValidIapL(TUint32& aIapId)
       
   107 	{
       
   108 
       
   109 	aIapId = 1;
       
   110 	}
       
   111 
       
   112 TBool CControllerTestBase::IsTelNumLengthZeroForRasConnectionL(TConnectionSettings&)
       
   113 	{
       
   114 
       
   115 	Unimplemented();
       
   116 	return EFalse;
       
   117 	}
       
   118 
       
   119 void CControllerTestBase::GetServiceSettingsL(TConnectionSettings&)
       
   120 	{
       
   121 
       
   122 	Unimplemented();
       
   123 	}
       
   124 
       
   125 RMobilePhone::TMobilePhoneNetworkMode CControllerTestBase::NetworkMode() const
       
   126 	{
       
   127 
       
   128 	Unimplemented();
       
   129 	return RMobilePhone::ENetworkModeUnknown;
       
   130 	}
       
   131 
       
   132 void CControllerTestBase::SetNetworkMode(RMobilePhone::TMobilePhoneNetworkMode)
       
   133 	{
       
   134 
       
   135 	Unimplemented();
       
   136 	}
       
   137 
       
   138 void CControllerTestBase::GetDesL(const TDesC&, const TDesC&, TDes16&)
       
   139 	{
       
   140 
       
   141 	Unimplemented();
       
   142 	}
       
   143 
       
   144 void CControllerTestBase::GetIntL(const TDesC& aTable, const TDesC& aField, TUint32& aValue)
       
   145 	{
       
   146 	if( aTable == TPtrC(MODEM_BEARER) && aField == TPtrC(MODEM_MIN_SIGNAL_LEVEL) )
       
   147 		{
       
   148 		// Forward to virtual member
       
   149 		GetMinSigStrengthL( aValue );
       
   150 		}
       
   151 	else
       
   152 		{
       
   153 		Unimplemented();
       
   154 		}
       
   155 	}
       
   156 
       
   157 void CControllerTestBase::GetTsyNameL( TDes& /*aTsyName*/ )
       
   158 	{
       
   159 	Unimplemented();
       
   160 	}
       
   161 
       
   162 void CControllerTestBase::GetBearerAvailabilityTsyNameL(TDes& aTsyName)
       
   163 	{
       
   164 	GetTsyNameL( aTsyName );
       
   165 	}
       
   166 
       
   167 void CControllerTestBase::GetMinSigStrengthL(TUint32&)
       
   168 	{
       
   169 	Unimplemented();
       
   170 	}
       
   171 
       
   172 void CControllerTestBase::RequestNotificationOfServiceChangeL(MServiceChangeObserver* /*aObserver*/)
       
   173 	{
       
   174 	}
       
   175 
       
   176 void CControllerTestBase::CancelRequestNotificationOfServiceChange(MServiceChangeObserver* /*aObserver*/)
       
   177 	{
       
   178 	}
       
   179 
       
   180 //
       
   181 // from MNetConEnv
       
   182 void CControllerTestBase::RequestComplete(const CSelectionRequest*, TInt)
       
   183 	{
       
   184 
       
   185 	Unimplemented();
       
   186 	}
       
   187 
       
   188 void CControllerTestBase::RequestComplete(const CReconnectRequest*, TInt)
       
   189 	{
       
   190 
       
   191 	Unimplemented();
       
   192 	}
       
   193 
       
   194 const HBufC* CControllerTestBase::ImplicitConnectionAgentName() const
       
   195 	{
       
   196 
       
   197 	Unimplemented();
       
   198 	return NULL;
       
   199 	}
       
   200 
       
   201 const TConnPref& CControllerTestBase::ImplicitConnectionPrefs() const
       
   202 	{
       
   203 	Unimplemented();
       
   204 	return iImplicitConnPref;
       
   205 	}
       
   206 
       
   207 TInt CControllerTestBase::FindExistingAgentForSelection(CNifAgentBase*&, CCommsDbAccess*) const
       
   208 	{
       
   209 
       
   210 	Unimplemented();
       
   211 	return 0;
       
   212 	}
       
   213 
       
   214 void CControllerTestBase::CheckBearerAvailability(TBool)
       
   215 	{
       
   216 
       
   217 	Unimplemented();
       
   218 	}
       
   219 
       
   220 TInt CControllerTestBase::RequestSecondPhaseAvailability()
       
   221 	{
       
   222 
       
   223 	Unimplemented();
       
   224 	return 0;
       
   225 	}
       
   226 
       
   227 void CControllerTestBase::AddAgentToNetworkL(CNifAgentBase*, TUint32)
       
   228 	{
       
   229 
       
   230 	Unimplemented();
       
   231 	}
       
   232 
       
   233 void CControllerTestBase::CancelBearerAvailabilityCheck()
       
   234 	{
       
   235 	}
       
   236 
       
   237 void CControllerTestBase::Close()
       
   238 	{
       
   239 	}
       
   240 
       
   241 TBool CControllerTestBase::IsShowingHiddenRecords()
       
   242 	{
       
   243 	Unimplemented();
       
   244 	return EFalse;
       
   245 	}
       
   246 
       
   247 void CControllerTestBase::SetCommPortL( const RCall::TCommPort& )
       
   248 	{
       
   249 	Unimplemented();
       
   250 	}
       
   251 
       
   252 void CControllerTestBase::GetServiceTypeL( TDes& )
       
   253 	{
       
   254 	Unimplemented();
       
   255 	}
       
   256 
       
   257 TInt CControllerTestBase::ReadInt(const TDesC& /*aField*/, TUint32& /*aValue*/)
       
   258 	{
       
   259 	Unimplemented();
       
   260 	return 0;
       
   261 	}
       
   262 TInt CControllerTestBase::ReadBool(const TDesC& /*aField*/, TBool& /*aValue*/)
       
   263 	{
       
   264 	Unimplemented();
       
   265 	return 0;
       
   266 	}
       
   267 TInt CControllerTestBase::ReadDes(const TDesC& /*aField*/, TDes8& /*aValue*/)
       
   268 	{
       
   269 	Unimplemented();
       
   270 	return 0;
       
   271 	}
       
   272 TInt CControllerTestBase::ReadDes(const TDesC& /*aField*/, TDes16& /*aValue*/)
       
   273 	{
       
   274 	Unimplemented();
       
   275 	return 0;
       
   276 	}
       
   277 HBufC* CControllerTestBase::ReadLongDesLC(const TDesC& /*aField*/)
       
   278 	{
       
   279 	Unimplemented();
       
   280 	return 0;
       
   281 	}
       
   282 
       
   283 void CControllerTestBase::GetDesL(const TDesC& /*aTable*/, const TDesC& /*aField*/, TDes8& /*aValue*/)
       
   284 	{
       
   285 	Unimplemented();
       
   286 	}
       
   287 
       
   288 void CControllerTestBase::GetBoolL(const TDesC& /*aTable*/, const TDesC& /*aField*/, TBool& /*aValue*/)
       
   289 	{
       
   290 	Unimplemented();
       
   291 	}
       
   292 
       
   293 HBufC* CControllerTestBase::GetLongDesLC(const TDesC& /*aTable*/, const TDesC& /*aField*/)
       
   294 	{
       
   295 	Unimplemented();
       
   296 	return 0;
       
   297 	}
       
   298 TInt CControllerTestBase::GetLengthOfLongDesL(const TDesC& /*aTable*/, const TDesC& /*aField*/)
       
   299 	{
       
   300 	Unimplemented();
       
   301 	return 0;
       
   302 	}
       
   303 
       
   304 void CControllerTestBase::GetGlobalL(const TDesC& /*aName*/,TUint32& /*aVal*/ )
       
   305 	{
       
   306 	Unimplemented();
       
   307 	}
       
   308 
       
   309 CCommsDbAccess::CCommsDbAccessModemTable* CControllerTestBase::ModemTable()
       
   310 	{
       
   311 	Unimplemented();
       
   312 	return 0;
       
   313 	}
       
   314 
       
   315 TUint32 CControllerTestBase::LocationId() const
       
   316 	{
       
   317 	Unimplemented();
       
   318 	return 0;
       
   319 	}
       
   320 
       
   321 TCommDbConnectionDirection CControllerTestBase::GetConnectionDirection() const
       
   322 	{
       
   323 	Unimplemented();
       
   324 	return ECommDbConnectionDirectionUnknown;
       
   325 	}
       
   326 
       
   327 void  CControllerTestBase::GetAgentExtL(const TDesC& /*aServiceType*/, TDes& /*aAgentExt*/ )
       
   328 	{
       
   329 	Unimplemented();
       
   330 	}
       
   331 
       
   332 void CControllerTestBase::GetAuthParamsL( TBool&, TDes&, TDes& )
       
   333 	{
       
   334 	Unimplemented();
       
   335 	}
       
   336 
       
   337 TInt CControllerTestBase::WriteDes(const TDesC& /*aField*/, const TDesC16& /*aValue*/)
       
   338 /**
       
   339 Writes from the NIF are currently not supported...
       
   340 */
       
   341 	{
       
   342 	return KErrNotSupported;
       
   343 	}
       
   344 
       
   345 TInt CControllerTestBase::WriteDes(const TDesC& /*aField*/, const TDesC8& /*aValue*/)
       
   346 /**
       
   347 Writes from the NIF are currently not supported...
       
   348 */
       
   349 	{
       
   350 	return KErrNotSupported;
       
   351 	}
       
   352 
       
   353 
       
   354 TInt CControllerTestBase::WriteBool(const TDesC& /*aField*/, TBool /*aValue*/)
       
   355 /**
       
   356 Writes from the NIF are currently not supported...
       
   357 */
       
   358 	{
       
   359 	return KErrNotSupported;
       
   360 	}
       
   361 
       
   362 TInt CControllerTestBase::WriteInt(const TDesC& /*aField*/, TUint32 /*aValue*/)
       
   363 /**
       
   364 Writes from the NIF are currently not supported...
       
   365 */
       
   366 	{
       
   367 	return KErrNotSupported;
       
   368 	}
       
   369 
       
   370 TInt CControllerTestBase::DoCheckReadCapability( const TDesC& /*aField*/, const RMessagePtr2* /*aMessage*/ )
       
   371 	{
       
   372 	return KErrNone;
       
   373 	}
       
   374 
       
   375 TInt CControllerTestBase::DoCheckWriteCapability( const TDesC& /*aField*/, const RMessagePtr2* /*aMessage*/ )
       
   376 	{
       
   377 	return KErrNone;
       
   378 	}
       
   379 
       
   380 //
       
   381 //
       
   382 //
       
   383 
       
   384 
       
   385 //
       
   386 //                                                                                                               //
       
   387 //                                    Implementation of class CNetConRequestTestBase                             //
       
   388 //                                                                                                               //
       
   389 //
       
   390 //
       
   391 //
       
   392 //
       
   393 
       
   394 CNetConRequestTestBase::CNetConRequestTestBase()
       
   395 	: iExpectedError(KErrNone), iAvailableBearers(ECommDbBearerUnknown), iSecondPhaseAvailability(ETrue),
       
   396 	  iDialogBoxPref(ECommDbDialogPrefUnknown), iDialogBoxError(KErrNone)
       
   397 	{}
       
   398 
       
   399 void CNetConRequestTestBase::ConstructL()
       
   400 	{
       
   401 
       
   402 	TCallBack bearerCallBack(BearerCb, this);
       
   403 	iBearerCb = new(ELeave) CAsyncCallBack(bearerCallBack, CActive::EPriorityStandard);
       
   404 
       
   405 	TCallBack dialogCallBack(DialogCb, this);
       
   406 	iDialogCb = new(ELeave) CAsyncCallBack(dialogCallBack, CActive::EPriorityStandard);
       
   407 	}
       
   408 
       
   409 CNetConRequestTestBase::~CNetConRequestTestBase()
       
   410 	{
       
   411 
       
   412 	delete iRequest;
       
   413 
       
   414 	delete iAgent;
       
   415 
       
   416 	delete iDialogCb;
       
   417 
       
   418 	delete iBearerCb;
       
   419 	}
       
   420 
       
   421 CNetConDlgProcessor* CNetConRequestTestBase::NewDialogProcessorL()
       
   422 	{
       
   423 	// Construct a tear-off interface
       
   424 	CNetConDlgProcessor *processor = CNetConDlgProcessor::NewL( this, EFalse );
       
   425 	return processor;
       
   426 	}
       
   427 
       
   428 TInt CNetConRequestTestBase::RequestSecondPhaseAvailability()
       
   429 	{
       
   430 
       
   431 	if (iSecondPhaseAvailability)
       
   432 		{
       
   433 		return KErrNone;
       
   434 		}
       
   435 	else
       
   436 		{
       
   437 		return KErrNetConInadequateSignalStrengh;
       
   438 		}
       
   439 	}
       
   440 
       
   441 TInt CNetConRequestTestBase::BearerCb(TAny* aThisPtr)
       
   442 	{
       
   443 	CNetConRequestTestBase* self = static_cast<CNetConRequestTestBase*>(aThisPtr);
       
   444 	self->BearerCbComplete();
       
   445 	return KErrNone;
       
   446 	}
       
   447 
       
   448 void CNetConRequestTestBase::BearerCbComplete()
       
   449 	{
       
   450 
       
   451 	iRequest->SetAvailableBearers(iAvailableBearers);
       
   452 	iAvailableBearers = ECommDbBearerUnknown;
       
   453 	}
       
   454 
       
   455 TInt CNetConRequestTestBase::DialogCb(TAny* aThisPtr)
       
   456 	{
       
   457 	CNetConRequestTestBase* self = static_cast<CNetConRequestTestBase*>(aThisPtr);
       
   458 	self->DialogCbComplete();
       
   459 	return KErrNone;
       
   460 	}
       
   461 
       
   462 void CNetConRequestTestBase::StartTestL()
       
   463 	{
       
   464 
       
   465 	iRequest->StartRequest();
       
   466 	}
       
   467 
       
   468 void CNetConRequestTestBase::GetDefaultTestSettings(TConnectionSettings& aSettings)
       
   469 	{
       
   470 
       
   471 	aSettings.iRank = 1;
       
   472 	aSettings.iDirection = ECommDbConnectionDirectionOutgoing;
       
   473 	aSettings.iDialogPref = iDialogBoxPref;
       
   474 	aSettings.iBearerSet = KCommDbBearerCSD;
       
   475 	aSettings.iIAPId = 1;
       
   476 	aSettings.iServiceId = 1;
       
   477 	aSettings.iServiceType = TPtrC(DIAL_OUT_ISP);
       
   478 	aSettings.iBearerId = 2;
       
   479 	aSettings.iLocationId = 2;
       
   480 	aSettings.iChargeCardId = 0;
       
   481 	}
       
   482 
       
   483 //
       
   484 // from MNetConDialogProcAccess
       
   485 void CNetConRequestTestBase::SelectConnection(MDialogProcessorObserver&, const TConnectionPrefs&)
       
   486 	{
       
   487 
       
   488 	Unimplemented();
       
   489 	}
       
   490 
       
   491 void CNetConRequestTestBase::SelectConnection(MDialogProcessorObserver&, const TConnectionPrefs&, TInt)
       
   492 	{
       
   493 
       
   494 	Unimplemented();
       
   495 	}
       
   496 
       
   497 void CNetConRequestTestBase::SelectModemAndLocation(MDialogProcessorObserver&)
       
   498 	{
       
   499 
       
   500 	Unimplemented();
       
   501 	}
       
   502 
       
   503 void CNetConRequestTestBase::WarnNewConnection(MDialogProcessorObserver&, const TConnectionPrefs&, const TDesC*, const TIspConnectionNames*, TInt)
       
   504 	{
       
   505 
       
   506 	Unimplemented();
       
   507 	}
       
   508 
       
   509 void CNetConRequestTestBase::Reconnect(MDialogProcessorObserver&)
       
   510 	{
       
   511 
       
   512 	Unimplemented();
       
   513 	}
       
   514 
       
   515 void CNetConRequestTestBase::CancelEverything()
       
   516 	{
       
   517 
       
   518 	Unimplemented();
       
   519 	}
       
   520 
       
   521 //
       
   522 // from MNetworkControllerObserver
       
   523 void CNetConRequestTestBase::SelectComplete(const TDesC&)
       
   524 	{
       
   525 
       
   526 	Unimplemented();
       
   527 	}
       
   528 
       
   529 void CNetConRequestTestBase::SelectComplete(TInt)
       
   530 	{
       
   531 
       
   532 	Unimplemented();
       
   533 	}
       
   534 
       
   535 void CNetConRequestTestBase::ReconnectComplete(TInt)
       
   536 	{
       
   537 
       
   538 	Unimplemented();
       
   539 	}
       
   540 //
       
   541 //
       
   542 //
       
   543 
       
   544 
       
   545 //
       
   546 //                                                                                                               //
       
   547 //                                    Implementation of class CNetConReconnectRequestTestBase                    //
       
   548 //                                                                                                               //
       
   549 //
       
   550 //
       
   551 //
       
   552 //
       
   553 CNetConReconnectRequestTestBase::CNetConReconnectRequestTestBase()
       
   554 	{}
       
   555 
       
   556 void CNetConReconnectRequestTestBase::ConstructL()
       
   557 	{
       
   558 
       
   559 	CNetConRequestTestBase::ConstructL();
       
   560 
       
   561 	iAgent = new(ELeave) CStubbedAgent();
       
   562 
       
   563 	TConnectionSettings settings;
       
   564 	GetDefaultTestSettings(settings);
       
   565 	iAgent->SetConnectionSettingsL(settings);
       
   566 
       
   567 	iRequest = CReconnectRequest::NewL(this, this, iAgent, NULL);
       
   568 	}
       
   569 
       
   570 CNetConReconnectRequestTestBase::~CNetConReconnectRequestTestBase()
       
   571 	{ }
       
   572 
       
   573 void CNetConReconnectRequestTestBase::CheckBearerAvailability(TBool aIsReconnect)
       
   574 	{
       
   575 
       
   576 	ASSERT(aIsReconnect);
       
   577 	(void)aIsReconnect;
       
   578 
       
   579 	iBearerCb->CallBack();
       
   580 	}
       
   581 
       
   582 void CNetConReconnectRequestTestBase::Reconnect(MDialogProcessorObserver& aObserver)
       
   583 	{
       
   584 
       
   585 	ASSERT(&aObserver == iRequest);
       
   586 
       
   587 	iDialogBoxObserver = &aObserver;
       
   588 	iDialogCb->CallBack();
       
   589 	}
       
   590 
       
   591 void CNetConReconnectRequestTestBase::DialogCbComplete()
       
   592 	{
       
   593 
       
   594 	iDialogBoxObserver->MDPOReconnectComplete(iDialogBoxError);
       
   595 	iDialogBoxObserver = NULL;
       
   596 	iDialogBoxError = KErrNone;
       
   597 	}
       
   598 
       
   599 void CNetConReconnectRequestTestBase::RequestComplete(const CReconnectRequest* aRequest, TInt aError)
       
   600 	{
       
   601 
       
   602 	ASSERT(static_cast<const CNetConRequestBase*>(aRequest) == iRequest);
       
   603 	(void)aRequest;
       
   604 
       
   605 	if(aError == iExpectedError)
       
   606 		CompleteTest(MNetConTest::EPassed);
       
   607 	else
       
   608 		CompleteTest(MNetConTest::EFailed);
       
   609 	}
       
   610 //
       
   611 //
       
   612 //
       
   613 
       
   614 
       
   615 //
       
   616 //                                                                                                               //
       
   617 //                                    Implementation of class CNetConSelectionRequestTestBase                    //
       
   618 //                                                                                                               //
       
   619 //
       
   620 //
       
   621 //
       
   622 //
       
   623 CNetConSelectionRequestTestBase::CNetConSelectionRequestTestBase()
       
   624 	:iConnectType(EConnStartExplicit),
       
   625 	 iConnectionAttempt(1),
       
   626 	 iLastConnectionError(KErrNone),
       
   627 	 iNetworkId(0)
       
   628 	{}
       
   629 
       
   630 void CNetConSelectionRequestTestBase::ConstructL()
       
   631 	{
       
   632 
       
   633 	CNetConRequestTestBase::ConstructL();
       
   634 
       
   635 	TCommDbConnPref prefs;
       
   636 	iRequest = CSelectionRequest::NewL(this, this, iConnectType, prefs, iConnectionAttempt, iLastConnectionError);
       
   637 	}
       
   638 
       
   639 CNetConSelectionRequestTestBase::~CNetConSelectionRequestTestBase()
       
   640 	{ }
       
   641 
       
   642 TInt CNetConSelectionRequestTestBase::GetConnectionAttempts()
       
   643 	{
       
   644 
       
   645 	return 2;
       
   646 	}
       
   647 
       
   648 void CNetConSelectionRequestTestBase::GetCurrentSettingsL(TConnectionSettings& aSettings, TCommDbConnectionDirection aDirection, TUint32 aRank)
       
   649 	{
       
   650 
       
   651 	if(aRank!=(TUint32)iConnectionAttempt)
       
   652 		{
       
   653 		CompleteTest(MNetConTest::EFailed);
       
   654 		return;
       
   655 		}
       
   656 
       
   657 	GetDefaultTestSettings(iSettings);
       
   658 	iSettings.iDirection = aDirection;
       
   659 	iSettings.iRank = aRank;
       
   660 	aSettings = iSettings;
       
   661 	}
       
   662 
       
   663 void CNetConSelectionRequestTestBase::SetCurrentSettingsL(const TConnectionSettings& aSettings)
       
   664 	{
       
   665 
       
   666 	TBool settingsOk(ETrue);
       
   667 
       
   668 	if (aSettings.iRank != iSettings.iRank)
       
   669 		settingsOk = EFalse;
       
   670 
       
   671 	if (aSettings.iDirection != iSettings.iDirection)
       
   672 		settingsOk = EFalse;
       
   673 
       
   674 	if (aSettings.iDialogPref != iSettings.iDialogPref)
       
   675 		settingsOk = EFalse;
       
   676 
       
   677 	if (aSettings.iBearerSet != iSettings.iBearerSet)
       
   678 		settingsOk = EFalse;
       
   679 
       
   680 	if (aSettings.iIAPId != iSettings.iIAPId)
       
   681 		settingsOk = EFalse;
       
   682 
       
   683 	if (aSettings.iServiceId != iSettings.iServiceId)
       
   684 		settingsOk = EFalse;
       
   685 
       
   686 	if (aSettings.iServiceType != iSettings.iServiceType)
       
   687 		settingsOk = EFalse;
       
   688 
       
   689 	if (aSettings.iBearerId != iSettings.iBearerId)
       
   690 		settingsOk = EFalse;
       
   691 
       
   692 	if (aSettings.iLocationId != iSettings.iLocationId)
       
   693 		settingsOk = EFalse;
       
   694 
       
   695 	if (aSettings.iChargeCardId != iSettings.iChargeCardId)
       
   696 		settingsOk = EFalse;
       
   697 
       
   698 	if(!settingsOk)
       
   699 		CompleteTest(MNetConTest::EFailed);
       
   700 	}
       
   701 
       
   702 void CNetConSelectionRequestTestBase::SetOverridesL(CCommDbOverrideSettings* aOverrides)
       
   703 	{
       
   704 
       
   705 	if(aOverrides)
       
   706 		{
       
   707 		User::Invariant();
       
   708 		}
       
   709 	}
       
   710 
       
   711 void CNetConSelectionRequestTestBase::GetPreferedIapL(TUint32& aIapId, TCommDbConnectionDirection /*aDirection*/, TUint32 /*aRank*/)
       
   712 	{
       
   713 
       
   714 	// default to IAP 1
       
   715 	aIapId = 1;
       
   716 	}
       
   717 
       
   718 void CNetConSelectionRequestTestBase::SetPreferedIapL(TUint32& /*aIapId*/, TCommDbConnectionDirection /*aDirection*/, TUint32 /*aRank*/)
       
   719 	{
       
   720 	// This should not get called as DoesIapExistL returns true
       
   721 	Unimplemented();
       
   722 	}
       
   723 
       
   724 
       
   725 TBool CNetConSelectionRequestTestBase::DoesIapExistL(TUint32 /*aIapId*/)
       
   726 	{
       
   727 
       
   728 	return ETrue;
       
   729 	}
       
   730 
       
   731 TBool CNetConSelectionRequestTestBase::IsTelNumLengthZeroForRasConnectionL(TConnectionSettings&)
       
   732 	{
       
   733 
       
   734 	return EFalse;
       
   735 	}
       
   736 
       
   737 void CNetConSelectionRequestTestBase::GetServiceSettingsL(TConnectionSettings& aSettings)
       
   738 	{
       
   739 
       
   740 	aSettings.iServiceId = iSettings.iServiceId;
       
   741 	aSettings.iServiceType = iSettings.iServiceType;
       
   742 	}
       
   743 
       
   744 void CNetConSelectionRequestTestBase::GetDesL(const TDesC& aTable, const TDesC& aField, TDes16& aValue)
       
   745 	{
       
   746 
       
   747 	if (aTable == TPtrC(IAP) && aField == TPtrC(COMMDB_NAME))
       
   748 		{
       
   749 		_LIT(KIapName, "An Internet Access Point");
       
   750 		aValue = KIapName();
       
   751 		}
       
   752 	else if(aField == TPtrC(AGENT_NAME))
       
   753 		{
       
   754 		_LIT(KAgentName, "StubbedAgent");
       
   755 		aValue = KAgentName();
       
   756 		}
       
   757 	else
       
   758 		{
       
   759 		CNetConRequestTestBase::GetDesL( aTable, aField, aValue );
       
   760 		}
       
   761 	}
       
   762 
       
   763 void CNetConSelectionRequestTestBase::GetIntL(const TDesC& aTable, const TDesC& aField, TUint32& aValue)
       
   764 	{
       
   765 
       
   766 	if(aTable == TPtrC(IAP) && aField == TPtrC(IAP_NETWORK))
       
   767 		{
       
   768 		aValue = iNetworkId;
       
   769 		}
       
   770 	else
       
   771 		{
       
   772 		CNetConRequestTestBase::GetIntL( aTable, aField, aValue );
       
   773 		}
       
   774 	}
       
   775 
       
   776 TInt CNetConSelectionRequestTestBase::FindExistingAgentForSelection(CNifAgentBase*&, CCommsDbAccess*) const
       
   777 	{
       
   778 
       
   779 	return KErrNotFound;
       
   780 	}
       
   781 
       
   782 void CNetConSelectionRequestTestBase::CheckBearerAvailability(TBool aIsReconnect)
       
   783 	{
       
   784 
       
   785 	ASSERT(!aIsReconnect);
       
   786 	(void)aIsReconnect;
       
   787 
       
   788 	iBearerCb->CallBack();
       
   789 	}
       
   790 
       
   791 void CNetConSelectionRequestTestBase::AddAgentToNetworkL(CNifAgentBase* aAgent, TUint32 aNetworkId)
       
   792 	{
       
   793 
       
   794 	if(aNetworkId != iNetworkId || !aAgent)
       
   795 		{
       
   796 		CompleteTest(MNetConTest::EFailed);
       
   797 		return;
       
   798 		}
       
   799 
       
   800 	ASSERT(!iAgent);
       
   801 	iAgent = aAgent;
       
   802 
       
   803 	CleanupStack::Pop();  // CStubbedAgent allocated in Nif::CreateAgentL()
       
   804 	}
       
   805 
       
   806 void CNetConSelectionRequestTestBase::DialogCbComplete()
       
   807 	{
       
   808 
       
   809 	Unimplemented();
       
   810 	}
       
   811 
       
   812 void CNetConSelectionRequestTestBase::SelectConnection(MDialogProcessorObserver& aObserver, const TConnectionPrefs& aPrefs)
       
   813 	{
       
   814 
       
   815 	SelectConnection(aObserver, aPrefs, KErrNone);
       
   816 	}
       
   817 
       
   818 void CNetConSelectionRequestTestBase::SelectConnection(MDialogProcessorObserver& aObserver, const TConnectionPrefs&, TInt aLastConnectionError)
       
   819 	{
       
   820 
       
   821 	ASSERT(&aObserver == iRequest);
       
   822 	ASSERT(!iDialogBoxObserver);
       
   823 
       
   824 	if(aLastConnectionError != iLastConnectionError)
       
   825 		{
       
   826 		CompleteTest(MNetConTest::EFailed);
       
   827 		return;
       
   828 		}
       
   829 
       
   830 	iDialogBoxAction = ESelectConnection;
       
   831 	iDialogBoxObserver = &aObserver;
       
   832 	iDialogCb->CallBack();
       
   833 	}
       
   834 
       
   835 void CNetConSelectionRequestTestBase::SelectModemAndLocation(MDialogProcessorObserver& aObserver)
       
   836 	{
       
   837 
       
   838 	ASSERT(&aObserver == iRequest);
       
   839 	ASSERT(!iDialogBoxObserver);
       
   840 
       
   841 	iDialogBoxAction = ESelectModemLocation;
       
   842 	iDialogBoxObserver = &aObserver;
       
   843 	iDialogCb->CallBack();
       
   844 	}
       
   845 
       
   846 void CNetConSelectionRequestTestBase::WarnNewConnection(MDialogProcessorObserver& aObserver, const TConnectionPrefs&, const TDesC*, const TIspConnectionNames*, TInt aLastConnectionError)
       
   847 	{
       
   848 
       
   849 	ASSERT(&aObserver == iRequest);
       
   850 	ASSERT(!iDialogBoxObserver);
       
   851 
       
   852 	if(aLastConnectionError != iLastConnectionError)
       
   853 		{
       
   854 		CompleteTest(MNetConTest::EFailed);
       
   855 		return;
       
   856 		}
       
   857 
       
   858 	iDialogBoxAction = EWarnNewConnection;
       
   859 	iDialogBoxObserver = &aObserver;
       
   860 	iDialogCb->CallBack();
       
   861 	}
       
   862 
       
   863 void CNetConSelectionRequestTestBase::RequestComplete(const CSelectionRequest* aRequest, TInt aError)
       
   864 	{
       
   865 
       
   866 	ASSERT(static_cast<const CNetConRequestBase*>(aRequest) == iRequest);
       
   867 	(void)aRequest;
       
   868 
       
   869 	if(aError == iExpectedError)
       
   870 		CompleteTest(MNetConTest::EPassed);
       
   871 	else
       
   872 		CompleteTest(MNetConTest::EFailed);
       
   873 	}
       
   874 //
       
   875 //
       
   876 //
       
   877 
       
   878 
       
   879 //
       
   880 //                                                                                                               //
       
   881 //                                    Implementation of class CNetConBearerTestBase                              //
       
   882 //                                                                                                               //
       
   883 //
       
   884 //
       
   885 //
       
   886 //
       
   887 CNetConBearerTestBase::~CNetConBearerTestBase()
       
   888 	{
       
   889 	delete iTelBearer;
       
   890 	iTelBearer = 0;
       
   891 	delete iDatabase;
       
   892 	iDatabase = 0;
       
   893 	}
       
   894 
       
   895 CNetConBearerTestBase::CNetConBearerTestBase()
       
   896 	:iTelBearer(0),
       
   897 	 iDatabase(0)
       
   898 	{
       
   899 	}
       
   900 
       
   901 void CNetConBearerTestBase::ConstructL()
       
   902 	{
       
   903 	ASSERT( !iDatabase );
       
   904 	ASSERT( !iTelBearer );
       
   905 	iTelBearer = CTelBearer::NewL( this );
       
   906 	iDatabase = CCommsDbAccess::NewL(this);
       
   907 	}
       
   908 
       
   909 void CNetConBearerTestBase::BearerStateChange(CBearerBase*)
       
   910 	{
       
   911 	Unimplemented();
       
   912 	}
       
   913 
       
   914 CCommsDbAccess *CNetConBearerTestBase::DbAccess()
       
   915 	{
       
   916 	ASSERT( iDatabase ); // in case someone forgot to call ConstructL from a derived class...
       
   917 	return iDatabase;
       
   918 	}
       
   919 //
       
   920 //
       
   921 //
       
   922