sapi_sysinfo/tsrc/testing/tsysgeneral/src/tsysgeneralblocks.cpp
changeset 0 14df0fbfcc4e
equal deleted inserted replaced
-1:000000000000 0:14df0fbfcc4e
       
     1 /*
       
     2 * Copyright (c) 2002 - 2007 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:   Tests sysinfo general information 
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 // INCLUDE FILES
       
    22 #include <e32svr.h>
       
    23 #include <StifParser.h>
       
    24 #include <Stiftestinterface.h>
       
    25 #include "tsysgeneral.h"
       
    26 // EXTERNAL DATA STRUCTURES
       
    27 //extern  ?external_data;
       
    28 
       
    29 // EXTERNAL FUNCTION PROTOTYPES  
       
    30 //extern ?external_function( ?arg_type,?arg_type );
       
    31 
       
    32 // CONSTANTS
       
    33 //const ?type ?constant_var = ?constant;
       
    34 
       
    35 // MACROS
       
    36 //#define ?macro ?macro_def
       
    37 
       
    38 // LOCAL CONSTANTS AND MACROS
       
    39 //const ?type ?constant_var = ?constant;
       
    40 //#define ?macro_name ?macro_def
       
    41 
       
    42 // MODULE DATA STRUCTURES
       
    43 //enum ?declaration
       
    44 //typedef ?declaration
       
    45 
       
    46 // LOCAL FUNCTION PROTOTYPES
       
    47 //?type ?function_name( ?arg_type, ?arg_type );
       
    48 
       
    49 // FORWARD DECLARATIONS
       
    50 //class ?FORWARD_CLASSNAME;
       
    51 
       
    52 // ============================= LOCAL FUNCTIONS ===============================
       
    53 
       
    54 // -----------------------------------------------------------------------------
       
    55 // ?function_name ?description.
       
    56 // ?description
       
    57 // Returns: ?value_1: ?description
       
    58 //          ?value_n: ?description_line1
       
    59 //                    ?description_line2
       
    60 // -----------------------------------------------------------------------------
       
    61 //
       
    62 /*
       
    63 ?type ?function_name(
       
    64     ?arg_type arg,  // ?description
       
    65     ?arg_type arg)  // ?description
       
    66     {
       
    67 
       
    68     ?code  // ?comment
       
    69 
       
    70     // ?comment
       
    71     ?code
       
    72     }
       
    73 */
       
    74 
       
    75 // ============================ MEMBER FUNCTIONS ===============================
       
    76 
       
    77 // -----------------------------------------------------------------------------
       
    78 // Ctsysgeneral::Delete
       
    79 // Delete here all resources allocated and opened from test methods. 
       
    80 // Called from destructor. 
       
    81 // -----------------------------------------------------------------------------
       
    82 //
       
    83 void Ctsysgeneral::Delete() 
       
    84     {
       
    85 
       
    86     }
       
    87 // -----------------------------------------------------------------------------
       
    88 // Ctsysgeneral::RunMethodL
       
    89 // Run specified method. Contains also table of test mothods and their names.
       
    90 // -----------------------------------------------------------------------------
       
    91 //
       
    92 TInt Ctsysgeneral::RunMethodL( 
       
    93     CStifItemParser& aItem ) 
       
    94     {
       
    95 
       
    96     static TStifFunctionInfo const KFunctions[] =
       
    97         {  
       
    98         // Copy this line for every implemented function.
       
    99         // First string is the function name used in TestScripter script file.
       
   100         // Second is the actual implementation member function. 
       
   101         ENTRY( "GetDisplayLanguage", Ctsysgeneral::GetDisplayLanguage ),
       
   102         ENTRY( "SetWrongDataType", Ctsysgeneral::SetWrongDataType ),
       
   103         ENTRY( "SetAndGetInputLanguage", Ctsysgeneral::SetAndGetInputLanguage ),
       
   104         ENTRY( "SetAndGetPridictiveText", Ctsysgeneral::SetAndGetPridictiveText ),
       
   105         ENTRY( "SetAndGetVibraActive", Ctsysgeneral::SetAndGetVibraActive ),
       
   106      	ENTRY( "GetActiveUSBMode", Ctsysgeneral::GetActiveUSBMode ),
       
   107  		ENTRY( "GetAvblUSBMode", Ctsysgeneral::GetAvblUSBMode ),
       
   108         ENTRY( "AsyncGetinfoStatus", Ctsysgeneral::AsyncGetinfoStatus) ,
       
   109         ENTRY( "NotifyIpAndPredText", Ctsysgeneral::NotifyIpAndPredText) ,
       
   110         ENTRY( "SetWrongKey", Ctsysgeneral::SetWrongKey ),
       
   111         ENTRY( "SetWrongEntity", Ctsysgeneral::SetWrongEntity ),
       
   112         ENTRY( "GetWrongKey", Ctsysgeneral::GetWrongKey ),
       
   113         
       
   114         };
       
   115 
       
   116     const TInt count = sizeof( KFunctions ) / 
       
   117                         sizeof( TStifFunctionInfo );
       
   118 
       
   119     return RunInternalL( KFunctions, count, aItem );
       
   120 
       
   121     }
       
   122 
       
   123 // -----------------------------------------------------------------------------
       
   124 // Ctsysgeneral::GetDisplayLanguage
       
   125 // Test method for Get DisplayLanguage 
       
   126 // -----------------------------------------------------------------------------
       
   127 //
       
   128 TInt Ctsysgeneral::GetDisplayLanguage( CStifItemParser& aItem )
       
   129     {
       
   130 
       
   131     __UHEAP_MARK;
       
   132     
       
   133     _LIT(KEntity,"General") ;
       
   134     _LIT(KKey,"DisplayLanguage") ;
       
   135     
       
   136     TInt returnCode = KErrNone ;
       
   137     TInt expLanguage = 0 ;
       
   138     TInt expDataType = 0 ;
       
   139     aItem.GetNextInt (expLanguage) ;
       
   140     
       
   141     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   142     
       
   143     if( NULL == CoreObj)
       
   144 	    {
       
   145 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   146 	   	return KErrGeneral ;
       
   147 	   	}
       
   148 
       
   149     CSysData *sysData = NULL;
       
   150   	
       
   151     iLog->Log(_L8("DisplayLanguage : %d"),expLanguage) ;	
       
   152     TRAPD(leaveCode, CoreObj->GetInfoL(KEntity,KKey,sysData)) ;
       
   153     if(KErrNotFound != leaveCode)
       
   154 		{
       
   155 		iLog->Log( _L("Failed, Set Display language found ret err: %d"),leaveCode );
       
   156 		returnCode = KErrGeneral;
       
   157 		}
       
   158     else
       
   159     	{
       
   160     	returnCode = KErrNone ;
       
   161     	iLog->Log(_L8("P.. @TRAPD")) ;
       
   162     	}
       
   163 	
       
   164 	delete sysData ;    
       
   165     delete CoreObj ;
       
   166     __UHEAP_MARKEND ;
       
   167     return returnCode ;
       
   168 
       
   169     }
       
   170 
       
   171 
       
   172 
       
   173 
       
   174 // -----------------------------------------------------------------------------
       
   175 // Ctsysgeneral::SetWrongDataType
       
   176 // Test method for setting Wrong DataType 
       
   177 // -----------------------------------------------------------------------------
       
   178 //
       
   179 TInt Ctsysgeneral::SetWrongDataType( CStifItemParser& /*aItem*/ )
       
   180     {
       
   181 
       
   182     __UHEAP_MARK;
       
   183     
       
   184     _LIT(KEntity,"Display") ;
       
   185     _LIT(KKey,"Brightness") ;
       
   186     
       
   187     TInt returnCode = KErrNone ;
       
   188     
       
   189     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   190     
       
   191     if( NULL == CoreObj)
       
   192 	    {
       
   193 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   194 	   	return KErrGeneral ;
       
   195 	   	}
       
   196     
       
   197    	CStringData *sysData = CStringData::NewL(KEntity) ;
       
   198    	
       
   199 	TRAPD(leaveCode, CoreObj->SetInfoL(KEntity,KKey,sysData)) ;
       
   200     
       
   201     if(KErrArgument != leaveCode)
       
   202 	    {
       
   203 	   	returnCode = KErrGeneral ;
       
   204     	iLog->Log(_L8("Failed.. @TRAPD")) ;
       
   205     	}
       
   206     else
       
   207     	{
       
   208     	iLog->Log(_L8("Passed..")) ;
       
   209     	}
       
   210     
       
   211     delete sysData ;
       
   212     delete CoreObj ;
       
   213     
       
   214        
       
   215     __UHEAP_MARKEND ;
       
   216     return returnCode ;
       
   217 
       
   218     }
       
   219 
       
   220 
       
   221 
       
   222 // -----------------------------------------------------------------------------
       
   223 // Ctsysgeneral::SetAndGetInputLanguage
       
   224 // Test method for Setting and Getting InputLanguage 
       
   225 // -----------------------------------------------------------------------------
       
   226 //
       
   227 TInt Ctsysgeneral::SetAndGetInputLanguage( CStifItemParser& /*aItem*/ )
       
   228     {
       
   229 
       
   230     __UHEAP_MARK;
       
   231     
       
   232     _LIT(KEntity,"General") ;
       
   233     _LIT(KKey,"InputLanguage") ;
       
   234     _LIT(KLangListKey,"SupportedLanguages");
       
   235     
       
   236     TInt returnCode = KErrNone ;
       
   237     TInt expLanguage = 0 ;
       
   238     TInt expDataType = 0 ;
       
   239     TInt engLang = 1 ;
       
   240     //aItem.GetNextInt (expLanguage) ;             
       
   241     
       
   242     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   243     
       
   244     if( NULL == CoreObj)
       
   245 	    {
       
   246 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   247 	   	return KErrGeneral ;
       
   248 	   	}
       
   249 
       
   250 	TInt currLang = -1;	
       
   251 	
       
   252 	//get the list of lang's available on the system	
       
   253 	CSysData *sysData1 = NULL;		
       
   254 	TRAPD(leaveCode, CoreObj->GetInfoL(KEntity,KLangListKey,sysData1)) ;	   	
       
   255 	
       
   256 	
       
   257 	TInt langCount = 0;
       
   258 	
       
   259 	if(KErrNone == leaveCode)
       
   260 	{
       
   261 		//Get list of languages passed..
       
   262 		
       
   263 		CLanguageList *langListData = NULL;	        	  	    
       
   264 	    TInt retType = sysData1->DataType() ;
       
   265 	    if( CSysData::ELanguageList == retType )
       
   266 	    {
       
   267 	    	langListData = (CLanguageList*)sysData1 ;
       
   268 	    	langCount = langListData->Count();
       
   269 
       
   270 			if( langCount > 1 )
       
   271 			{	
       
   272 				//get current lang
       
   273 				CSysData *sysData = NULL;	    	   	    	       	
       
   274 				TRAPD(leaveCode1, CoreObj->GetInfoL(KEntity,KKey,sysData)) ;
       
   275 				if(KErrNone == leaveCode1)
       
   276 				{			       
       
   277 					TInt retType = sysData->DataType() ;
       
   278 		   
       
   279 					if(expDataType == retType)
       
   280 					{			      
       
   281 						CStatus *status = (CStatus*)sysData ;
       
   282 						currLang = status->Status();
       
   283 						//got the current language..
       
   284 						TInt i = 0,newLangCode = -1;
       
   285 						while( i < langCount )
       
   286 						{
       
   287 							langListData->At(i,newLangCode);
       
   288 							if( newLangCode != currLang )
       
   289 							{//we got a new supported lang
       
   290 								iLog->Log(_L8("New lang is %d"),newLangCode) ;
       
   291 								break;
       
   292 							}
       
   293 							i++;																	
       
   294 						}
       
   295 																			       	
       
   296 					   	CStatus *ipData = CStatus::NewL(newLangCode);
       
   297 					    TRAPD(leaveCode2, CoreObj->SetInfoL(KEntity,KKey,ipData));
       
   298 					    delete ipData;
       
   299 					    if(KErrNone == leaveCode2)
       
   300 					    {
       
   301 					    	CSysData *sysData3 = NULL;
       
   302 					 		TRAPD(leaveCode3, CoreObj->GetInfoL(KEntity,KKey,sysData3));
       
   303 					    	if(KErrNone == leaveCode3)
       
   304 						    {
       
   305 						    	TInt retType = sysData3->DataType() ;
       
   306 						    	TInt lang = -1;
       
   307 						    	if(expDataType == retType)
       
   308 								{
       
   309 									CStatus *status = (CStatus*)sysData3 ;
       
   310 									lang = status->Status();
       
   311 									if( lang == newLangCode )
       
   312 									{
       
   313 										returnCode = KErrNone;
       
   314 									}
       
   315 									else
       
   316 									{
       
   317 										returnCode = KErrGeneral;
       
   318 										iLog->Log(_L8("Failed.. Curr lang is @retType %d"),retType) ;
       
   319 									}									
       
   320 								}
       
   321 								else
       
   322 								{
       
   323 									returnCode = KErrGeneral ;	
       
   324 									iLog->Log(_L8("Failed.. Get Info @retType %d"),retType) ;
       
   325 								}
       
   326 						    }
       
   327 						    else
       
   328 						    {
       
   329 					    		returnCode = KErrGeneral ;	
       
   330 								iLog->Log(_L8("Failed..Get Lang @TrapD %d"),leaveCode3) ;					    							    	
       
   331 						    }
       
   332 						    if( sysData3 != NULL )
       
   333 						    {
       
   334 						    	delete sysData3;
       
   335 						    	sysData3 = NULL;
       
   336 						    }
       
   337 					    }
       
   338 					    else
       
   339 					    {
       
   340 					    	returnCode = KErrGeneral ;	
       
   341 							iLog->Log(_L8("Failed..Set Lang @TrapD %d"),leaveCode2) ;					    	
       
   342 					    }					    				    															
       
   343 	    			} 
       
   344 					else
       
   345 					{
       
   346 						returnCode = KErrGeneral ;	
       
   347 						iLog->Log(_L8("Failed.. @retType %d"),retType) ;
       
   348 					}    
       
   349 		   	
       
   350 		   			if(sysData)
       
   351 		   			{
       
   352 		   				delete sysData ;
       
   353 		   				sysData = NULL;	    
       
   354 		   			}
       
   355 						
       
   356 				}
       
   357 				else
       
   358 				{
       
   359 	   				returnCode = KErrGeneral ;
       
   360 	   				iLog->Log(_L8("Failed.. get current lang@2 TRAPD %d"),leaveCode1) ;
       
   361 				}
       
   362 			//lang count more than 1	
       
   363 			}
       
   364 			else
       
   365 			{
       
   366 				iLog->Log(_L8("There is only one lang"));				
       
   367 			}
       
   368 	    }
       
   369 	    else
       
   370 	    {
       
   371 			returnCode = KErrGeneral ;	
       
   372 			iLog->Log(_L8("Failed.. Get list of languages @retType %d"),retType) ;	    	
       
   373 
       
   374 	    }
       
   375 	    
       
   376 		if(langListData)
       
   377 		{
       
   378 			delete langListData ;
       
   379 		   	langListData = NULL;	    
       
   380 		}
       
   381 	//Get list of languages passed..	   	    
       
   382 	 }
       
   383 	 else
       
   384 	 {	 	
       
   385     	iLog->Log(_L8("LeaveCode : %d"),leaveCode) ;
       
   386     	iLog->Log(_L8("Failed getting lsit of languages.. @TRAPD %d"),leaveCode);
       
   387     	returnCode = KErrGeneral ;
       
   388 	 }	 	      	    	   	    	       		 	 
       
   389     
       
   390     //set lang back to English
       
   391     CStatus *defData = CStatus::NewL(engLang) ;   	
       
   392     CoreObj->SetInfoL(KEntity,KKey,defData) ;   
       
   393     delete defData ;
       
   394           
       
   395     delete CoreObj ;
       
   396     
       
   397        
       
   398     __UHEAP_MARKEND ;
       
   399     return returnCode ;
       
   400 
       
   401     }
       
   402 
       
   403 
       
   404 // -----------------------------------------------------------------------------
       
   405 // Ctsysgeneral::SetAndGetPridictiveText
       
   406 // Test method for setting and getting PridictiveText 
       
   407 // -----------------------------------------------------------------------------
       
   408 //
       
   409 TInt Ctsysgeneral::SetAndGetPridictiveText( CStifItemParser& aItem )
       
   410     {
       
   411 
       
   412     __UHEAP_MARK;
       
   413     
       
   414     _LIT(KEntity,"General") ;
       
   415     _LIT(KKey,"PredictiveText") ;
       
   416     
       
   417     TInt returnCode = KErrNone ;
       
   418     TInt expState = 0 ;
       
   419     TInt expDataType = 0 ;
       
   420     TInt defValue = 0 ;
       
   421     aItem.GetNextInt (expState) ;
       
   422     
       
   423     
       
   424     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   425     
       
   426     if( NULL == CoreObj)
       
   427 	    {
       
   428 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   429 	   	return KErrGeneral ;
       
   430 	   	}
       
   431     iLog->Log(_L8("PridictiveText : %d"),expState) ;
       
   432     
       
   433  	CStatus *ipData = CStatus::NewL(expState) ;
       
   434    	
       
   435     TRAPD(leaveCode, CoreObj->SetInfoL(KEntity,KKey,ipData)) ;
       
   436    
       
   437     
       
   438     if(KErrNone == leaveCode)
       
   439 	    {
       
   440 	        
       
   441 	    CSysData *sysData ;
       
   442 	   	
       
   443 	    TRAPD(leaveCode, CoreObj->GetInfoL(KEntity,KKey,sysData)) ;
       
   444 	    
       
   445 	    if(KErrNone == leaveCode)
       
   446 		    {
       
   447 		       
       
   448 		    TInt retType = sysData->DataType() ;
       
   449 		    
       
   450 		    if(expDataType == retType)
       
   451 			    {
       
   452 			      
       
   453 			    CStatus *status = (CStatus*)sysData ;
       
   454 			    TInt retStatus = status->Status() ;
       
   455 			    	   
       
   456 			    if(expState != retStatus)
       
   457 			    	{
       
   458 			        returnCode = KErrGeneral ; 
       
   459 			    	iLog->Log(_L8("Failed.. @retStatus")) ;
       
   460 			    	}
       
   461 			    else
       
   462 			    	{
       
   463 			    	iLog->Log(_L8("Passed..")) ;	
       
   464 			    	}
       
   465 			     }
       
   466 			    
       
   467 			else
       
   468 				{
       
   469 				returnCode = KErrGeneral ;	
       
   470 				iLog->Log(_L8("Failed.. @retType")) ;
       
   471 				}    
       
   472 		    
       
   473 		    delete sysData ;
       
   474 		    
       
   475 		    }
       
   476 	    else
       
   477 	    	{
       
   478 	    	returnCode = KErrGeneral ;
       
   479 	    	iLog->Log(_L8("Failed.. @2 TRAPD")) ;
       
   480 	    	}
       
   481 	     
       
   482     	}
       
   483     else
       
   484     	{
       
   485     	returnCode = KErrGeneral ;
       
   486     	iLog->Log(_L8("Failed.. @TRAPD leavecode: %d"),leaveCode) ;
       
   487     	}
       
   488     
       
   489     CStatus *defData = CStatus::NewL(defValue) ;
       
   490    	
       
   491     CoreObj->SetInfoL(KEntity,KKey,defData) ;
       
   492     
       
   493     delete defData ;
       
   494     delete ipData ;
       
   495     delete CoreObj ;
       
   496     
       
   497     __UHEAP_MARKEND ;
       
   498     return returnCode ;
       
   499 
       
   500     }
       
   501 
       
   502 
       
   503 // -----------------------------------------------------------------------------
       
   504 // Ctsysgeneral::SetAndGetVibraActive
       
   505 // Test method for setting and getting VibraActive 
       
   506 // -----------------------------------------------------------------------------
       
   507 //
       
   508 TInt Ctsysgeneral::SetAndGetVibraActive( CStifItemParser& aItem )
       
   509     {
       
   510 
       
   511     __UHEAP_MARK;
       
   512     
       
   513     _LIT(KEntity,"General") ;
       
   514     _LIT(KKey,"VibraActive") ;
       
   515     
       
   516     TInt returnCode = KErrNone ;
       
   517     TInt expState = 0 ;
       
   518     TInt expDataType = 0 ;
       
   519     TInt defValue = 0 ;
       
   520     aItem.GetNextInt (expState) ;
       
   521     
       
   522     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   523     
       
   524     if( NULL == CoreObj)
       
   525 	    {
       
   526 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   527 	   	return KErrGeneral ;
       
   528 	   	}
       
   529     
       
   530 
       
   531  	CStatus *ipData = CStatus::NewL(expState) ;
       
   532    	
       
   533     TRAPD(leaveCode, CoreObj->SetInfoL(KEntity,KKey,ipData)) ;
       
   534     
       
   535     if(KErrNone == leaveCode)
       
   536 	    {
       
   537 	    	
       
   538 	    CSysData *sysData ;
       
   539 	   	
       
   540 	   	iLog->Log(_L8("VibraActive : %d"),expState) ;	
       
   541 	    
       
   542 	    TRAPD(leaveCode, CoreObj->GetInfoL(KEntity,KKey,sysData)) ;
       
   543 	    if(KErrNone == leaveCode)
       
   544 		    {
       
   545 		       
       
   546 		    TInt retType = sysData->DataType() ;
       
   547 		    
       
   548 		    if(expDataType == retType)
       
   549 			    {
       
   550 			      
       
   551 			    CStatus *status = (CStatus*)sysData ;
       
   552 			    TInt retStatus = status->Status() ;
       
   553 			    	   
       
   554 			    if(expState != retStatus)
       
   555 			    	{
       
   556 			        returnCode = KErrGeneral ; 
       
   557 			    	iLog->Log(_L8("Failed.. @retStatus")) ;
       
   558 			    	}
       
   559 			    else
       
   560 			    	{
       
   561 			    	iLog->Log(_L8("Passed..")) ;	
       
   562 			    	}
       
   563 			    }
       
   564 			    
       
   565 			else
       
   566 				{
       
   567 				returnCode = KErrGeneral ;	
       
   568 				iLog->Log(_L8("Failed.. @retType")) ;
       
   569 				}    
       
   570 		    
       
   571 		    delete sysData ;
       
   572 		    
       
   573 		    }
       
   574 	    else
       
   575 	    	{
       
   576 	    	returnCode = KErrGeneral ;
       
   577 	    	iLog->Log(_L8("Failed.. @2TRAPD")) ;
       
   578 	    	}
       
   579     	}
       
   580    else
       
   581    		{
       
   582    		returnCode = KErrGeneral ;
       
   583     	iLog->Log(_L8("Failed.. @TRAPD")) ;	
       
   584    		} 
       
   585    
       
   586    CStatus *defData = CStatus::NewL(defValue) ;
       
   587    	
       
   588    CoreObj->SetInfoL(KEntity,KKey,defData) ;
       
   589     
       
   590     delete defData ;
       
   591     delete ipData ;
       
   592     delete CoreObj ;
       
   593     
       
   594     __UHEAP_MARKEND ;
       
   595     
       
   596     return returnCode ;
       
   597 
       
   598     }
       
   599 
       
   600 
       
   601 
       
   602 // -----------------------------------------------------------------------------
       
   603 // Ctsysgeneral::GetActiveUSBMode
       
   604 // Test method for getting ActiveUSBMode 
       
   605 // -----------------------------------------------------------------------------
       
   606 //
       
   607 TInt Ctsysgeneral::GetActiveUSBMode( CStifItemParser& /*aItem*/ )
       
   608     {
       
   609 
       
   610     __UHEAP_MARK;
       
   611     
       
   612     _LIT(KEntity,"General") ;
       
   613     _LIT(KKey,"ActiveUSBMode") ;
       
   614     _LIT(KexpMode, "PC Suite") ;
       
   615     TInt expDataType = 12 ;
       
   616     TInt returnCode = KErrNone ;
       
   617     TPtrC expDev(KexpMode) ; 
       
   618   //  aItem.GetNextString(expDev) ;   
       
   619     
       
   620     #if ( !(defined(__WINS__) || defined(__WINSCW__)) )
       
   621     
       
   622     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   623     
       
   624     if( NULL == CoreObj)
       
   625 	    {
       
   626 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   627 	   	return KErrGeneral ;
       
   628 	   	}
       
   629     
       
   630 
       
   631     CSysData *sysData ;
       
   632    	
       
   633    	
       
   634     
       
   635     TRAPD(leaveCode, CoreObj->GetInfoL(KEntity,KKey,sysData)) ;
       
   636     if(KErrNone == leaveCode)
       
   637 	    {
       
   638 	       
       
   639 	    TInt retType = sysData->DataType() ;
       
   640 	    
       
   641 	    if(expDataType == retType)
       
   642 		    {
       
   643 		      
       
   644 		    CStringData *retData = (CStringData*)sysData ;
       
   645 		    TPtrC retDev ;
       
   646 	    	
       
   647 	    	retData->StringData(retDev) ;
       
   648 		    TBuf<50> retDevice(retDev) ;
       
   649 		    iLog->Log(_L8("retPath")) ;		    	   
       
   650 		   	iLog->Log(retDevice) ;
       
   651 		   	iLog->Log(_L8("Passed..")) ; 	
       
   652 		   	
       
   653 		   	/*
       
   654 		   	if(expDev.Compare(retDev)) 
       
   655 		    	{
       
   656 		       	returnCode = KErrGeneral ; 
       
   657 		    	iLog->Log(_L8("Failed.. @retPath")) ;
       
   658 		        }
       
   659 		   	else
       
   660 		   		{
       
   661 		   		
       
   662 		       	iLog->Log(_L8("Passed..")) ; 
       
   663 		   		}
       
   664 		   	  */
       
   665 		     }
       
   666 		    
       
   667 		else
       
   668 			{
       
   669 			returnCode = KErrGeneral ;	
       
   670 			iLog->Log(_L8("Failed.. @retType")) ;
       
   671 			}    
       
   672 	    
       
   673 	    delete sysData ;
       
   674 	    
       
   675 	    }
       
   676     else
       
   677     	{
       
   678     	returnCode = KErrGeneral ;
       
   679     	iLog->Log(_L8("Failed.. @TRAPD")) ;
       
   680     	}
       
   681     delete CoreObj ;
       
   682   	
       
   683   	#endif
       
   684  
       
   685     __UHEAP_MARKEND ;
       
   686     
       
   687     return returnCode ;
       
   688 
       
   689     }
       
   690     
       
   691 
       
   692 
       
   693 // -----------------------------------------------------------------------------
       
   694 // Ctsysgeneral::GetAvblUSBMode
       
   695 // Test method for getting available USBMode 
       
   696 // -----------------------------------------------------------------------------
       
   697 //
       
   698 TInt Ctsysgeneral::GetAvblUSBMode( CStifItemParser& aItem )
       
   699     {
       
   700 
       
   701     __UHEAP_MARK;
       
   702     
       
   703     _LIT(KEntity,"General") ;
       
   704     _LIT(KKey,"AvailableUSBModes") ;
       
   705     
       
   706     TInt expDataType = 11 ;
       
   707     TInt returnCode = KErrNone ;
       
   708     TPtrC expDev ; 
       
   709     aItem.GetNextString(expDev) ;   
       
   710     
       
   711     #if ( !(defined(__WINS__) || defined(__WINSCW__)) )
       
   712     
       
   713     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   714     
       
   715     if( NULL == CoreObj)
       
   716 	    {
       
   717 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   718 	   	return KErrGeneral ;
       
   719 	   	}
       
   720     
       
   721 
       
   722     CSysData *sysData ;
       
   723    	
       
   724    	
       
   725     TRAPD(leaveCode, CoreObj->GetInfoL(KEntity,KKey,sysData)) ;
       
   726     if(KErrNone == leaveCode)
       
   727 	    {
       
   728 	       
       
   729 	    TInt retType = sysData->DataType() ;
       
   730 	    
       
   731 	    if(expDataType == retType)
       
   732 		    {
       
   733 		      
       
   734 		    CStringList *retData = (CStringList*)sysData ;
       
   735 		    TInt listCount ;
       
   736 		    listCount = retData->Count() ;
       
   737 		    
       
   738 		    if(listCount)
       
   739 			    {
       
   740 			    	
       
   741 			    for(TInt i=0; i<listCount; i++)
       
   742 				    {
       
   743 				    	
       
   744 				    TPtrC retDev ;
       
   745 			    	retData->At(i,retDev) ;
       
   746 				    TBuf<50> retDevice(retDev) ;
       
   747 				    iLog->Log(_L8("Available USB modes")) ;		    	   
       
   748 				    iLog->Log(retDevice) ;	
       
   749 				   	
       
   750 				   	}
       
   751 			    }
       
   752 		    
       
   753 		    else
       
   754 		    	{
       
   755 		    	returnCode = KErrGeneral ;
       
   756 		    	iLog->Log(_L8("empty list")) ;		    
       
   757 		    	}
       
   758 		     }
       
   759 		    
       
   760 		else
       
   761 			{
       
   762 			returnCode = KErrGeneral ;	
       
   763 			iLog->Log(_L8("Failed.. @retType")) ;
       
   764 			}    
       
   765 	    
       
   766 	    delete sysData ;
       
   767 	    
       
   768 	    }
       
   769     else
       
   770     	{
       
   771     	returnCode = KErrGeneral ;
       
   772     	iLog->Log(_L8("Failed.. @TRAPD")) ;
       
   773     	}
       
   774     delete CoreObj ;
       
   775  	
       
   776  	#endif
       
   777  	
       
   778     __UHEAP_MARKEND ;
       
   779     return returnCode ;
       
   780 
       
   781     }
       
   782         
       
   783         
       
   784 
       
   785 
       
   786 // -----------------------------------------------------------------------------
       
   787 // Ctsysgeneral::AsyncAccStatus
       
   788 // Test method for getting connected accessories 
       
   789 // -----------------------------------------------------------------------------
       
   790 //
       
   791 TInt Ctsysgeneral::AsyncGetinfoStatus( CStifItemParser& /*aItem*/ )
       
   792     {
       
   793 
       
   794     __UHEAP_MARK;
       
   795  
       
   796     TInt returnCode = KErrNone ;
       
   797    
       
   798     returnCode = TestAsyncStatus(iLog) ;
       
   799    
       
   800     __UHEAP_MARKEND ;
       
   801     return returnCode ;
       
   802 
       
   803     }
       
   804 
       
   805 
       
   806 // -----------------------------------------------------------------------------
       
   807 // Ctsysgeneral::NotifyIpAndPredText
       
   808 // Test method for getting notification for Input and predecitive text changes
       
   809 // -----------------------------------------------------------------------------
       
   810 //
       
   811 TInt Ctsysgeneral::NotifyIpAndPredText( CStifItemParser& /*aItem*/ )
       
   812     {
       
   813 
       
   814     __UHEAP_MARK;
       
   815  
       
   816     TInt returnCode = KErrNone ;
       
   817    
       
   818     returnCode = TestIpAndPredTextNot(iLog) ;
       
   819    
       
   820     __UHEAP_MARKEND ;
       
   821     return returnCode ;
       
   822 
       
   823     }
       
   824 
       
   825 
       
   826 // -----------------------------------------------------------------------------
       
   827 // Ctsysgeneral::SetWrongKey
       
   828 // Test method for setting Wrong Key 
       
   829 // -----------------------------------------------------------------------------
       
   830 //
       
   831 TInt Ctsysgeneral::SetWrongKey( CStifItemParser& /*aItem*/ )
       
   832     {
       
   833 
       
   834     __UHEAP_MARK;
       
   835     
       
   836     _LIT(KEntity,"General") ;
       
   837     _LIT(KKey,"DisplayLanguagee") ;
       
   838     TInt expState = 1 ;
       
   839     TInt returnCode = KErrNone ;
       
   840     
       
   841     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   842     
       
   843     if( NULL == CoreObj)
       
   844 	    {
       
   845 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   846 	   	return KErrGeneral ;
       
   847 	   	}
       
   848     
       
   849    	CStatus *ipData = CStatus::NewL(expState) ;
       
   850    	
       
   851     TRAPD(leaveCode, CoreObj->SetInfoL(KEntity,KKey,ipData)) ;
       
   852     
       
   853     
       
   854     if(KErrNotFound != leaveCode)
       
   855 	    {
       
   856 	   	returnCode = KErrGeneral ;
       
   857     	iLog->Log(_L8("Failed.. @TRAPD")) ;
       
   858     	}
       
   859     else
       
   860     	{
       
   861     	iLog->Log(_L8("Passed..")) ;
       
   862     	}
       
   863     
       
   864     delete ipData ;
       
   865     delete CoreObj ;
       
   866     
       
   867        
       
   868     __UHEAP_MARKEND ;
       
   869     return returnCode ;
       
   870 
       
   871     }
       
   872     
       
   873 
       
   874 // -----------------------------------------------------------------------------
       
   875 // Ctsysgeneral::SetWrongEntity
       
   876 // Test method for setting Wrong Entity 
       
   877 // -----------------------------------------------------------------------------
       
   878 //
       
   879 TInt Ctsysgeneral::SetWrongEntity( CStifItemParser& /*aItem*/ )
       
   880     {
       
   881 
       
   882     __UHEAP_MARK;
       
   883     
       
   884     _LIT(KEntity,"Genral") ;
       
   885     _LIT(KKey,"DisplayLanguagee") ;
       
   886     TInt expState = 1 ;
       
   887     TInt returnCode = KErrNone ;
       
   888     
       
   889     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   890     
       
   891     if( NULL == CoreObj)
       
   892 	    {
       
   893 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   894 	   	return KErrGeneral ;
       
   895 	   	}
       
   896     
       
   897    	CStatus *ipData = CStatus::NewL(expState) ;
       
   898    	
       
   899     TRAPD(leaveCode, CoreObj->SetInfoL(KEntity,KKey,ipData)) ;
       
   900     
       
   901     
       
   902     if(KErrNotFound != leaveCode)
       
   903 	    {
       
   904 	   	returnCode = KErrGeneral ;
       
   905     	iLog->Log(_L8("Failed.. @TRAPD")) ;
       
   906     	}
       
   907     else
       
   908     	{
       
   909     	iLog->Log(_L8("Passed..")) ;
       
   910     	}
       
   911     
       
   912     delete ipData ;
       
   913     delete CoreObj ;
       
   914     
       
   915        
       
   916     __UHEAP_MARKEND ;
       
   917     return returnCode ;
       
   918 
       
   919     }
       
   920     
       
   921     
       
   922     
       
   923 // -----------------------------------------------------------------------------
       
   924 // Ctsysgeneral::GetWrongKey
       
   925 // Test method for Getinfo with wrong key valye
       
   926 // -----------------------------------------------------------------------------
       
   927 //
       
   928 TInt Ctsysgeneral::GetWrongKey( CStifItemParser& /*aItem*/ )
       
   929     {
       
   930 
       
   931     __UHEAP_MARK;
       
   932     
       
   933     _LIT(KEntity,"General") ;
       
   934     _LIT(KKey,"ActiveUSBModde") ;
       
   935         
       
   936     TInt returnCode = KErrNone ;
       
   937     
       
   938     CSysInfoService *CoreObj = CSysInfoService :: NewL() ;
       
   939     
       
   940     if( NULL == CoreObj)
       
   941 	    {
       
   942 	    iLog->Log(_L8("Failed.. @Core")) ;
       
   943 	   	return KErrGeneral ;
       
   944 	   	}
       
   945     
       
   946 
       
   947     CSysData *sysData ;
       
   948  
       
   949     TRAPD(leaveCode, CoreObj->GetInfoL(KEntity,KKey,sysData)) ;
       
   950     
       
   951     if(KErrNotFound != leaveCode)
       
   952 	    {
       
   953 	   	returnCode = KErrGeneral ;
       
   954     	iLog->Log(_L8("Failed.. @TRAPD")) ;
       
   955     	}
       
   956     else
       
   957     	{
       
   958     	iLog->Log(_L8("Passed..")) ;
       
   959     	}
       
   960     
       
   961     delete CoreObj ;
       
   962  
       
   963     __UHEAP_MARKEND ;
       
   964     return returnCode ;
       
   965 
       
   966     }
       
   967     
       
   968 // -----------------------------------------------------------------------------
       
   969 // Ctsysgeneral::?member_function
       
   970 // ?implementation_description
       
   971 // (other items were commented in a header).
       
   972 // -----------------------------------------------------------------------------
       
   973 //
       
   974 /*
       
   975 TInt Ctsysgeneral::?member_function(
       
   976    CItemParser& aItem )
       
   977    {
       
   978 
       
   979    ?code
       
   980 
       
   981    }
       
   982 */
       
   983 
       
   984 // ========================== OTHER EXPORTED FUNCTIONS =========================
       
   985 // None
       
   986 
       
   987 //  End of File