syncmlfw/ds/dsutils/ProfileUtil/testprofileutil/src/testprofileutilBlocks.cpp
changeset 0 b497e44ab2fc
child 55 1c556dee8eb1
equal deleted inserted replaced
-1:000000000000 0:b497e44ab2fc
       
     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 "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:  ?Description
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 // [INCLUDE FILES] - do not remove
       
    21 #include <e32svr.h>
       
    22 #include <StifParser.h>
       
    23 #include <Stiftestinterface.h>
       
    24 #include "testprofileutil.h"
       
    25 //SyncML headers
       
    26 #include <SyncMLDef.h>
       
    27 #include <SyncMLClient.h>
       
    28 #include <SyncMLClientDS.h>
       
    29 #include <SyncMLClientDM.h>
       
    30 #include <SyncMLTransportProperties.h>
       
    31 #include <commdb.h> 
       
    32 #include "nsmlconstants.h"
       
    33 
       
    34 #include "NsmlProfileUtil.h"
       
    35 
       
    36 
       
    37 
       
    38 
       
    39 // EXTERNAL DATA STRUCTURES
       
    40 //extern  ?external_data;
       
    41 
       
    42 // EXTERNAL FUNCTION PROTOTYPES  
       
    43 //extern ?external_function( ?arg_type,?arg_type );
       
    44 
       
    45 // CONSTANTS
       
    46 //const ?type ?constant_var = ?constant;
       
    47 const TInt TPropertyIntenetAccessPoint = 0;
       
    48 const TSmlServerAlertedAction 	KDSProfileSAN 		= ESmlConfirmSync;
       
    49 const TSmlProtocolVersion 		KDSProfileProtocol 	= ESmlVersion1_1_2;
       
    50 const TInt 						KDSProfileCreatorId = 20;
       
    51 const TInt						KTaskCreatorId		= 270495197;
       
    52 const TSmlSyncType				KTaskSyncType		= ESmlSlowSync;
       
    53 const TBool						KTaskEnabled		= ETrue;
       
    54 
       
    55 const TInt KBufSize32 = 32;
       
    56 
       
    57 //for Intelli Sync server details
       
    58 _LIT (KDSRemoteProfileDisplayName, "Intellisync");
       
    59 _LIT8(KDSProfileUserName, 		"nokia6" );
       
    60 _LIT8(KDSProfilePassword, 		"ashwini" );
       
    61 _LIT8(KDSProfileServerId, 		"None" );
       
    62 _LIT8(KDSProfileServerURL, 	"http://82.77.123.84/services/syncml:80" );
       
    63 _LIT8(KDSAccessPoint, 		        "Sonera GPRS" );
       
    64 _LIT(KTaskServerDataSource, 		"./Contact/Unfiled" );
       
    65 _LIT(KTaskClientContactDataSource,"./C:Contacts.cdb");
       
    66 _LIT(KTaskDisplayName,			"Contacts" );
       
    67 
       
    68 _LIT( KNetMon,"\\netmon.exe" );
       
    69 
       
    70 
       
    71 
       
    72 // ============================ MEMBER FUNCTIONS ===============================
       
    73 
       
    74 // -----------------------------------------------------------------------------
       
    75 // Ctestprofileutil::Delete
       
    76 // Delete here all resources allocated and opened from test methods. 
       
    77 // Called from destructor. 
       
    78 // -----------------------------------------------------------------------------
       
    79 //
       
    80 void Ctestprofileutil::Delete() 
       
    81     {
       
    82            iProfiles.Close();
       
    83           
       
    84     }
       
    85 
       
    86 // -----------------------------------------------------------------------------
       
    87 // Ctestprofileutil::RunMethodL
       
    88 // Run specified method. Contains also table of test mothods and their names.
       
    89 // -----------------------------------------------------------------------------
       
    90 //
       
    91 TInt Ctestprofileutil::RunMethodL( 
       
    92     CStifItemParser& aItem ) 
       
    93     {
       
    94 
       
    95     static TStifFunctionInfo const KFunctions[] =
       
    96         {  
       
    97         // Copy this line for every implemented function.
       
    98         // First string is the function name used in TestScripter script file.
       
    99         // Second is the actual implementation member function. 
       
   100         ENTRY( "OpenSyncSession",Ctestprofileutil::OpenSyncSessionL ),
       
   101         ENTRY( "CreateDSProfile",Ctestprofileutil::CreateDSProfileL ),
       
   102         ENTRY( "SetDSRemoteProfileData",Ctestprofileutil::SetRemoteDSProfileDataL),
       
   103         ENTRY( "UpdateDSProfile",Ctestprofileutil::UpdateDSProfileL ),
       
   104         ENTRY( "CloseSyncSession",Ctestprofileutil::CloseSyncSession ),
       
   105         ENTRY( "OpenDSProfileById",Ctestprofileutil::OpenDSProfileByIdL ),
       
   106         ENTRY( "CreateConnection",Ctestprofileutil::CreateConnectionL ),
       
   107         ENTRY( "UpdateConnection",Ctestprofileutil::UpdateConnectionL ),
       
   108         ENTRY( "OpenConnection",Ctestprofileutil::OpenConnectionL ),
       
   109         ENTRY( "CreateTask",Ctestprofileutil::CreateTaskL),
       
   110         ENTRY( "SetTaskData",Ctestprofileutil::SetTaskDataL ),
       
   111         ENTRY( "UpdateTask",Ctestprofileutil::UpdateTaskL ),
       
   112         ENTRY( "CloseTask",Ctestprofileutil::CloseTask ),
       
   113         ENTRY( "CloseDSProfile",Ctestprofileutil::CloseDSProfile ),
       
   114         ENTRY( "CloseConnection",Ctestprofileutil::CloseConnection ),
       
   115         ENTRY( "WriteAndReadCenrepKeys",Ctestprofileutil::ReadAndWriteCenrepKeysL),
       
   116         ENTRY( "ProfileUtilCheck",Ctestprofileutil::ReadSettingsDBL),
       
   117         ENTRY( "GoingtoOffline",Ctestprofileutil::OffLineL),
       
   118         ENTRY( "GoingtoGeneral",Ctestprofileutil::GeneralL),
       
   119         ENTRY( "StartSync",Ctestprofileutil::SyncL),        
       
   120         ENTRY( "LaunchAutoRestart",Ctestprofileutil::LaunchAutoRestartL),
       
   121         ENTRY( "CallDelay",Ctestprofileutil::CallDelay),
       
   122         ENTRY( "Example", Ctestprofileutil::ExampleL ),
       
   123         //ADD NEW ENTRY HERE
       
   124         // [test cases entries] - Do not remove
       
   125 
       
   126         };
       
   127 
       
   128     const TInt count = sizeof( KFunctions ) / 
       
   129                         sizeof( TStifFunctionInfo );
       
   130 
       
   131     return RunInternalL( KFunctions, count, aItem );
       
   132 
       
   133     }
       
   134 
       
   135 // -----------------------------------------------------------------------------
       
   136 // Ctestprofileutil::ExampleL
       
   137 // Example test method function.
       
   138 // (other items were commented in a header).
       
   139 // -----------------------------------------------------------------------------
       
   140 //
       
   141 TInt Ctestprofileutil::ExampleL( CStifItemParser& aItem )
       
   142     {
       
   143 
       
   144     // Print to UI
       
   145     _LIT( Ktestprofileutil, "testprofileutil" );
       
   146     _LIT( KExample, "In Example" );
       
   147     TestModuleIf().Printf( 0, Ktestprofileutil, KExample );
       
   148     // Print to log file
       
   149     iLog->Log( KExample );
       
   150 
       
   151     TInt i = 0;
       
   152     TPtrC string;
       
   153     _LIT( KParam, "Param[%i]: %S" );
       
   154     while ( aItem.GetNextString ( string ) == KErrNone )
       
   155         {
       
   156         TestModuleIf().Printf( i, Ktestprofileutil, 
       
   157                                 KParam, i, &string );
       
   158         i++;
       
   159         }
       
   160 
       
   161     return KErrNone;
       
   162 
       
   163     }
       
   164 //------------------------------------------------------------------------------
       
   165 //Ctestprofileutil::OpenSyncSessionL
       
   166 //opens the syncml session
       
   167 //-------------------------------------------------------------------------------
       
   168 //
       
   169 TInt Ctestprofileutil::OpenSyncSessionL( CStifItemParser& /*aItem*/ )
       
   170 	{
       
   171 	iSyncSession.OpenL();
       
   172 	iSyncSession.ShareAuto(); // share automatically with other threads (notifiers)
       
   173 	return KErrNone;
       
   174 	}
       
   175 	
       
   176 //------------------------------------------------------------------------------
       
   177 //Ctestprofileutil::UpdateDSProfileL
       
   178 //updates the ds profile with new values
       
   179 //-------------------------------------------------------------------------------
       
   180 //	
       
   181 TInt Ctestprofileutil::UpdateDSProfileL( CStifItemParser& /*aItem*/ )
       
   182 	{
       
   183 	iDSProfile.UpdateL();
       
   184 	iProfileId = iDSProfile.Identifier();
       
   185 	return KErrNone;
       
   186 	}
       
   187 //------------------------------------------------------------------------------
       
   188 //CClientAPIAdvanced::CreateDSProfileL
       
   189 //creates the Ds profile
       
   190 //-------------------------------------------------------------------------------
       
   191 //	
       
   192 TInt Ctestprofileutil::CreateDSProfileL( CStifItemParser& aItem )
       
   193 	{
       
   194 	TInt protocol = 0;
       
   195 	aItem.GetNextInt( protocol );
       
   196 	
       
   197 	iDSProfile.CreateL( iSyncSession );
       
   198 	iDSProfile.SetProtocolVersionL((TSmlProtocolVersion) protocol );
       
   199 	return KErrNone;
       
   200 	}
       
   201 	
       
   202 //------------------------------------------------------------------------------
       
   203 //CClientAPIAdvanced::CreateDSProfileL
       
   204 //sets the values for the remote ds profile
       
   205 //-------------------------------------------------------------------------------
       
   206 //	
       
   207 TInt Ctestprofileutil::SetRemoteDSProfileDataL( CStifItemParser& aItem )
       
   208 	{
       
   209 	 TInt nextId=0;
       
   210 	 aItem.GetNextInt(nextId);
       
   211 	 if(nextId==2)
       
   212 	 {
       
   213 		iDSProfile.SetCreatorId( KDSProfileCreatorId);
       
   214 		iDSProfile.SetDisplayNameL( KDSRemoteProfileDisplayName);
       
   215 		iDSProfile.SetUserNameL( KDSProfileUserName);
       
   216 		iDSProfile.SetPasswordL(  KDSProfilePassword);
       
   217     	iDSProfile.SetServerIdL( KDSProfileServerId);
       
   218 		iDSProfile.SetSanUserInteractionL( KDSProfileSAN );
       
   219 		iDSProfile.SetProtocolVersionL( KDSProfileProtocol );
       
   220 	 }
       
   221 
       
   222 	
       
   223 	return KErrNone;
       
   224 	}
       
   225 
       
   226 //------------------------------------------------------------------------------
       
   227 //Ctestprofileutil::ListProfilesL
       
   228 //list all the profiles and stores the profil-id in profiles list
       
   229 //-------------------------------------------------------------------------------
       
   230 //		
       
   231 void Ctestprofileutil::ListProfilesL( TSmlUsageType type )
       
   232 	{
       
   233 	TRAPD( err, iSyncSession.ListProfilesL( iProfiles, type ) );
       
   234 	if ( err == KErrNotSupported ) // ds sync not supported, use dummy values
       
   235 		{
       
   236 		iProfiles.Append( 1 );
       
   237 		}
       
   238 	}
       
   239 	
       
   240 
       
   241 //------------------------------------------------------------------------------
       
   242 //Ctestprofileutil::OpenDSProfileByIdL
       
   243 //opens the connection
       
   244 //-------------------------------------------------------------------------------
       
   245 //
       
   246 TInt Ctestprofileutil::OpenDSProfileByIdL( CStifItemParser& aItem )
       
   247 	{
       
   248 	TInt id = -2;
       
   249 	aItem.GetNextInt( id );
       
   250 	ListProfilesL( ESmlDataSync );
       
   251 	if ( id == -2 )
       
   252 		{
       
   253 		iDSProfile.OpenL( iSyncSession, iProfileId, ESmlOpenReadWrite );
       
   254 		}
       
   255 	else if (id==-1)
       
   256 	    {
       
   257 	     TSmlProfileId profileId;
       
   258 	     TInt i;
       
   259 	     for (i=0;i<iProfiles.Count() ;++i)
       
   260 	     {
       
   261 	       	
       
   262 	       profileId=OpenDSProfileByNameL(iProfiles[i]);
       
   263 	      if(profileId!=KErrNone)
       
   264 	       {
       
   265 	      	iDSProfile.OpenL( iSyncSession, profileId, ESmlOpenReadWrite );
       
   266 	      	break;
       
   267 	       }
       
   268 		    
       
   269 	     	
       
   270 	      }
       
   271 	     
       
   272 		}
       
   273 	else
       
   274 		{
       
   275 		iDSProfile.OpenL( iSyncSession, id, ESmlOpenReadWrite );
       
   276 		}
       
   277 	
       
   278 	return KErrNone;
       
   279 	}
       
   280 
       
   281 
       
   282 //------------------------------------------------------------------------------
       
   283 //converts the string
       
   284 //-------------------------------------------------------------------------------
       
   285 //    
       
   286     
       
   287  HBufC* StrConversion(const TDesC& aDefaultText)
       
   288 {
       
   289 	return aDefaultText.AllocLC();
       
   290 }
       
   291 
       
   292 
       
   293 //------------------------------------------------------------------------------
       
   294 //copies the string
       
   295 //-------------------------------------------------------------------------------
       
   296 //
       
   297 void StrCopy(TDes8& aTarget, const TDesC& aSource)
       
   298     {
       
   299 	TInt len = aTarget.MaxLength();
       
   300     if(len < aSource.Length()) 
       
   301 	    {
       
   302 		aTarget.Copy(aSource.Left(len));
       
   303 		return;
       
   304 	    }
       
   305 	aTarget.Copy(aSource);
       
   306     }
       
   307 	
       
   308 	
       
   309 void StrCopy(TDes& aTarget, const TDesC& aSource)
       
   310     {
       
   311 	TInt len = aTarget.MaxLength();
       
   312     if(len < aSource.Length()) 
       
   313 	    {
       
   314 		aTarget.Copy(aSource.Left(len));
       
   315 		return;
       
   316 	    }
       
   317 	aTarget.Copy(aSource);
       
   318     }
       
   319 
       
   320 //------------------------------------------------------------------------------
       
   321 //Ctestprofileutil::OpenDSProfileByNameL
       
   322 //opens the profile based on the id 
       
   323 //-------------------------------------------------------------------------------
       
   324 //	
       
   325 TSmlProfileId Ctestprofileutil::OpenDSProfileByNameL( TSmlProfileId aProfileId/*,TDesC& aProfilename */)
       
   326 	{
       
   327 	RSyncMLDataSyncProfile prof;
       
   328 	prof.OpenL( iSyncSession, aProfileId, ESmlOpenReadWrite );
       
   329     HBufC* hBuf=StrConversion(prof.DisplayName());
       
   330     TPtrC ptr=hBuf->Des();
       
   331 		   	  if(ptr.Compare(KDSRemoteProfileDisplayName) == 0	)
       
   332 		   	  {     
       
   333 		   	  		prof.Close();
       
   334 		   	  		CleanupStack::PopAndDestroy(hBuf);
       
   335 		   	  		return(aProfileId);
       
   336 		   	  }
       
   337 	prof.Close();
       
   338 	CleanupStack::PopAndDestroy(hBuf);
       
   339 	return KErrNone;
       
   340 	}
       
   341 
       
   342 
       
   343 
       
   344 //------------------------------------------------------------------------------
       
   345 //gets the Id corresponding to the Access point passed
       
   346 //-------------------------------------------------------------------------------
       
   347 //		
       
   348 	
       
   349 TInt AccessPointIdL(TDesC8& aBuf)
       
   350 {
       
   351 	CCommsDatabase *database = CCommsDatabase::NewL();
       
   352 	TUint32 aId ;
       
   353     TInt retVal;
       
   354     CleanupStack::PushL(database);
       
   355     CCommsDbTableView*  checkView;
       
   356     checkView = database->OpenViewMatchingTextLC(TPtrC(IAP),TPtrC(COMMDB_NAME), aBuf);
       
   357     TInt error = checkView->GotoFirstRecord();
       
   358     if (error == KErrNone)
       
   359         {
       
   360          //Get the IAP ID 
       
   361          checkView->ReadUintL(TPtrC(COMMDB_ID), aId);
       
   362          retVal = aId;
       
   363         }
       
   364            	
       
   365     CleanupStack::PopAndDestroy(2);    
       
   366     return retVal;     
       
   367 }
       
   368 //------------------------------------------------------------------------------
       
   369 //gets the connection property name
       
   370 //-------------------------------------------------------------------------------
       
   371 //	
       
   372 void GetConnectionPropertyNameL(RSyncMLSession &aSyncsession,TDes8& aText, TInt aPropertyPos)
       
   373 	{
       
   374 	//
       
   375 	// at the moment RSyncMLTransport is only needed for internet connection settings
       
   376 	//
       
   377 	RSyncMLTransport transport;
       
   378 	transport.OpenL(aSyncsession, KUidNSmlMediumTypeInternet.iUid);  // no ICP call
       
   379 	CleanupClosePushL(transport);
       
   380 	
       
   381 	const CSyncMLTransportPropertiesArray&  arr = transport.Properties();
       
   382 	
       
   383     //__ASSERT_DEBUG(arr.Count()>aPropertyPos, TUtil::Panic(KErrGeneral));
       
   384     	
       
   385 	const TSyncMLTransportPropertyInfo& info = arr.At(aPropertyPos);
       
   386 	aText = info.iName;
       
   387 	
       
   388 	CleanupStack::PopAndDestroy(&transport);
       
   389 	}	
       
   390 
       
   391 
       
   392 //------------------------------------------------------------------------------
       
   393 //Ctestprofileutil::UsageType
       
   394 //opens the connection
       
   395 //-------------------------------------------------------------------------------
       
   396 //
       
   397 TSmlUsageType Ctestprofileutil::UsageType( CStifItemParser& aItem )
       
   398 	{
       
   399 	TInt type = -1;
       
   400 	aItem.GetNextInt( type );
       
   401 	
       
   402 	switch ( type )
       
   403 		{
       
   404 		case 0:
       
   405 			return ESmlDataSync;
       
   406 			break;
       
   407 		case 1:
       
   408 			return ESmlDevMan;
       
   409 			break;
       
   410 		default:
       
   411 			User::Leave( KErrArgument );
       
   412 			break;
       
   413 		}
       
   414 		
       
   415 	return ESmlDataSync;
       
   416 	}
       
   417 
       
   418 
       
   419 
       
   420 	
       
   421 //------------------------------------------------------------------------------
       
   422 //CClientAPIAdvanced::SetConnectionProfileL
       
   423 //
       
   424 //-------------------------------------------------------------------------------
       
   425 //	
       
   426 void Ctestprofileutil::SetConnectionProfileL( CStifItemParser& aItem )
       
   427 	{
       
   428 	TSmlUsageType type = UsageType( aItem );
       
   429 	if ( type == ESmlDataSync ) 
       
   430 		iConnectionProfile = &iDSProfile;
       
   431 	else 
       
   432 		User::Leave( KErrArgument );
       
   433 	}
       
   434 	
       
   435 	
       
   436 //------------------------------------------------------------------------------
       
   437 //Ctestprofileutil::OpenConnectionL
       
   438 //opens the connection
       
   439 //-------------------------------------------------------------------------------
       
   440 //		
       
   441 	
       
   442 TInt Ctestprofileutil::OpenConnectionL( CStifItemParser& aItem )
       
   443 	{
       
   444 	
       
   445 ///	TInt type=-1;
       
   446 //	aItem.GetNextInt(type);
       
   447 	SetConnectionProfileL(aItem);
       
   448 	
       
   449 	RArray<TSmlTransportId> conns;
       
   450 	iConnectionProfile->ListConnectionsL( conns );
       
   451 	CleanupClosePushL( conns );
       
   452 	
       
   453 	iConnectionId = conns[0];
       
   454 	iConnection.OpenL( *iConnectionProfile, iConnectionId );
       
   455 
       
   456 	
       
   457 	CleanupStack::PopAndDestroy(); // conns
       
   458 	
       
   459 	return KErrNone;
       
   460 	}
       
   461 	
       
   462 
       
   463 //------------------------------------------------------------------------------
       
   464 //Ctestprofileutil::CreateConnectionL
       
   465 //opens the connection
       
   466 //-------------------------------------------------------------------------------
       
   467 //	
       
   468 
       
   469 TInt Ctestprofileutil::CreateConnectionL( CStifItemParser& aItem )
       
   470 	{
       
   471 		TInt id = 0;
       
   472 		TInt aIapId=0;
       
   473 		aItem.GetNextInt( id );
       
   474 		iConnectionId = id;
       
   475 
       
   476 		iConnection.CreateL( *iConnectionProfile, id );
       
   477 		iConnection.SetServerURIL(KDSProfileServerURL);
       
   478 		
       
   479 		
       
   480 	/*	TBuf<KBufSize32> buf;
       
   481 		TBuf8<KBufSize32> key;
       
   482 		TBuf8<KBufSize32> value;
       
   483 		TBuf8<KBufSize32> value2;
       
   484 		TBuf8<KBufSize32> value3;
       
   485 		_LIT(KDollar,"$");
       
   486 		TBuf<10> trial;
       
   487 		trial.Copy(_L(" "));
       
   488 
       
   489 		TPtrC string;
       
   490 		aItem.GetNextString ( string );
       
   491 		TInt pos=string.Find(KDollar);
       
   492 		StrCopy(value2,string);
       
   493 		StrCopy(value3,trial);
       
   494 		value2.Replace(pos,1,value3);
       
   495 		//get the id corresponding to the access point
       
   496 		//if the accesspoint has to be hardcoded in the code 
       
   497 		//	TBuf<10> test;
       
   498 		//	test.Copy(_L("AccessPointName"));
       
   499 		//	aItem.GetNextString(test);
       
   500 		//	aIapId=AccessPointIdL(string);
       
   501 		aIapId=AccessPointIdL(value2);
       
   502 
       
   503 		buf.Num(aIapId);
       
   504 		StrCopy(value, buf);
       
   505 		GetConnectionPropertyNameL(iSyncSession,key, TPropertyIntenetAccessPoint);
       
   506 		iConnection.SetPropertyL(key, value);*/
       
   507 
       
   508 		
       
   509 	    return KErrNone;
       
   510 	}
       
   511 
       
   512 
       
   513 //------------------------------------------------------------------------------
       
   514 //Ctestprofileutil::CreateTaskL
       
   515 //opens the connection
       
   516 //-------------------------------------------------------------------------------
       
   517 //	
       
   518 TInt Ctestprofileutil::CreateTaskL( CStifItemParser& aItem )
       
   519 	{
       
   520 	TInt dataProvider = 0;
       
   521 	aItem.GetNextInt( dataProvider );
       
   522 	
       
   523 	if ( dataProvider == 0 ) // not given as parameter, get from session
       
   524 		{
       
   525 		RArray<TSmlDataProviderId> adapters;
       
   526 		CleanupClosePushL( adapters );
       
   527 		iSyncSession.ListDataProvidersL( adapters );
       
   528 		dataProvider = adapters[0];
       
   529 		CleanupStack::PopAndDestroy(); // adapters
       
   530 		}
       
   531 	
       
   532 	iDataProviderId = dataProvider;
       
   533 	
       
   534 	iTask.CreateL( iDSProfile, dataProvider, KTaskServerDataSource, KTaskClientContactDataSource );
       
   535 	
       
   536 	return KErrNone;
       
   537 	}
       
   538 	
       
   539 //------------------------------------------------------------------------------
       
   540 //CClientAPIAdvanced::UpdateTaskL
       
   541 //opens the connection
       
   542 //-------------------------------------------------------------------------------
       
   543 //	
       
   544 TInt Ctestprofileutil::UpdateTaskL( CStifItemParser& /*aItem*/ )
       
   545 	{
       
   546 	iTask.UpdateL();
       
   547 	iTaskId = iTask.Identifier();
       
   548 	return KErrNone;
       
   549 	}	
       
   550 //------------------------------------------------------------------------------
       
   551 //Ctestprofileutil::UpdateConnectionL
       
   552 //opens the connection
       
   553 //-------------------------------------------------------------------------------
       
   554 //
       
   555 TInt Ctestprofileutil::UpdateConnectionL( CStifItemParser& /*aItem*/ )
       
   556 	{
       
   557 	iConnection.UpdateL();
       
   558 	return KErrNone;
       
   559 	}
       
   560 
       
   561 	
       
   562 //------------------------------------------------------------------------------
       
   563 //Ctestprofileutil::SetTaskDataL
       
   564 //opens the connection
       
   565 //-------------------------------------------------------------------------------
       
   566 //
       
   567 TInt Ctestprofileutil::SetTaskDataL( CStifItemParser& /*aItem*/ )
       
   568 	{
       
   569 	iTask.SetCreatorId( KTaskCreatorId );
       
   570 	iTask.SetEnabledL( KTaskEnabled );
       
   571 	return KErrNone;
       
   572 	}
       
   573 	
       
   574 //------------------------------------------------------------------------------
       
   575 //Ctestprofileutil::CloseTask
       
   576 //opens the connection
       
   577 //-------------------------------------------------------------------------------
       
   578 //
       
   579 TInt Ctestprofileutil::CloseTask( CStifItemParser& /*aItem*/ )
       
   580 	{
       
   581 	iTask.Close();
       
   582 	return KErrNone;
       
   583 	}
       
   584 
       
   585 //------------------------------------------------------------------------------
       
   586 //Ctestprofileutil::Closes Connection
       
   587 //opens the connection
       
   588 //-------------------------------------------------------------------------------
       
   589 //	
       
   590 TInt Ctestprofileutil::CloseConnection( CStifItemParser& /*aItem*/ )
       
   591 	{
       
   592 	iConnection.Close();
       
   593 	return KErrNone;
       
   594 	}
       
   595 	
       
   596 
       
   597 //------------------------------------------------------------------------------
       
   598 //Ctestprofileutil::CloseDSProfile
       
   599 //opens the connection
       
   600 //-------------------------------------------------------------------------------
       
   601 //
       
   602 TInt Ctestprofileutil::CloseDSProfile( CStifItemParser& /*aItem*/ )
       
   603 	{
       
   604 	iDSProfile.Close();
       
   605 	return KErrNone;
       
   606 	}
       
   607 
       
   608 //------------------------------------------------------------------------------
       
   609 //Ctestprofileutil::CloseSyncSession
       
   610 //opens the connection
       
   611 //-------------------------------------------------------------------------------
       
   612 //		
       
   613 TInt Ctestprofileutil::CloseSyncSession( CStifItemParser& /*aItem*/ )
       
   614 	{
       
   615 	iSyncSession.Close();
       
   616 	return KErrNone;
       
   617 	}
       
   618     
       
   619 
       
   620 //------------------------------------------------------------------------------
       
   621 //Ctestprofileutil::ReadSettingsDBL
       
   622 //Reads the profile settings from the DB
       
   623 //-------------------------------------------------------------------------------
       
   624 //		
       
   625 TInt Ctestprofileutil::ReadSettingsDBL( CStifItemParser& /*aItem*/ )
       
   626 {
       
   627 	
       
   628 		CNsmlProfileUtil* profileUtil = CNsmlProfileUtil::NewLC();	
       
   629 		profileUtil->InternalizeFromSettingsDBL(iProfileId);
       
   630 	    profileUtil->ExternalizeToCenrepL();
       
   631 	    
       
   632 	    CNsmlProfileUtil* profileUtil1 = CNsmlProfileUtil::NewLC();
       
   633 	    profileUtil1->InternalizeFromCenrepL();
       
   634 	    
       
   635 	    CNsmlProfileUtil* profileUtil2 = CNsmlProfileUtil::NewL();
       
   636 	    profileUtil2->InternalizeFromSettingsDBL(profileUtil1->ProfileId());
       
   637 	    TInt chk=profileUtil2->IsSame(*profileUtil1);
       
   638 	    
       
   639 	    if(!chk)
       
   640 	       User::Leave(KErrCorrupt);
       
   641 	    
       
   642 	    CleanupStack::PopAndDestroy(profileUtil1);
       
   643 	    CleanupStack::PopAndDestroy(profileUtil);
       
   644    
       
   645 
       
   646     	return KErrNone;
       
   647 }
       
   648 
       
   649 
       
   650 
       
   651 //------------------------------------------------------------------------------
       
   652 //Ctestprofileutil::ReadAndWriteCenrepKeysL
       
   653 //Read and writes the cenrep key value
       
   654 //-------------------------------------------------------------------------------
       
   655 //		
       
   656 TInt Ctestprofileutil::ReadAndWriteCenrepKeysL( CStifItemParser& /*aItem*/ )
       
   657 {
       
   658    	CNsmlProfileUtil* profileUtil = CNsmlProfileUtil::NewLC();
       
   659    	TBool chk;
       
   660    	profileUtil->WriteInterruptFlagL(-1);
       
   661    	profileUtil->IsValidResumeL(chk);
       
   662    	if(chk)
       
   663    	{
       
   664    		//try setting to otherthan -1
       
   665    		profileUtil->WriteInterruptFlagL(1);
       
   666    		profileUtil->IsValidResumeL(chk);
       
   667    		if(chk)
       
   668    		  User::Leave(KErrCorrupt);
       
   669    	}
       
   670    	else
       
   671    		User::Leave(KErrCorrupt);
       
   672    	 	
       
   673    	TInt accesspoint;
       
   674    	profileUtil->WriteAccessPointIdL(5);
       
   675    	profileUtil->AccessPointIdL(accesspoint);
       
   676    	if(accesspoint!=5)
       
   677    	   	User::Leave(KErrCorrupt);
       
   678    		   
       
   679    	CleanupStack::PopAndDestroy(profileUtil);
       
   680    	
       
   681    	return KErrNone;
       
   682 
       
   683 }
       
   684 //------------------------------------------------------------------------------
       
   685 //Ctestprofileutil::ReadAndWriteCenrepKeysL
       
   686 //Phone goes to OffLine mode
       
   687 //-------------------------------------------------------------------------------
       
   688 //		
       
   689 
       
   690 
       
   691 TInt Ctestprofileutil::OffLineL( CStifItemParser& /*aItem*/ )
       
   692 {
       
   693   iProfileEngine = CreateProfileEngineExtendedL();
       
   694   iProfileEngine->SetActiveProfileL( 5);	
       
   695   iProfileEngine->Release();
       
   696  
       
   697    	
       
   698    	return KErrNone;
       
   699 
       
   700 }
       
   701 
       
   702 //------------------------------------------------------------------------------
       
   703 //Ctestprofileutil::ReadAndWriteCenrepKeysL
       
   704 //Phone goes to General mode
       
   705 //-------------------------------------------------------------------------------
       
   706 //		
       
   707 
       
   708 
       
   709 TInt Ctestprofileutil::GeneralL( CStifItemParser& /*aItem*/ )
       
   710 {
       
   711   iProfileEngine = CreateProfileEngineExtendedL();
       
   712   iProfileEngine->SetActiveProfileL(0);	
       
   713   iProfileEngine->Release();
       
   714  
       
   715    	
       
   716    	return KErrNone;
       
   717 
       
   718 }
       
   719 
       
   720 
       
   721 //------------------------------------------------------------------------------
       
   722 //Ctestprofileutil::ReadAndWriteCenrepKeysL
       
   723 //Read and writes the cenrep key value
       
   724 //-------------------------------------------------------------------------------
       
   725 //		
       
   726 
       
   727 
       
   728 TInt Ctestprofileutil::SyncL( CStifItemParser& aItem )
       
   729 {
       
   730    	TInt param = 0;
       
   731 	aItem.GetNextInt( param );
       
   732 
       
   733     CSync *sync = CSync::NewL(param);
       
   734 
       
   735 	CActiveScheduler::Start();
       
   736 
       
   737    	return KErrNone;
       
   738 
       
   739 }
       
   740 
       
   741 //------------------------------------------------------------------------------
       
   742 //Ctestprofileutil::LaunchAutoRestartL
       
   743 //Launches the Auto-restart
       
   744 //-------------------------------------------------------------------------------
       
   745 //
       
   746 
       
   747 TInt Ctestprofileutil::LaunchAutoRestartL( CStifItemParser& aItem )
       
   748 {
       
   749 
       
   750   RProcess rp;
       
   751   TInt err = rp.Create(KNetMon,KNullDesC);
       
   752   User::LeaveIfError(err);
       
   753   rp.Resume();
       
   754      
       
   755   return KErrNone;	
       
   756 }
       
   757 // ========================== OTHER EXPORTED FUNCTIONS =========================
       
   758 // None
       
   759 
       
   760 
       
   761 //------------------------------------------------------------------------------
       
   762 //Ctestprofileutil::LaunchAutoRestartL
       
   763 //Launches the Auto-restart
       
   764 //-------------------------------------------------------------------------------
       
   765 //
       
   766 
       
   767 TInt Ctestprofileutil::CallDelay( CStifItemParser& aItem )
       
   768 {
       
   769 
       
   770   	User::After(1000);
       
   771 	return KErrNone;
       
   772      
       
   773 }
       
   774 //  [End of File] - Do not remove