videofeeds/server/tsrc/VCXServiceTest/src/VCXServiceTestBlocks.cpp
changeset 0 96612d01cf9f
equal deleted inserted replaced
-1:000000000000 0:96612d01cf9f
       
     1 /*
       
     2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   ?Description*
       
    15 */
       
    16 
       
    17 
       
    18 
       
    19 
       
    20 // INCLUDE FILES
       
    21 #include <e32svr.h>
       
    22 #include <StifParser.h>
       
    23 #include <Stiftestinterface.h>
       
    24 #include "VCXServiceTest.h"
       
    25 
       
    26 #include "VCXTestLog.h"
       
    27 #include "CIptvUtil.h"
       
    28 
       
    29 #include "CIptvService.h"
       
    30 #include "CIptvServices.h"
       
    31 
       
    32 // EXTERNAL DATA STRUCTURES
       
    33 //extern  ?external_data;
       
    34 
       
    35 // EXTERNAL FUNCTION PROTOTYPES
       
    36 //extern ?external_function( ?arg_type,?arg_type );
       
    37 
       
    38 // CONSTANTS
       
    39 //const ?type ?constant_var = ?constant;
       
    40 
       
    41 _LIT( KSpace, " " );
       
    42 const TInt KIptvTestMaxTextLength	= 2048;
       
    43 
       
    44 
       
    45 // MACROS
       
    46 //#define ?macro ?macro_def
       
    47 
       
    48 // LOCAL CONSTANTS AND MACROS
       
    49 //const ?type ?constant_var = ?constant;
       
    50 //#define ?macro_name ?macro_def
       
    51 
       
    52 // MODULE DATA STRUCTURES
       
    53 //enum ?declaration
       
    54 //typedef ?declaration
       
    55 
       
    56 // LOCAL FUNCTION PROTOTYPES
       
    57 //?type ?function_name( ?arg_type, ?arg_type );
       
    58 
       
    59 // FORWARD DECLARATIONS
       
    60 //class ?FORWARD_CLASSNAME;
       
    61 
       
    62 // ============================= LOCAL FUNCTIONS ===============================
       
    63 
       
    64 // -----------------------------------------------------------------------------
       
    65 // ?function_name ?description.
       
    66 // ?description
       
    67 // Returns: ?value_1: ?description
       
    68 //          ?value_n: ?description_line1
       
    69 //                    ?description_line2
       
    70 // -----------------------------------------------------------------------------
       
    71 //
       
    72 /*
       
    73 ?type ?function_name(
       
    74     ?arg_type arg,  // ?description
       
    75     ?arg_type arg)  // ?description
       
    76     {
       
    77 
       
    78     ?code  // ?comment
       
    79 
       
    80     // ?comment
       
    81     ?code
       
    82     }
       
    83 */
       
    84 
       
    85 // ============================ MEMBER FUNCTIONS ===============================
       
    86 
       
    87 // -----------------------------------------------------------------------------
       
    88 // CIptvServiceTest::Delete
       
    89 // Delete here all resources allocated and opened from test methods.
       
    90 // Called from destructor.
       
    91 // -----------------------------------------------------------------------------
       
    92 //
       
    93 void CIptvServiceTest::Delete()
       
    94     {
       
    95 	if(iService)
       
    96 		{
       
    97 		delete iService;
       
    98 		iService = NULL;
       
    99 		}
       
   100 
       
   101 	if(iBuff)
       
   102 		{
       
   103 		delete iBuff;
       
   104 		iBuff = NULL;
       
   105 		}
       
   106 
       
   107 	if(iServices)
       
   108 		{
       
   109 		delete iServices;
       
   110 		iServices = NULL;
       
   111 		}
       
   112 
       
   113 	if(iServicesBuff)
       
   114 		{
       
   115 		delete iServicesBuff;
       
   116 		iServicesBuff = NULL;
       
   117 		}
       
   118 	
       
   119     }
       
   120 
       
   121 // -----------------------------------------------------------------------------
       
   122 // CIptvServiceTest::RunMethodL
       
   123 // Run specified method. Contains also table of test mothods and their names.
       
   124 // -----------------------------------------------------------------------------
       
   125 //
       
   126 TInt CIptvServiceTest::RunMethodL(
       
   127     CStifItemParser& aItem )
       
   128     {
       
   129 
       
   130     static TStifFunctionInfo const KFunctions[] =
       
   131         {
       
   132         // Copy this line for every implemented function.
       
   133         // First string is the function name used in TestScripter script file.
       
   134         // Second is the actual implementation member function.
       
   135         ENTRY( "CreateService", CIptvServiceTest::CreateServiceL ),
       
   136         ENTRY( "DestroyService", CIptvServiceTest::DestroyServiceL ),
       
   137         ENTRY( "SetId", CIptvServiceTest::SetIdL ),
       
   138         ENTRY( "SetName", CIptvServiceTest::SetNameL ),
       
   139         ENTRY( "SetAddress", CIptvServiceTest::SetAddressL ),
       
   140         ENTRY( "SetIconPath", CIptvServiceTest::SetIconPathL ),
       
   141         ENTRY( "SetEpgPluginUid", CIptvServiceTest::SetEpgPluginUidL ),
       
   142         ENTRY( "SetVodPluginUid", CIptvServiceTest::SetVodPluginUidL ),
       
   143         ENTRY( "SetIptvPluginUid", CIptvServiceTest::SetIptvPluginUidL ),
       
   144         ENTRY( "SetType", CIptvServiceTest::SetTypeL ),
       
   145 		ENTRY( "CreateIapList", CIptvServiceTest::CreateIapListL ),
       
   146 		ENTRY( "CheckIapList", CIptvServiceTest::CheckIapListL ),
       
   147         ENTRY( "SetUserName", CIptvServiceTest::SetUserNameL ),
       
   148         ENTRY( "SetPassword", CIptvServiceTest::SetPasswordL ),
       
   149         ENTRY( "SetDesc", CIptvServiceTest::SetDescL ),
       
   150         ENTRY( "SetFlags", CIptvServiceTest::SetFlagsL ),
       
   151         ENTRY( "SetApplicationUid", CIptvServiceTest::SetApplicationUidL ),
       
   152         ENTRY( "SetDisplayOrder", CIptvServiceTest::SetDisplayOrderL ),
       
   153         ENTRY( "SetProviderId", CIptvServiceTest::SetProviderIdL ),
       
   154         ENTRY( "SetAccountManagementUrl", CIptvServiceTest::SetAccountManagementUrlL ),
       
   155         ENTRY( "DoExternalize", CIptvServiceTest::DoExternalizeL),
       
   156         ENTRY( "DoInternalize", CIptvServiceTest::DoInternalizeL ),
       
   157         ENTRY( "SetL", CIptvServiceTest::SetL ),
       
   158 
       
   159         ENTRY( "CreateServices", CIptvServiceTest::CreateServicesL ),
       
   160         ENTRY( "DestroyServices", CIptvServiceTest::DestroyServicesL ),
       
   161         ENTRY( "ServicesAdd", CIptvServiceTest::ServicesAddL ),
       
   162         ENTRY( "ServicesCount", CIptvServiceTest::ServicesCountL ),
       
   163         ENTRY( "ServicesInternalize", CIptvServiceTest::ServicesInternalizeL ),
       
   164         ENTRY( "ServicesExternalize", CIptvServiceTest::ServicesExternalizeL ),
       
   165         ENTRY( "ServicesGetService", CIptvServiceTest::ServicesGetServiceL ),
       
   166         ENTRY( "ServicesGetServiceByRef", CIptvServiceTest::ServicesGetServiceByRefL ),
       
   167 
       
   168         };
       
   169 
       
   170     const TInt count = sizeof( KFunctions ) /
       
   171                         sizeof( TStifFunctionInfo );
       
   172 
       
   173     return RunInternalL( KFunctions, count, aItem );
       
   174 
       
   175     }
       
   176 
       
   177 // -----------------------------------------------------------------------------
       
   178 // CIptvServiceTest::CreateServiceL
       
   179 // CreateServiceL test method function.
       
   180 // (other items were commented in a header).
       
   181 // -----------------------------------------------------------------------------
       
   182 //
       
   183 TInt CIptvServiceTest::CreateServiceL( CStifItemParser& /* aItem */ )
       
   184     {
       
   185     VCXLOGLO1(">>>CIptvServiceTest::CreateServiceL");
       
   186     // Print to UI
       
   187     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   188     _LIT( KWhere, "In CreateServiceL" );
       
   189     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   190     // Print to log file
       
   191     iLog->Log( KWhere );
       
   192 
       
   193 	TInt err = KErrNone;
       
   194 
       
   195     TRAP( err, iService = CIptvService::NewL() );
       
   196 
       
   197     if(err != KErrNone)
       
   198         {
       
   199         VCXLOGLO1("CIptvServiceTest::CreateServiceL: creating instance failed!");
       
   200 		VCXLOGLO1("<<<CIptvServiceTest::CreateServiceL");
       
   201         }
       
   202 
       
   203 	VCXLOGLO1("<<<CIptvServiceTest::CreateServiceL");
       
   204     return err;
       
   205     }
       
   206 
       
   207 
       
   208 // -----------------------------------------------------------------------------
       
   209 // CIptvServiceTest::DestroyServiceL
       
   210 // DestroyServiceL test method function.
       
   211 // (other items were commented in a header).
       
   212 // -----------------------------------------------------------------------------
       
   213 //
       
   214 TInt CIptvServiceTest::DestroyServiceL( CStifItemParser& /* aItem */ )
       
   215     {
       
   216     VCXLOGLO1(">>>CIptvServiceTest::DestroyServiceL");
       
   217     // Print to UI
       
   218     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   219     _LIT( KWhere, "In DestroyServiceL" );
       
   220     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   221     // Print to log file
       
   222     iLog->Log( KWhere );
       
   223 
       
   224     TInt err = KErrNone;
       
   225 
       
   226 	if(iService)
       
   227 		{
       
   228 		delete iService;
       
   229 		iService = NULL;
       
   230 		}
       
   231 
       
   232 	VCXLOGLO1("<<<CIptvServiceTest::DestroyServiceL");
       
   233     return err;
       
   234     }
       
   235 
       
   236 
       
   237 
       
   238 // -----------------------------------------------------------------------------
       
   239 // CIptvServiceTest::SetIdL
       
   240 // SetIdL test method function.
       
   241 // (other items were commented in a header).
       
   242 // -----------------------------------------------------------------------------
       
   243 //
       
   244 TInt CIptvServiceTest::SetIdL( CStifItemParser& aItem )
       
   245     {
       
   246     VCXLOGLO1(">>>CIptvServiceTest::SetIdL");
       
   247     // Print to UI
       
   248     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   249     _LIT( KWhere, "In SetIdL" );
       
   250     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   251     // Print to log file
       
   252     iLog->Log( KWhere );
       
   253 
       
   254 	TInt err = KErrNone;
       
   255 
       
   256 // get params
       
   257 	TInt id;
       
   258 
       
   259     if(aItem.GetNextInt(id) == KErrNone)
       
   260         {
       
   261         VCXLOGLO2("CIptvServiceTest::SetIdL: param id = %d", id);
       
   262         }
       
   263     else
       
   264         {
       
   265         VCXLOGLO1("CIptvServiceTest::SetIdL: reading id parameter failed");
       
   266         iLog->Log(_L("Reading id parameter failed"));
       
   267         VCXLOGLO1("<<<CIptvServiceTest::SetIdL");
       
   268         return KErrArgument;
       
   269         }
       
   270 
       
   271 // do stuff
       
   272         /**
       
   273          * Sets service unique ID.
       
   274          * @since
       
   275          * @param aId unique id.
       
   276          */
       
   277         //IMPORT_C void SetId(TUint32 aId);
       
   278 
       
   279 	iService->SetId(id);
       
   280 
       
   281 // verify results
       
   282 
       
   283 	if(iService->GetId() != id)
       
   284 		{
       
   285         VCXLOGLO1("CIptvServiceTest::SetIdL: GetId returned wrong value");
       
   286         iLog->Log(_L("GetId returned wrong value"));
       
   287         VCXLOGLO1("<<<CIptvServiceTest::SetIdL");
       
   288         return KErrCorrupt;
       
   289 		}
       
   290 
       
   291 
       
   292 	VCXLOGLO1("<<<CIptvServiceTest::SetIdL");
       
   293     return err;
       
   294 
       
   295     }
       
   296 
       
   297 
       
   298 // -----------------------------------------------------------------------------
       
   299 // CIptvServiceTest::SetNameL
       
   300 // SetNameL test method function.
       
   301 // (other items were commented in a header).
       
   302 // -----------------------------------------------------------------------------
       
   303 //
       
   304 TInt CIptvServiceTest::SetNameL( CStifItemParser& aItem )
       
   305     {
       
   306     VCXLOGLO1(">>>CIptvServiceTest::SetNameL");
       
   307     // Print to UI
       
   308     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   309     _LIT( KWhere, "In SetNameL" );
       
   310     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   311     // Print to log file
       
   312     iLog->Log( KWhere );
       
   313 
       
   314 
       
   315 	TInt err = KErrNone;
       
   316 
       
   317 // get params
       
   318 	TPtrC string;
       
   319 
       
   320 	TBuf<KIptvTestMaxTextLength> param;
       
   321 
       
   322 	if(aItem.GetNextString(string) == KErrNone)
       
   323         {
       
   324 
       
   325         param.Format(string);
       
   326         while(aItem.GetNextString(string) == KErrNone)
       
   327         	{
       
   328 			if(param.Length() + string.Length() + 1 >= KIptvTestMaxTextLength)
       
   329 				{
       
   330 				VCXLOGLO1("CIptvServiceTest::SetNameL: parameter name too long, rest of the text ignored");
       
   331 				break;
       
   332 				}
       
   333 			param.Append(KSpace);
       
   334 	        param.Append(string);
       
   335         	}
       
   336 
       
   337         VCXLOGLO1("CIptvServiceTest::SetNameL: parameter name read");
       
   338         //IPTV_LOG_STR_DESC_HIGH_LEVEL(param);
       
   339         }
       
   340     else
       
   341         {
       
   342         VCXLOGLO1("CIptvServiceTest::SetNameL: reading name parameter failed");
       
   343         iLog->Log(_L("Reading name parameter failed"));
       
   344         VCXLOGLO1("<<<CIptvServiceTest::SetNameL");
       
   345         return KErrArgument;
       
   346         }
       
   347 
       
   348 // do stuff
       
   349 /**
       
   350          * Sets the service name, KIptvSmServicesDbNameMaxLength is the max length.
       
   351          * @since
       
   352          * @param aName Name of the service
       
   353          * @return System wide error code.
       
   354          */
       
   355         //IMPORT_C TInt SetName(const TDesC16& aName);
       
   356 
       
   357 	err = iService->SetName(param);
       
   358 
       
   359 	if(err != KErrNone)
       
   360 		{
       
   361         VCXLOGLO1("CIptvServiceTest::SetNameL: SetName returned error");
       
   362         iLog->Log(_L("SetName returned error"));
       
   363         VCXLOGLO1("<<<CIptvServiceTest::SetNameL");
       
   364         return err;
       
   365 		}
       
   366 
       
   367 // verify results
       
   368 
       
   369 	if(param.Compare( iService->GetName() ) != 0)
       
   370 		{
       
   371         VCXLOGLO1("CIptvServiceTest::SetNameL: GetName returned wrong value");
       
   372         iLog->Log(_L("GetName returned wrong value"));
       
   373         VCXLOGLO1("<<<CIptvServiceTest::SetNameL");
       
   374         return KErrCorrupt;
       
   375 		}
       
   376 
       
   377 	VCXLOGLO1("<<<CIptvServiceTest::SetNameL");
       
   378     return err;
       
   379 
       
   380     }
       
   381 
       
   382 
       
   383 // -----------------------------------------------------------------------------
       
   384 // CIptvServiceTest::SetAddressL
       
   385 // SetAddressL test method function.
       
   386 // (other items were commented in a header).
       
   387 // -----------------------------------------------------------------------------
       
   388 //
       
   389 TInt CIptvServiceTest::SetAddressL( CStifItemParser& aItem )
       
   390     {
       
   391     VCXLOGLO1(">>>CIptvServiceTest::SetAddressL");
       
   392     // Print to UI
       
   393     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   394     _LIT( KWhere, "In SetAddressL" );
       
   395     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   396     // Print to log file
       
   397     iLog->Log( KWhere );
       
   398 
       
   399     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   400 
       
   401 
       
   402 	TInt err = KErrNone;
       
   403 
       
   404 // get params
       
   405 	TPtrC string;
       
   406 
       
   407 	TBuf<KIptvTestMaxTextLength> param;
       
   408 
       
   409 	if(aItem.GetNextString(string) == KErrNone)
       
   410         {
       
   411         param.Format(string);
       
   412         VCXLOGLO1("CIptvServiceTest::SetAddressL: parameter address read");
       
   413         //IPTV_LOG_STR_DESC_HIGH_LEVEL(param);
       
   414         }
       
   415     else
       
   416         {
       
   417         VCXLOGLO1("CIptvServiceTest::SetAddressL: reading address parameter failed");
       
   418         iLog->Log(_L("Reading address parameter failed"));
       
   419         VCXLOGLO1("<<<CIptvServiceTest::SetAddressL");
       
   420         return KErrArgument;
       
   421         }
       
   422 
       
   423 // do stuff
       
   424         /**
       
   425         * Sets the service address, KIptvSmServicesDbAddressMaxLength
       
   426         * (defined in CIptvUtil.h) is the max length in bytes.
       
   427         * @since
       
   428         * @param aAddress The address of the service
       
   429         * @return System wide error code.
       
   430         */
       
   431         //IMPORT_C TInt SetAddress(const TDesC16& aAddress);
       
   432 
       
   433 	err = iService->SetAddress(param);
       
   434 	VCXLOGLO2("CIptvServiceTest::SetAddressL: param length: %d", param.Length());
       
   435 
       
   436 	if(err != KErrNone)
       
   437 		{
       
   438         VCXLOGLO1("CIptvServiceTest::SetAddressL: SetAddress returned error");
       
   439         iLog->Log(_L("SetAddress returned error"));
       
   440         VCXLOGLO1("<<<CIptvServiceTest::SetAddressL");
       
   441         return err;
       
   442 		}
       
   443 
       
   444 // verify results
       
   445 
       
   446 	if(param.Compare( iService->GetAddress() ) != 0)
       
   447 		{
       
   448         VCXLOGLO1("CIptvServiceTest::SetAddressL: GetAddress returned wrong value");
       
   449         iLog->Log(_L("GetAddress returned wrong value"));
       
   450         VCXLOGLO1("<<<CIptvServiceTest::SetAddressL");
       
   451         return KErrCorrupt;
       
   452 		}
       
   453 
       
   454 	VCXLOGLO1("<<<CIptvServiceTest::SetAddressL");
       
   455     return err;
       
   456 
       
   457     }
       
   458 
       
   459 
       
   460 // -----------------------------------------------------------------------------
       
   461 // CIptvServiceTest::SetIconPathL
       
   462 // SetIconPathL test method function.
       
   463 // (other items were commented in a header).
       
   464 // -----------------------------------------------------------------------------
       
   465 //
       
   466 TInt CIptvServiceTest::SetIconPathL( CStifItemParser& aItem )
       
   467     {
       
   468     VCXLOGLO1(">>>CIptvServiceTest::SetIconPathL");
       
   469     // Print to UI
       
   470     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   471     _LIT( KWhere, "In SetIconPathL" );
       
   472     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   473     // Print to log file
       
   474     iLog->Log( KWhere );
       
   475 
       
   476 
       
   477 	TInt err = KErrNone;
       
   478 
       
   479 // get params
       
   480 	TPtrC string;
       
   481 
       
   482 	TBuf<KIptvTestMaxTextLength> param;
       
   483 
       
   484 	if(aItem.GetNextString(string) == KErrNone)
       
   485         {
       
   486         param.Format(string);
       
   487         VCXLOGLO1("CIptvServiceTest::SetIconPathL: parameter path read");
       
   488         //IPTV_LOG_STR_DESC_HIGH_LEVEL(param);
       
   489         }
       
   490     else
       
   491         {
       
   492         VCXLOGLO1("CIptvServiceTest::SetIconPathL: reading path parameter failed");
       
   493         iLog->Log(_L("Reading path parameter failed"));
       
   494         VCXLOGLO1("<<<CIptvServiceTest::SetIconPathL");
       
   495         return KErrArgument;
       
   496         }
       
   497 
       
   498 
       
   499 // do stuff
       
   500         /**
       
   501         * Sets path to icon file. KIptvSmServicesDbIconPathMaxLength is the max
       
   502         * length (in 16-bit words).
       
   503         * @since
       
   504         * @param aIconPath Path to the icon file
       
   505         * @return System wide error code.
       
   506         */
       
   507         //IMPORT_C TInt SetIconPath(const TDesC16& aIconPath);
       
   508 
       
   509 	err = iService->SetIconPath(param);
       
   510 
       
   511 	if(err != KErrNone)
       
   512 		{
       
   513         VCXLOGLO1("CIptvServiceTest::SetIconPathL: SetIconPath returned error");
       
   514         iLog->Log(_L("SetIconPath returned error"));
       
   515         VCXLOGLO1("<<<CIptvServiceTest::SetIconPathL");
       
   516         return err;
       
   517 		}
       
   518 
       
   519 // verify results
       
   520 
       
   521 	if(param.Compare( iService->GetIconPath() ) != 0)
       
   522 		{
       
   523         VCXLOGLO1("CIptvServiceTest::SetIconPathL: GetIconPath returned wrong value");
       
   524         iLog->Log(_L("GetIconPath returned wrong value"));
       
   525         VCXLOGLO1("<<<CIptvServiceTest::SetIconPathL");
       
   526         return KErrCorrupt;
       
   527 		}
       
   528 
       
   529 	VCXLOGLO1("<<<CIptvServiceTest::SetIconPathL");
       
   530     return err;
       
   531 
       
   532     }
       
   533 
       
   534 
       
   535 // -----------------------------------------------------------------------------
       
   536 // CIptvServiceTest::SetEpgPluginUidL
       
   537 // SetEpgPluginUidL test method function.
       
   538 // (other items were commented in a header).
       
   539 // -----------------------------------------------------------------------------
       
   540 //
       
   541 TInt CIptvServiceTest::SetEpgPluginUidL( CStifItemParser& aItem )
       
   542     {
       
   543     VCXLOGLO1(">>>CIptvServiceTest::SetEpgPluginUidL");
       
   544     // Print to UI
       
   545     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   546     _LIT( KWhere, "In SetEpgPluginUidL" );
       
   547     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   548     // Print to log file
       
   549     iLog->Log( KWhere );
       
   550 
       
   551 
       
   552 	TInt err = KErrNone;
       
   553 
       
   554 // get params
       
   555 	TInt uid;
       
   556 
       
   557     if(aItem.GetNextInt(uid) == KErrNone)
       
   558         {
       
   559         VCXLOGLO2("CIptvServiceTest::SetEpgPluginUidL: param uid = %d", uid);
       
   560         }
       
   561     else
       
   562         {
       
   563         VCXLOGLO1("CIptvServiceTest::SetEpgPluginUidL: reading uid parameter failed");
       
   564         iLog->Log(_L("Reading uid parameter failed"));
       
   565         VCXLOGLO1("<<<CIptvServiceTest::SetEpgPluginUidL");
       
   566         return KErrArgument;
       
   567         }
       
   568 
       
   569 // do stuff
       
   570         /**
       
   571         * Sets EPG plugin UID.
       
   572         * @since
       
   573         * @param aEpgPluginUid EPG plugin UID
       
   574         * @return none
       
   575         */
       
   576         //IMPORT_C void SetEpgPluginUid(TUid aEpgPluginUid);
       
   577 
       
   578 	TUid uuid;
       
   579 	uuid.iUid = uid;
       
   580 	iService->SetEpgPluginUid(uuid);
       
   581 
       
   582 // verify results
       
   583 	if(iService->GetEpgPluginUid() != uuid)
       
   584 		{
       
   585         VCXLOGLO1("CIptvServiceTest::SetEpgPluginUidL: SetEpgPluginUid returned wrong value");
       
   586         iLog->Log(_L("SetEpgPluginUid returned wrong value"));
       
   587         VCXLOGLO1("<<<CIptvServiceTest::SetEpgPluginUidL");
       
   588         return KErrCorrupt;
       
   589 		}
       
   590 
       
   591 	VCXLOGLO1("<<<CIptvServiceTest::SetEpgPluginUidL");
       
   592     return err;
       
   593 
       
   594     }
       
   595 
       
   596 
       
   597 // -----------------------------------------------------------------------------
       
   598 // CIptvServiceTest::SetVodPluginUidL
       
   599 // SetVodPluginUidL test method function.
       
   600 // (other items were commented in a header).
       
   601 // -----------------------------------------------------------------------------
       
   602 //
       
   603 TInt CIptvServiceTest::SetVodPluginUidL( CStifItemParser& aItem )
       
   604     {
       
   605     VCXLOGLO1(">>>CIptvServiceTest::SetVodPluginUidL");
       
   606     // Print to UI
       
   607     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   608     _LIT( KWhere, "In SetVodPluginUidL" );
       
   609     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   610     // Print to log file
       
   611     iLog->Log( KWhere );
       
   612 
       
   613 
       
   614 	TInt err = KErrNone;
       
   615 
       
   616 // get params
       
   617 	TInt uid;
       
   618 
       
   619     if(aItem.GetNextInt(uid) == KErrNone)
       
   620         {
       
   621         VCXLOGLO2("CIptvServiceTest::SetVodPluginUidL: param uid = %d", uid);
       
   622         }
       
   623     else
       
   624         {
       
   625         VCXLOGLO1("CIptvServiceTest::SetVodPluginUidL: reading uid parameter failed");
       
   626         iLog->Log(_L("Reading uid parameter failed"));
       
   627         VCXLOGLO1("<<<CIptvServiceTest::SetVodPluginUidL");
       
   628         return KErrArgument;
       
   629         }
       
   630 
       
   631 
       
   632 // do stuff
       
   633         /**
       
   634         * Sets VOD plugin UID.
       
   635         * @since
       
   636         * @param aVodPluginUid VOD plugin UID
       
   637         * @return none
       
   638         */
       
   639         //IMPORT_C void SetVodPluginUid(TUid aVodPluginUid);
       
   640 
       
   641 
       
   642 	TUid uuid;
       
   643 	uuid.iUid = uid;
       
   644 	iService->SetVodPluginUid(uuid);
       
   645 
       
   646 // verify results
       
   647 	if(iService->GetVodPluginUid() != uuid)
       
   648 		{
       
   649         VCXLOGLO1("CIptvServiceTest::SetVodPluginUidL: GetVodPluginUid returned wrong value");
       
   650         iLog->Log(_L("GetVodPluginUid returned wrong value"));
       
   651         VCXLOGLO1("<<<CIptvServiceTest::SetVodPluginUidL");
       
   652         return KErrCorrupt;
       
   653 		}
       
   654 
       
   655 
       
   656 	VCXLOGLO1("<<<CIptvServiceTest::SetVodPluginUidL");
       
   657     return err;
       
   658 
       
   659     }
       
   660 
       
   661 
       
   662 // -----------------------------------------------------------------------------
       
   663 // CIptvServiceTest::SetIptvPluginUidL
       
   664 // SetIptvPluginUidL test method function.
       
   665 // (other items were commented in a header).
       
   666 // -----------------------------------------------------------------------------
       
   667 //
       
   668 TInt CIptvServiceTest::SetIptvPluginUidL( CStifItemParser& aItem )
       
   669     {
       
   670     VCXLOGLO1(">>>CIptvServiceTest::SetIptvPluginUidL");
       
   671     // Print to UI
       
   672     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   673     _LIT( KWhere, "In SetIptvPluginUidL" );
       
   674     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   675     // Print to log file
       
   676     iLog->Log( KWhere );
       
   677 
       
   678 
       
   679 	TInt err = KErrNone;
       
   680 
       
   681 // get params
       
   682 	TInt uid;
       
   683 
       
   684     if(aItem.GetNextInt(uid) == KErrNone)
       
   685         {
       
   686         VCXLOGLO2("CIptvServiceTest::SetIptvPluginUidL: param uid = %d", uid);
       
   687         }
       
   688     else
       
   689         {
       
   690         VCXLOGLO1("CIptvServiceTest::SetIptvPluginUidL: reading uid parameter failed");
       
   691         iLog->Log(_L("Reading uid parameter failed"));
       
   692         VCXLOGLO1("<<<CIptvServiceTest::SetIptvPluginUidL");
       
   693         return KErrArgument;
       
   694         }
       
   695 
       
   696 // do stuff
       
   697         /**
       
   698         * Sets IPTV plugin UID.
       
   699         * @since
       
   700         * @param aIptvPluginUid IPTV plugin UID
       
   701         * @return none
       
   702         */
       
   703         //IMPORT_C void SetIptvPluginUid(TUid aIptvPluginUid);
       
   704 
       
   705 
       
   706 	TUid uuid;
       
   707 	uuid.iUid = uid;
       
   708 	iService->SetIptvPluginUid(uuid);
       
   709 
       
   710 // verify results
       
   711 	if(iService->GetIptvPluginUid() != uuid)
       
   712 		{
       
   713         VCXLOGLO1("CIptvServiceTest::SetIptvPluginUidL: GetIptvPluginUid returned wrong value");
       
   714         iLog->Log(_L("GetIptvPluginUid returned wrong value"));
       
   715         VCXLOGLO1("<<<CIptvServiceTest::SetIptvPluginUidL");
       
   716         return KErrCorrupt;
       
   717 		}
       
   718 
       
   719 
       
   720 	VCXLOGLO1("<<<CIptvServiceTest::SetIptvPluginUidL");
       
   721     return err;
       
   722 
       
   723     }
       
   724 
       
   725 
       
   726 // -----------------------------------------------------------------------------
       
   727 // CIptvServiceTest::SetTypeL
       
   728 // SetTypeL test method function.
       
   729 // (other items were commented in a header).
       
   730 // -----------------------------------------------------------------------------
       
   731 //
       
   732 TInt CIptvServiceTest::SetTypeL( CStifItemParser& aItem )
       
   733     {
       
   734     VCXLOGLO1(">>>CIptvServiceTest::SetTypeL");
       
   735     // Print to UI
       
   736     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   737     _LIT( KWhere, "In SetTypeL" );
       
   738     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   739     // Print to log file
       
   740     iLog->Log( KWhere );
       
   741 
       
   742 
       
   743 	TInt err = KErrNone;
       
   744 
       
   745 // get params
       
   746 
       
   747 	TInt param;
       
   748 
       
   749     if(aItem.GetNextInt(param) == KErrNone)
       
   750         {
       
   751         VCXLOGLO2("CIptvServiceTest::SetTypeL: param service type = %d", param);
       
   752         }
       
   753     else
       
   754         {
       
   755         VCXLOGLO1("CIptvServiceTest::SetTypeL: reading service type parameter failed");
       
   756         iLog->Log(_L("Reading service type parameter failed"));
       
   757         VCXLOGLO1("<<<CIptvServiceTest::SetTypeL");
       
   758         return KErrArgument;
       
   759         }
       
   760 
       
   761 	CIptvService::TServiceType serviceType = (CIptvService::TServiceType)param;
       
   762 
       
   763 // do stuff
       
   764         /**
       
   765         * Sets service type.
       
   766         * @since
       
   767         * @param Service type.
       
   768         */
       
   769         //IMPORT_C void SetType(TServiceType aType);
       
   770 
       
   771 	iService->SetType(serviceType);
       
   772 
       
   773 // verify results
       
   774 
       
   775 	if(iService->GetType() != serviceType)
       
   776 		{
       
   777         VCXLOGLO1("CIptvServiceTest::SetTypeL: GetType returned wrong value");
       
   778         iLog->Log(_L("GetType returned wrong value"));
       
   779         VCXLOGLO1("<<<CIptvServiceTest::SetTypeL");
       
   780         return KErrCorrupt;
       
   781 		}
       
   782 
       
   783 	serviceType = iService->GetType();
       
   784 	if(serviceType < CIptvService::EVod || serviceType > CIptvService::EOther)
       
   785 		{
       
   786         VCXLOGLO1("CIptvServiceTest::SetTypeL: GetType returned invalid type");
       
   787         iLog->Log(_L("GetType returned valid type"));
       
   788         VCXLOGLO1("<<<CIptvServiceTest::SetTypeL");
       
   789 		return KErrTooBig;
       
   790 		}
       
   791 
       
   792 	VCXLOGLO1("<<<CIptvServiceTest::SetTypeL");
       
   793     return err;
       
   794 
       
   795     }
       
   796 
       
   797 // -----------------------------------------------------------------------------
       
   798 // CIptvServiceTest::CreateIapListL
       
   799 // CreateIapListL test method function.
       
   800 // (other items were commented in a header).
       
   801 // -----------------------------------------------------------------------------
       
   802 //
       
   803 TInt CIptvServiceTest::CreateIapListL( CStifItemParser& aItem )
       
   804     {
       
   805     VCXLOGLO1(">>>CIptvServiceTest::CreateIapListL");
       
   806     // Print to UI
       
   807     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   808     _LIT( KWhere, "In CreateIapListL" );
       
   809     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   810     // Print to log file
       
   811     iLog->Log( KWhere );
       
   812 
       
   813 
       
   814 	TInt err = KErrNone, err2 = KErrNone;
       
   815 
       
   816 // get params
       
   817 	TInt iapCount;
       
   818 
       
   819     if(aItem.GetNextInt(iapCount) == KErrNone)
       
   820         {
       
   821         VCXLOGLO2("CIptvServiceTest::CreateIapListL: parameter iap count = %d", iapCount);
       
   822         }
       
   823     else
       
   824         {
       
   825         VCXLOGLO1("CIptvServiceTest::CreateIapListL: Reading iap count parameter failed");
       
   826         iLog->Log(_L("Reading iap count parameter failed"));
       
   827         VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   828         return KErrArgument;
       
   829         }
       
   830 
       
   831 // do stuff
       
   832 
       
   833 	CIptvIapList* iapList;
       
   834 
       
   835     TRAP(err, iapList = CIptvIapList::NewL());
       
   836     if(err != KErrNone)
       
   837         {
       
   838         VCXLOGLO1("CIptvServiceTest::CreateIapListL: Creating instance of CIptvIapList failed!");
       
   839         iLog->Log(_L("Creating instance of CIptvIapList failed!"));
       
   840         VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   841 		return KErrNoMemory;
       
   842         }
       
   843 
       
   844 	CleanupStack::PushL(iapList);
       
   845 
       
   846     TUint i;
       
   847     TIptvIap iap;
       
   848 
       
   849     for(i = 0; i < iapCount; i++)
       
   850         {
       
   851         iap.iId = i + 1;
       
   852         iap.iPriority = i + 2;
       
   853         iap.iValueExists = EFalse;
       
   854 
       
   855         err = iapList->AddIap(iap, ETrue); // ignore max iap
       
   856         if(err != KErrNone)
       
   857             {
       
   858 			VCXLOGLO1("CIptvServiceTest::CreateIapListL: Adding iap into list failed!");
       
   859         	iLog->Log(_L("Adding iap into list failed!"));
       
   860         	VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   861 			return err;
       
   862             }
       
   863         }
       
   864 
       
   865 	TRAP( err, err2 = iService->SetIapListL(*iapList) );
       
   866     if(err != KErrNone)
       
   867         {
       
   868         VCXLOGLO2("CIptvServiceTest::CreateIapListL: SetIapListL caused a leave (%d)!", err);
       
   869         iLog->Log(_L("SetIapListL caused a leave"));
       
   870         CleanupStack::PopAndDestroy(iapList);
       
   871         VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   872 		return KErrGeneral;
       
   873         }
       
   874 
       
   875     if(err2 != KErrNone)
       
   876         {
       
   877         VCXLOGLO2("CIptvServiceTest::CreateIapListL: SetIapListL failed (%d)", err2);
       
   878         iLog->Log(_L("SetIapListL failed"));
       
   879         CleanupStack::PopAndDestroy(iapList);
       
   880         VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   881 		return KErrGeneral;
       
   882         }
       
   883 
       
   884 // verify results
       
   885 
       
   886 	if( iapList->Count() != iService->GetIapList().Count() )
       
   887     	{
       
   888         VCXLOGLO1("CIptvServiceTest::CreateIapListL: Iap count of IptvService's iap list is wrong");
       
   889         iLog->Log(_L("Iap count of IptvService's iap list is wrong"));
       
   890     	CleanupStack::PopAndDestroy(iapList);
       
   891     	VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   892     	return KErrCorrupt;
       
   893     	}
       
   894 
       
   895 	TIptvIap iap1, iap2;
       
   896 
       
   897 	for(i=0; i<iapList->Count(); i++)
       
   898 		{
       
   899         TInt err = iapList->GetIap(i, iap1);
       
   900         VCXLOGLO2("CIptvServiceTest:: GetIap: ret: %d", err);
       
   901 		User::LeaveIfError(err);
       
   902 		err = iService->GetIapList().GetIap(i, iap2);
       
   903 		VCXLOGLO2("CIptvServiceTest:: GetIap: ret: %d", err);
       
   904 		User::LeaveIfError(err);
       
   905 
       
   906 		if(iap1.iId != iap2.iId)
       
   907 			{
       
   908 	    	VCXLOGLO2("CIptvServiceTest::CreateIapListL: iId of iap at index %d is wrong", i);
       
   909     	    iLog->Log(_L("iId of iap is wrong"));
       
   910     	    CleanupStack::PopAndDestroy(iapList);
       
   911     	    VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   912 			return KErrCorrupt;
       
   913 			}
       
   914 		if(iap1.iPriority != iap2.iPriority)
       
   915 			{
       
   916 	    	VCXLOGLO2("CIptvServiceTest::CreateIapListL: iPriority of iap at index %d is wrong", i);
       
   917     	    iLog->Log(_L("iPriority of iap is wrong"));
       
   918 			CleanupStack::PopAndDestroy(iapList);
       
   919 			VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   920 			return KErrCorrupt;
       
   921 			}
       
   922 /*
       
   923 		if(iap1.iValueExists != iap2.iValueExists)
       
   924 			{
       
   925 	    	VCXLOGLO2("CIptvServiceTest::CreateIapListL: iValueExists of iap at index %d is wrong", i);
       
   926     	    iLog->Log(_L("iValueExists of iap is wrong"));
       
   927     	    CleanupStack::PopAndDestroy(iapList);
       
   928     	    VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   929 			return KErrCorrupt;
       
   930 			}			*/
       
   931 		}
       
   932 
       
   933 	CleanupStack::PopAndDestroy(iapList);
       
   934 
       
   935 
       
   936 	VCXLOGLO1("<<<CIptvServiceTest::CreateIapListL");
       
   937     return err;
       
   938 
       
   939     }
       
   940 
       
   941 
       
   942 // -----------------------------------------------------------------------------
       
   943 // CIptvServiceTest::CheckIapListL
       
   944 // CheckIapListL test method function.
       
   945 // (other items were commented in a header).
       
   946 // -----------------------------------------------------------------------------
       
   947 //
       
   948 TInt CIptvServiceTest::CheckIapListL( CStifItemParser& aItem )
       
   949     {
       
   950     VCXLOGLO1(">>>CIptvServiceTest::CheckIapListL");
       
   951     // Print to UI
       
   952     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
   953     _LIT( KWhere, "In CheckIapListL" );
       
   954     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
   955     // Print to log file
       
   956     iLog->Log( KWhere );
       
   957 
       
   958 	TInt err = KErrNone;
       
   959 
       
   960 // get params
       
   961 	TInt exceptedIapCount;
       
   962 
       
   963     if(aItem.GetNextInt(exceptedIapCount) == KErrNone)
       
   964         {
       
   965         VCXLOGLO2("CIptvServiceTest::CheckIapListL: parameter expected iap count = %d", exceptedIapCount);
       
   966         }
       
   967     else
       
   968         {
       
   969         VCXLOGLO1("CIptvServiceTest::CheckIapListL: Reading expected iap count parameter failed");
       
   970         iLog->Log(_L("Reading expected iap count parameter failed"));
       
   971         VCXLOGLO1("<<<CIptvServiceTest::CheckIapListL");
       
   972         return KErrArgument;
       
   973         }
       
   974 
       
   975 // verify results
       
   976 
       
   977 	if( exceptedIapCount != iService->GetIapList().Count() )
       
   978     	{
       
   979         VCXLOGLO1("CIptvServiceTest::CheckIapListL: Iap count of IptvService's iap list is wrong");
       
   980         iLog->Log(_L("Iap count of IptvService's iap list is wrong"));
       
   981     	VCXLOGLO1("<<<CIptvServiceTest::CheckIapListL");
       
   982     	return KErrCorrupt;
       
   983     	}
       
   984 
       
   985 	TIptvIap iap1, iap2;
       
   986 
       
   987 	TInt i;
       
   988 
       
   989 	for(i=0; i<iService->GetIapList().Count(); i++)
       
   990 		{
       
   991 
       
   992 		TInt err = iService->GetIapList().GetIap(i, iap2);
       
   993 		VCXLOGLO2("CIptvServiceTest:: GetIap ret: %d", err);
       
   994 		User::LeaveIfError(err);
       
   995 
       
   996   		iap1.iId = i + 1;
       
   997         iap1.iPriority = i + 2;
       
   998         iap1.iValueExists = ETrue;
       
   999 
       
  1000 		if(iap1.iId != iap2.iId)
       
  1001 			{
       
  1002 	    	VCXLOGLO2("CIptvServiceTest::CheckIapListL: iId of iap at index %d is wrong", i);
       
  1003     	    iLog->Log(_L("iId of iap is wrong"));
       
  1004     	    VCXLOGLO1("<<<CIptvServiceTest::CheckIapListL");
       
  1005 			return KErrCorrupt;
       
  1006 			}
       
  1007 		if(iap1.iPriority != iap2.iPriority)
       
  1008 			{
       
  1009 	    	VCXLOGLO2("CIptvServiceTest::CheckIapListL: iPriority of iap at index %d is wrong", i);
       
  1010     	    iLog->Log(_L("iPriority of iap is wrong"));
       
  1011 			VCXLOGLO1("<<<CIptvServiceTest::CheckIapListL");
       
  1012 			return KErrCorrupt;
       
  1013 			}
       
  1014 /*
       
  1015 		if(iap1.iValueExists != iap2.iValueExists)
       
  1016 			{
       
  1017 	    	VCXLOGLO2("CIptvServiceTest::CheckIapListL: iValueExists of iap at index %d is wrong", i);
       
  1018     	    iLog->Log(_L("iValueExists of iap is wrong"));
       
  1019     	    VCXLOGLO1("<<<CIptvServiceTest::CheckIapListL");
       
  1020 			return KErrCorrupt;
       
  1021 			}			*/
       
  1022 		}
       
  1023 
       
  1024 
       
  1025 	VCXLOGLO1("<<<CIptvServiceTest::CheckIapListL");
       
  1026     return err;
       
  1027 
       
  1028     }
       
  1029 
       
  1030 
       
  1031 
       
  1032 // -----------------------------------------------------------------------------
       
  1033 // CIptvServiceTest::SetUserNameL
       
  1034 // SetUserNameL test method function.
       
  1035 // (other items were commented in a header).
       
  1036 // -----------------------------------------------------------------------------
       
  1037 //
       
  1038 TInt CIptvServiceTest::SetUserNameL( CStifItemParser& aItem )
       
  1039     {
       
  1040     VCXLOGLO1(">>>CIptvServiceTest::SetUserNameL");
       
  1041     // Print to UI
       
  1042     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1043     _LIT( KWhere, "In SetUserNameL" );
       
  1044     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1045     // Print to log file
       
  1046     iLog->Log( KWhere );
       
  1047 
       
  1048 
       
  1049 	TInt err = KErrNone;
       
  1050 
       
  1051 // get params
       
  1052 	TPtrC string;
       
  1053 
       
  1054 	TBuf<KIptvTestMaxTextLength> param;
       
  1055 
       
  1056 	if(aItem.GetNextString(string) == KErrNone)
       
  1057         {
       
  1058 
       
  1059         param.Format(string);
       
  1060         while(aItem.GetNextString(string) == KErrNone)
       
  1061         	{
       
  1062 			if(param.Length() + string.Length() + 1 >= KIptvTestMaxTextLength)
       
  1063 				{
       
  1064 				VCXLOGLO1("CIptvServiceTest::SetUserNameL: parameter user name too long, rest of the text ignored");
       
  1065 				break;
       
  1066 				}
       
  1067 			param.Append(KSpace);
       
  1068 	        param.Append(string);
       
  1069         	}
       
  1070 
       
  1071         VCXLOGLO1("CIptvServiceTest::SetUserNameL: parameter user name read");
       
  1072         //IPTV_LOG_STR_DESC_HIGH_LEVEL(param);
       
  1073         }
       
  1074     else
       
  1075         {
       
  1076         VCXLOGLO1("CIptvServiceTest::SetUserNameL: reading user name parameter failed");
       
  1077         iLog->Log(_L("Reading user name parameter failed"));
       
  1078         VCXLOGLO1("<<<CIptvServiceTest::SetUserNameL");
       
  1079         return KErrArgument;
       
  1080         }
       
  1081 
       
  1082 // do stuff
       
  1083         /**
       
  1084          * Gets user name.
       
  1085          * @since
       
  1086          * @return TDes16&, user name
       
  1087          */
       
  1088         //IMPORT_C TDes16& GetUserName();
       
  1089 
       
  1090 	err = iService->SetUserName(param);
       
  1091 
       
  1092 	if(err != KErrNone)
       
  1093 		{
       
  1094         VCXLOGLO1("CIptvServiceTest::SetUserNameL: SetUserName returned error");
       
  1095         iLog->Log(_L("SetUserName returned error"));
       
  1096         VCXLOGLO1("<<<CIptvServiceTest::SetUserNameL");
       
  1097         return err;
       
  1098 		}
       
  1099 
       
  1100 // verify results
       
  1101 
       
  1102 	if(param.Compare( iService->GetUserName() ) != 0)
       
  1103 		{
       
  1104         VCXLOGLO1("CIptvServiceTest::SetUserNameL: GetUserName returned wrong value");
       
  1105         iLog->Log(_L("GetUserName returned wrong value"));
       
  1106         VCXLOGLO1("<<<CIptvServiceTest::SetUserNameL");
       
  1107         return KErrCorrupt;
       
  1108 		}
       
  1109 
       
  1110 
       
  1111 	VCXLOGLO1("<<<CIptvServiceTest::SetUserNameL");
       
  1112     return err;
       
  1113 
       
  1114     }
       
  1115 
       
  1116 
       
  1117 // -----------------------------------------------------------------------------
       
  1118 // CIptvServiceTest::SetPasswordL
       
  1119 // SetPasswordL test method function.
       
  1120 // (other items were commented in a header).
       
  1121 // -----------------------------------------------------------------------------
       
  1122 //
       
  1123 TInt CIptvServiceTest::SetPasswordL( CStifItemParser& aItem )
       
  1124     {
       
  1125     VCXLOGLO1(">>>CIptvServiceTest::SetPasswordL");
       
  1126     // Print to UI
       
  1127     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1128     _LIT( KWhere, "In SetPasswordL" );
       
  1129     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1130     // Print to log file
       
  1131     iLog->Log( KWhere );
       
  1132 
       
  1133 
       
  1134 	TInt err = KErrNone;
       
  1135 
       
  1136 // get params
       
  1137 	TPtrC string;
       
  1138 
       
  1139 	TBuf<KIptvTestMaxTextLength> param;
       
  1140 
       
  1141 	if(aItem.GetNextString(string) == KErrNone)
       
  1142         {
       
  1143         param.Format(string);
       
  1144 
       
  1145         VCXLOGLO1("CIptvServiceTest::SetPasswordL: parameter password read");
       
  1146         }
       
  1147     else
       
  1148         {
       
  1149         VCXLOGLO1("CIptvServiceTest::SetPasswordL: reading password parameter failed");
       
  1150         iLog->Log(_L("Reading password parameter failed"));
       
  1151         VCXLOGLO1("<<<CIptvServiceTest::SetPasswordL");
       
  1152         return KErrArgument;
       
  1153         }
       
  1154 
       
  1155 
       
  1156 // do stuff
       
  1157         /**
       
  1158          * Sets password, KIptvSmPasswordsDbPasswordMaxLength is the max length (in 16-bit words,
       
  1159          * defined in CIptvUtil.h).
       
  1160          * @since
       
  1161          * @param aPassword Password, used for authentication.
       
  1162          * @return System wide error code.
       
  1163          */
       
  1164         //IMPORT_C TInt SetPassword(const TDesC16& aPassword);
       
  1165 
       
  1166 	err = iService->SetPassword(param);
       
  1167 
       
  1168 	if(err != KErrNone)
       
  1169 		{
       
  1170         VCXLOGLO1("CIptvServiceTest::SetPasswordL: SetPassword returned error");
       
  1171         iLog->Log(_L("SetPassword returned error"));
       
  1172         VCXLOGLO1("<<<CIptvServiceTest::SetPasswordL");
       
  1173         return err;
       
  1174 		}
       
  1175 
       
  1176 // verify results
       
  1177 
       
  1178 	if(param.Compare( iService->GetPassword() ) != 0)
       
  1179 		{
       
  1180         VCXLOGLO1("CIptvServiceTest::SetPasswordL: GetPassword returned wrong value");
       
  1181         iLog->Log(_L("GetPassword returned wrong value"));
       
  1182         VCXLOGLO1("<<<CIptvServiceTest::SetPasswordL");
       
  1183         return KErrCorrupt;
       
  1184 		}
       
  1185 
       
  1186 	VCXLOGLO1("<<<CIptvServiceTest::SetPasswordL");
       
  1187     return err;
       
  1188 
       
  1189     }
       
  1190 
       
  1191 
       
  1192 // -----------------------------------------------------------------------------
       
  1193 // CIptvServiceTest::SetDescL
       
  1194 // SetDescL test method function.
       
  1195 // (other items were commented in a header).
       
  1196 // -----------------------------------------------------------------------------
       
  1197 //
       
  1198 TInt CIptvServiceTest::SetDescL( CStifItemParser& aItem )
       
  1199     {
       
  1200     VCXLOGLO1(">>>CIptvServiceTest::SetDescL");
       
  1201     // Print to UI
       
  1202     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1203     _LIT( KWhere, "In SetDescL" );
       
  1204     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1205     // Print to log file
       
  1206     iLog->Log( KWhere );
       
  1207 
       
  1208 
       
  1209 	TInt err = KErrNone;
       
  1210 
       
  1211 // get params
       
  1212 	TPtrC string;
       
  1213 
       
  1214 	TBuf<KIptvTestMaxTextLength> param;
       
  1215 
       
  1216 	if(aItem.GetNextString(string) == KErrNone)
       
  1217         {
       
  1218 
       
  1219         param.Format(string);
       
  1220         while(aItem.GetNextString(string) == KErrNone)
       
  1221         	{
       
  1222 			if(param.Length() + string.Length() + 1 >= KIptvTestMaxTextLength)
       
  1223 				{
       
  1224 				VCXLOGLO1("CIptvServiceTest::SetDescL: parameter desc too long, rest of the text ignored");
       
  1225 				break;
       
  1226 				}
       
  1227 			param.Append(KSpace);
       
  1228 	        param.Append(string);
       
  1229         	}
       
  1230 
       
  1231         VCXLOGLO1("CIptvServiceTest::SetDescL: parameter desc read");
       
  1232         //IPTV_LOG_STR_DESC_HIGH_LEVEL(param);
       
  1233         }
       
  1234     else
       
  1235         {
       
  1236         VCXLOGLO1("CIptvServiceTest::SetDescL: reading desc parameter failed");
       
  1237         iLog->Log(_L("Reading desc parameter failed"));
       
  1238         VCXLOGLO1("<<<CIptvServiceTest::SetDescL");
       
  1239         return KErrArgument;
       
  1240         }
       
  1241 
       
  1242 
       
  1243 // do stuff
       
  1244         /**
       
  1245          * Sets description of the service.
       
  1246          * KIptvSmServicesDbDescMaxLength is the max length (in 16-bit words).
       
  1247          * @since
       
  1248          * @param aDesc Description.
       
  1249          * @return System wide error code.
       
  1250          */
       
  1251         //IMPORT_C TInt SetDesc(const TDesC16& aDesc);
       
  1252 	err = iService->SetDesc(param);
       
  1253 
       
  1254 	if(err != KErrNone)
       
  1255 		{
       
  1256         VCXLOGLO1("CIptvServiceTest::SetDescL: SetDesc returned error");
       
  1257         iLog->Log(_L("SetDesc returned error"));
       
  1258         VCXLOGLO1("<<<CIptvServiceTest::SetDescL");
       
  1259         return err;
       
  1260 		}
       
  1261 
       
  1262 // verify results
       
  1263 
       
  1264 	if(param.Compare( iService->GetDesc() ) != 0)
       
  1265 		{
       
  1266         VCXLOGLO1("CIptvServiceTest::SetDescL: GetDesc returned wrong value");
       
  1267         iLog->Log(_L("GetDesc returned wrong value"));
       
  1268         VCXLOGLO1("<<<CIptvServiceTest::SetDescL");
       
  1269         return KErrCorrupt;
       
  1270 		}
       
  1271 
       
  1272 	VCXLOGLO1("<<<CIptvServiceTest::SetDescL");
       
  1273     return err;
       
  1274 
       
  1275     }
       
  1276 
       
  1277 
       
  1278 // -----------------------------------------------------------------------------
       
  1279 // CIptvServiceTest::SetFlagsL
       
  1280 // SetFlagsL test method function.
       
  1281 // (other items were commented in a header).
       
  1282 // -----------------------------------------------------------------------------
       
  1283 //
       
  1284 TInt CIptvServiceTest::SetFlagsL( CStifItemParser& aItem )
       
  1285     {
       
  1286     VCXLOGLO1(">>>CIptvServiceTest::SetFlagsL");
       
  1287     // Print to UI
       
  1288     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1289     _LIT( KWhere, "In SetFlagsL" );
       
  1290     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1291     // Print to log file
       
  1292     iLog->Log( KWhere );
       
  1293 
       
  1294 
       
  1295 	TInt err = KErrNone;
       
  1296 
       
  1297 // get params
       
  1298 	TUint32 flags = 0;
       
  1299 
       
  1300 	TInt mask;
       
  1301 
       
  1302     while(aItem.GetNextInt(mask) == KErrNone)
       
  1303         {
       
  1304         VCXLOGLO2("CIptvServiceTest::SetIdL: param flag mask = %d", mask);
       
  1305 
       
  1306     	flags |= mask;
       
  1307         }
       
  1308 
       
  1309 // do stuff
       
  1310         /**
       
  1311          * Sets service flags, see TFlags for bit values.
       
  1312          * @param aFlags 32 bits of flags
       
  1313          * @return None.
       
  1314          */
       
  1315         //IMPORT_C void SetFlags(TUint32 aFlags);
       
  1316 
       
  1317 	iService->SetFlags(flags);
       
  1318 
       
  1319 // verify results
       
  1320 
       
  1321 	if( flags != iService->GetFlags() )
       
  1322 		{
       
  1323         VCXLOGLO1("CIptvServiceTest::SetFlagsL: GetFlags returned wrong value");
       
  1324         iLog->Log(_L("GetFlags returned wrong value"));
       
  1325         VCXLOGLO1("<<<CIptvServiceTest::SetFlagsL");
       
  1326         return KErrArgument;
       
  1327 		}
       
  1328 
       
  1329 	VCXLOGLO1("<<<CIptvServiceTest::SetFlagsL");
       
  1330     return err;
       
  1331 
       
  1332     }
       
  1333 
       
  1334 
       
  1335 // -----------------------------------------------------------------------------
       
  1336 // CIptvServiceTest::SetApplicationUidL
       
  1337 // SetApplicationUidL test method function.
       
  1338 // (other items were commented in a header).
       
  1339 // -----------------------------------------------------------------------------
       
  1340 //
       
  1341 TInt CIptvServiceTest::SetApplicationUidL( CStifItemParser& aItem )
       
  1342     {
       
  1343     VCXLOGLO1(">>>CIptvServiceTest::SetApplicationUidL");
       
  1344     // Print to UI
       
  1345     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1346     _LIT( KWhere, "In SetApplicationUidL" );
       
  1347     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1348     // Print to log file
       
  1349     iLog->Log( KWhere );
       
  1350 
       
  1351 
       
  1352 	TInt err = KErrNone;
       
  1353 
       
  1354 // get params
       
  1355 	TInt uid;
       
  1356 
       
  1357     if(aItem.GetNextInt(uid) == KErrNone)
       
  1358         {
       
  1359         VCXLOGLO2("CIptvServiceTest::SetApplicationUidL: param uid = %d", uid);
       
  1360         }
       
  1361     else
       
  1362         {
       
  1363         VCXLOGLO1("CIptvServiceTest::SetApplicationUidL: reading uid parameter failed");
       
  1364         iLog->Log(_L("Reading uid parameter failed"));
       
  1365         VCXLOGLO1("<<<CIptvServiceTest::SetApplicationUidL");
       
  1366         return KErrArgument;
       
  1367         }
       
  1368 
       
  1369 // do stuff
       
  1370         /**
       
  1371          * Sets application UID value.
       
  1372          * @param aUid
       
  1373          * @return none.
       
  1374          */
       
  1375         //IMPORT_C void SetApplicationUid(TInt32 aUid);
       
  1376 
       
  1377 
       
  1378 	iService->SetApplicationUid(uid);
       
  1379 
       
  1380 // verify results
       
  1381 	if(iService->GetApplicationUid() != uid)
       
  1382 		{
       
  1383         VCXLOGLO1("CIptvServiceTest::SetApplicationUidL: GetApplicationUid returned wrong value");
       
  1384         iLog->Log(_L("GetApplicationUid returned wrong value"));
       
  1385         VCXLOGLO1("<<<CIptvServiceTest::SetApplicationUidL");
       
  1386         return KErrCorrupt;
       
  1387 		}
       
  1388 
       
  1389 
       
  1390 	VCXLOGLO1("<<<CIptvServiceTest::SetApplicationUidL");
       
  1391     return err;
       
  1392 
       
  1393     }
       
  1394 
       
  1395 
       
  1396 // -----------------------------------------------------------------------------
       
  1397 // CIptvServiceTest::SetDisplayOrderL
       
  1398 // SetDisplayOrderL test method function.
       
  1399 // (other items were commented in a header).
       
  1400 // -----------------------------------------------------------------------------
       
  1401 //
       
  1402 TInt CIptvServiceTest::SetDisplayOrderL( CStifItemParser& aItem )
       
  1403     {
       
  1404     VCXLOGLO1(">>>CIptvServiceTest::SetDisplayOrderL");
       
  1405     // Print to UI
       
  1406     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1407     _LIT( KWhere, "In SetDisplayOrderL" );
       
  1408     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1409     // Print to log file
       
  1410     iLog->Log( KWhere );
       
  1411 
       
  1412 
       
  1413 	TInt err = KErrNone;
       
  1414 
       
  1415 // get params
       
  1416 
       
  1417 	TInt displayOrder;
       
  1418 
       
  1419     if(aItem.GetNextInt(displayOrder) == KErrNone)
       
  1420         {
       
  1421         VCXLOGLO2("CIptvServiceTest::SetDisplayOrderL: param displayOrder = %d", displayOrder);
       
  1422         }
       
  1423     else
       
  1424         {
       
  1425         VCXLOGLO1("CIptvServiceTest::SetDisplayOrderL: reading displayOrder parameter failed");
       
  1426         iLog->Log(_L("Reading displayOrder parameter failed"));
       
  1427         VCXLOGLO1("<<<CIptvServiceTest::SetDisplayOrderL");
       
  1428         return KErrArgument;
       
  1429         }
       
  1430 
       
  1431 // do stuff
       
  1432         /**
       
  1433          * Sets display order.
       
  1434          * @return none.
       
  1435          */
       
  1436         //IMPORT_C void SetDisplayOrder(TUint32 aOrder);
       
  1437 
       
  1438 
       
  1439 	iService->SetDisplayOrder(displayOrder);
       
  1440 
       
  1441 // verify results
       
  1442 	if(iService->GetDisplayOrder() != displayOrder)
       
  1443 		{
       
  1444         VCXLOGLO1("CIptvServiceTest::SetDisplayOrderL: GetDisplayOrder returned wrong value");
       
  1445         iLog->Log(_L("GetDisplayOrder returned wrong value"));
       
  1446         VCXLOGLO1("<<<CIptvServiceTest::SetDisplayOrderL");
       
  1447         return KErrCorrupt;
       
  1448 		}
       
  1449 
       
  1450 
       
  1451 	VCXLOGLO1("<<<CIptvServiceTest::SetDisplayOrderL");
       
  1452     return err;
       
  1453 
       
  1454     }
       
  1455 
       
  1456 
       
  1457 // -----------------------------------------------------------------------------
       
  1458 // CIptvServiceTest::SetProviderIdL
       
  1459 // SetProviderIdL test method function.
       
  1460 // (other items were commented in a header).
       
  1461 // -----------------------------------------------------------------------------
       
  1462 //
       
  1463 TInt CIptvServiceTest::SetProviderIdL( CStifItemParser& aItem )
       
  1464     {
       
  1465     VCXLOGLO1(">>>CIptvServiceTest::SetProviderIdL");
       
  1466     // Print to UI
       
  1467     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1468     _LIT( KWhere, "In SetProviderIdL" );
       
  1469     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1470     // Print to log file
       
  1471     iLog->Log( KWhere );
       
  1472 
       
  1473 
       
  1474 	TInt err = KErrNone;
       
  1475 
       
  1476 // get params
       
  1477 	TPtrC string;
       
  1478 
       
  1479 	TBuf<KIptvTestMaxTextLength> param;
       
  1480 
       
  1481 	if(aItem.GetNextString(string) == KErrNone)
       
  1482         {
       
  1483         param.Format(string);
       
  1484         VCXLOGLO1("CIptvServiceTest::SetProviderIdL: parameter provider id read");
       
  1485         }
       
  1486     else
       
  1487         {
       
  1488         VCXLOGLO1("CIptvServiceTest::SetProviderIdL: reading provider id parameter failed");
       
  1489         iLog->Log(_L("Reading provider id parameter failed"));
       
  1490         VCXLOGLO1("<<<CIptvServiceTest::SetProviderIdL");
       
  1491         return KErrArgument;
       
  1492         }
       
  1493 
       
  1494 // do stuff
       
  1495         /**
       
  1496          * Sets provider ID.
       
  1497          * KIptvSmServicesDbProviderIdMaxLength is the maximum length.
       
  1498          * @param aProviderId
       
  1499          * @return System wide error code.
       
  1500          */
       
  1501         //IMPORT_C TInt SetProviderId(const TDesC& aProviderId);
       
  1502 
       
  1503 	err = iService->SetProviderId(param);
       
  1504 
       
  1505 	if(err != KErrNone)
       
  1506 		{
       
  1507         VCXLOGLO1("CIptvServiceTest::SetProviderIdL: SetProviderId returned error");
       
  1508         iLog->Log(_L("SetProviderId returned error"));
       
  1509         VCXLOGLO1("<<<CIptvServiceTest::SetProviderIdL");
       
  1510         return err;
       
  1511 		}
       
  1512 
       
  1513 // verify results
       
  1514 
       
  1515 	if(param.Compare( iService->GetProviderId() ) != 0)
       
  1516 		{
       
  1517         VCXLOGLO1("CIptvServiceTest::SetProviderIdL: GetProviderId returned wrong value");
       
  1518         iLog->Log(_L("GetProviderId returned wrong value"));
       
  1519         VCXLOGLO1("<<<CIptvServiceTest::SetProviderIdL");
       
  1520         return KErrCorrupt;
       
  1521 		}
       
  1522 
       
  1523 	VCXLOGLO1("<<<CIptvServiceTest::SetProviderIdL");
       
  1524     return err;
       
  1525 
       
  1526     }
       
  1527 
       
  1528 
       
  1529 // -----------------------------------------------------------------------------
       
  1530 // CIptvServiceTest::SetAccountManagementUrlL
       
  1531 // SetAccountManagementUrlL test method function.
       
  1532 // (other items were commented in a header).
       
  1533 // -----------------------------------------------------------------------------
       
  1534 //
       
  1535 TInt CIptvServiceTest::SetAccountManagementUrlL( CStifItemParser& aItem )
       
  1536     {
       
  1537     VCXLOGLO1(">>>CIptvServiceTest::SetAccountManagementUrlL");
       
  1538     // Print to UI
       
  1539     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1540     _LIT( KWhere, "In SetAccountManagementUrlL" );
       
  1541     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1542     // Print to log file
       
  1543     iLog->Log( KWhere );
       
  1544 
       
  1545 
       
  1546 	TInt err = KErrNone;
       
  1547 
       
  1548 // get params
       
  1549 	TPtrC string;
       
  1550 
       
  1551 	TBuf<KIptvTestMaxTextLength> param;
       
  1552 
       
  1553 	if(aItem.GetNextString(string) == KErrNone)
       
  1554         {
       
  1555         param.Format(string);
       
  1556         VCXLOGLO1("CIptvServiceTest::SetAccountManagementUrlL: parameter url read");
       
  1557         }
       
  1558     else
       
  1559         {
       
  1560         VCXLOGLO1("CIptvServiceTest::SetAccountManagementUrlL: reading url parameter failed");
       
  1561         iLog->Log(_L("Reading url parameter failed"));
       
  1562         VCXLOGLO1("<<<CIptvServiceTest::SetAccountManagementUrlL");
       
  1563         return KErrArgument;
       
  1564         }
       
  1565 
       
  1566 // do stuff
       
  1567         /**
       
  1568          * Sets account management url.
       
  1569          * KIptvSmServicesDbAccountManagementUrlMaxLength is the maximum length.
       
  1570          * @param aAccountManagementUrl
       
  1571          * @return System wide error code.
       
  1572          */
       
  1573         //IMPORT_C TInt SetAccountManagementUrl(const TDesC& aAccountManagementUrl);
       
  1574 
       
  1575 	err = iService->SetAccountManagementUrl(param);
       
  1576 
       
  1577 	if(err != KErrNone)
       
  1578 		{
       
  1579         VCXLOGLO1("CIptvServiceTest::SetAccountManagementUrlL: SetAccountManagementUrl returned error");
       
  1580         iLog->Log(_L("SetAccountManagementUrl returned error"));
       
  1581         VCXLOGLO1("<<<CIptvServiceTest::SetAccountManagementUrlL");
       
  1582         return err;
       
  1583 		}
       
  1584 
       
  1585 // verify results
       
  1586 
       
  1587 	if(param.Compare( iService->GetAccountManagementUrl() ) != 0)
       
  1588 		{
       
  1589         VCXLOGLO1("CIptvServiceTest::SetAccountManagementUrlL: GetAccountManagementUrl returned wrong value");
       
  1590         iLog->Log(_L("GetAccountManagementUrl returned wrong value"));
       
  1591         VCXLOGLO1("<<<CIptvServiceTest::SetAccountManagementUrlL");
       
  1592         return KErrCorrupt;
       
  1593 		}
       
  1594 
       
  1595 	VCXLOGLO1("<<<CIptvServiceTest::SetAccountManagementUrlL");
       
  1596     return err;
       
  1597 
       
  1598     }
       
  1599 
       
  1600 
       
  1601 // -----------------------------------------------------------------------------
       
  1602 // CIptvServiceTest::DoExternalizeL
       
  1603 // DoExternalizeL test method function.
       
  1604 // (other items were commented in a header).
       
  1605 // -----------------------------------------------------------------------------
       
  1606 //
       
  1607 TInt CIptvServiceTest::DoExternalizeL( CStifItemParser& aItem )
       
  1608     {
       
  1609     VCXLOGLO1(">>>CIptvServiceTest::DoExternalizeL");
       
  1610     // Print to UI
       
  1611     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1612     _LIT( KWhere, "In DoExternalizeL" );
       
  1613     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1614     // Print to log file
       
  1615     iLog->Log( KWhere );
       
  1616 
       
  1617 
       
  1618 	TInt err = KErrNone;
       
  1619 
       
  1620 // get params
       
  1621 
       
  1622 	TInt useTooSmallBuffer = 0;
       
  1623 
       
  1624     aItem.GetNextInt(useTooSmallBuffer);
       
  1625 
       
  1626 // do stuff
       
  1627 
       
  1628         /**
       
  1629          * Write internal data to binary format which can be sent over IPC.
       
  1630          * @param aStream The Stream where data is written.
       
  1631          */
       
  1632         //IMPORT_C void ExternalizeL(RDesWriteStream& aStream) const;
       
  1633 
       
  1634 	// setup buffer and externalize
       
  1635 	TUint32 dataSize = iService->CountExternalizeSize();
       
  1636 
       
  1637     if(useTooSmallBuffer)
       
  1638     	{
       
  1639     		dataSize = 1;
       
  1640     	}
       
  1641 
       
  1642     if(iBuff != NULL)
       
  1643     	{
       
  1644     	delete iBuff;
       
  1645     	iBuff = NULL;
       
  1646     	}
       
  1647 
       
  1648 	TRAP( err, iBuff = HBufC8::NewL(dataSize) );
       
  1649     if(err != KErrNone)
       
  1650         {
       
  1651         VCXLOGLO1("CIptvServiceTest::DoExternalizeL: Creating instance of HBufC8 failed!");
       
  1652         iLog->Log(_L("Creating instance of HBufC8 failed!"));
       
  1653         VCXLOGLO1("<<<CIptvServiceTest::DoExternalizeL");
       
  1654 		return KErrNoMemory;
       
  1655         }
       
  1656 
       
  1657 	TPtr8 buffPtr(iBuff->Des());
       
  1658 
       
  1659 	RDesWriteStream writeStream;
       
  1660 	writeStream.Open( buffPtr );
       
  1661 	TRAP( err, iService->ExternalizeL(writeStream) );
       
  1662 	if(err == KErrNone)
       
  1663 		{
       
  1664 		TRAP( err, writeStream.CommitL() );
       
  1665 		}
       
  1666 	writeStream.Close();
       
  1667     if(err != KErrNone)
       
  1668         {
       
  1669         VCXLOGLO1("CIptvServiceTest::DoExternalizeL: ExternalizeL failed!");
       
  1670         iLog->Log(_L("ExternalizeL failed!"));
       
  1671         delete iBuff;
       
  1672         iBuff = NULL;
       
  1673         VCXLOGLO1("<<<CIptvServiceTest::DoExternalizeL");
       
  1674 		return KErrGeneral;
       
  1675         }
       
  1676 
       
  1677 	VCXLOGLO1("<<<CIptvServiceTest::DoExternalizeL");
       
  1678     return err;
       
  1679 
       
  1680     }
       
  1681 
       
  1682 
       
  1683 
       
  1684 // -----------------------------------------------------------------------------
       
  1685 // CIptvServiceTest::DoInternalizeL
       
  1686 // DoInternalizeL test method function.
       
  1687 // (other items were commented in a header).
       
  1688 // -----------------------------------------------------------------------------
       
  1689 //
       
  1690 TInt CIptvServiceTest::DoInternalizeL( CStifItemParser& aItem )
       
  1691     {
       
  1692     VCXLOGLO1(">>>CIptvServiceTest::DoInternalizeL");
       
  1693     // Print to UI
       
  1694     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1695     _LIT( KWhere, "In DoInternalizeL" );
       
  1696     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1697     // Print to log file
       
  1698     iLog->Log( KWhere );
       
  1699 
       
  1700 
       
  1701 	TInt err = KErrNone;
       
  1702 
       
  1703 // get params
       
  1704 
       
  1705 	TInt useTooSmallBuffer = 0;
       
  1706 
       
  1707     aItem.GetNextInt(useTooSmallBuffer);
       
  1708 
       
  1709 // do stuff
       
  1710 
       
  1711         /**
       
  1712          * Write internal data to binary format which can be sent over IPC.
       
  1713          * @param aStream The Stream where data is written.
       
  1714          */
       
  1715         //IMPORT_C void ExternalizeL(RDesWriteStream& aStream) const;
       
  1716 
       
  1717 
       
  1718 	// if we have no buffer then create minimum size buffer to test error handling
       
  1719 	if(useTooSmallBuffer == 1 || iBuff == NULL)
       
  1720 		{
       
  1721 		if(iBuff)
       
  1722 			{
       
  1723 			delete iBuff;
       
  1724 			iBuff = NULL;
       
  1725 			}
       
  1726 
       
  1727 		VCXLOGLO1("CIptvServiceTest::DoInternalizeL: Creating too small buffer to test InternalizeL error handling");
       
  1728 		TRAP( err, iBuff = HBufC8::NewL(1) );
       
  1729 	    if(err != KErrNone)
       
  1730 	        {
       
  1731 	        VCXLOGLO1("CIptvServiceTest::DoInternalizeL: Creating instance of HBufC8 failed!");
       
  1732 	        iLog->Log(_L("Creating instance of HBufC8 failed!"));
       
  1733 	        VCXLOGLO1("<<<CIptvServiceTest::DoInternalizeL");
       
  1734 			return KErrNoMemory;
       
  1735 	        }
       
  1736 		}
       
  1737 
       
  1738 	TPtr8 buffPtr(iBuff->Des());
       
  1739 
       
  1740 //  setup new CIptvService
       
  1741 	CIptvService* service;
       
  1742 
       
  1743     TRAP(err, service = CIptvService::NewL());
       
  1744     if(err != KErrNone)
       
  1745         {
       
  1746         VCXLOGLO1("CIptvServiceTest::DoInternalizeL: Creating instance of CIptvService failed!");
       
  1747         iLog->Log(_L("Creating instance of CIptvService failed!"));
       
  1748         VCXLOGLO1("<<<CIptvServiceTest::DoInternalizeL");
       
  1749 		return KErrNoMemory;
       
  1750         }
       
  1751 
       
  1752   	CleanupStack::PushL(service);
       
  1753 
       
  1754 	// internalize the data
       
  1755 
       
  1756 	RDesReadStream readStream;
       
  1757 	readStream.Open( buffPtr );
       
  1758 	TRAP( err, service->InternalizeL(readStream) );
       
  1759     readStream.Close();
       
  1760     if(err != KErrNone)
       
  1761         {
       
  1762         VCXLOGLO1("CIptvServiceTest::DoInternalizeL: InternalizeL failed!");
       
  1763         iLog->Log(_L("InternalizeL failed!"));
       
  1764         CleanupStack::PopAndDestroy(service);
       
  1765         VCXLOGLO1("<<<CIptvServiceTest::DoInternalizeL");
       
  1766 		return KErrGeneral;
       
  1767         }
       
  1768 
       
  1769        /**
       
  1770          * Read data stream and construct this class from it.
       
  1771          * @param aStream Stream to read data from.
       
  1772          */
       
  1773         //IMPORT_C void InternalizeL(RDesReadStream& aStream);
       
  1774 
       
  1775 // verify results
       
  1776 
       
  1777 	TBufC<512> errorMsg (_L("CIptvServiceTest::DoInternalizeL: New externalized service ") );
       
  1778 
       
  1779 	err = CompareService(errorMsg.Des(), *iService, *service);
       
  1780 
       
  1781 	if(err != KErrNone)
       
  1782 		{
       
  1783 			IPTV_LOGTEXT(errorMsg.Des());
       
  1784 			iLog->Log(errorMsg.Des());
       
  1785 			CleanupStack::PopAndDestroy(service);
       
  1786 	    	VCXLOGLO1("<<<CIptvServiceTest::DoInternalizeL");
       
  1787 			return KErrCorrupt;
       
  1788 		}
       
  1789 
       
  1790 	CleanupStack::PopAndDestroy(service);
       
  1791 
       
  1792 	delete iBuff;
       
  1793 	iBuff = NULL;
       
  1794 
       
  1795 	VCXLOGLO1("<<<CIptvServiceTest::DoInternalizeL");
       
  1796     return err;
       
  1797 
       
  1798     }
       
  1799 
       
  1800 
       
  1801 
       
  1802 
       
  1803 // -----------------------------------------------------------------------------
       
  1804 // CIptvServiceTest::SetL
       
  1805 // SetL test method function.
       
  1806 // (other items were commented in a header).
       
  1807 // -----------------------------------------------------------------------------
       
  1808 //
       
  1809 TInt CIptvServiceTest::SetL( CStifItemParser& aItem )
       
  1810     {
       
  1811     VCXLOGLO1(">>>CIptvServiceTest::SetL");
       
  1812     // Print to UI
       
  1813     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1814     _LIT( KWhere, "In SetL" );
       
  1815     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1816     // Print to log file
       
  1817     iLog->Log( KWhere );
       
  1818 
       
  1819 	TInt err = KErrNone;
       
  1820 
       
  1821 // get params
       
  1822 
       
  1823 	TInt params = 0;
       
  1824 
       
  1825     aItem.GetNextInt(params);
       
  1826 
       
  1827 // do stuff
       
  1828 
       
  1829         /**
       
  1830          * Write internal data to binary format which can be sent over IPC.
       
  1831          * @param aStream The Stream where data is written.
       
  1832          */
       
  1833         //IMPORT_C void ExternalizeL(RDesWriteStream& aStream) const;
       
  1834 
       
  1835 
       
  1836 	CIptvService* service;
       
  1837 
       
  1838 	//  setup new CIptvService
       
  1839 
       
  1840     TRAP(err, service = CIptvService::NewL());
       
  1841     if(err != KErrNone)
       
  1842         {
       
  1843         VCXLOGLO1("CIptvServiceTest::SetL: Creating instance of CIptvService failed!");
       
  1844         iLog->Log(_L("Creating instance of CIptvService failed!"));
       
  1845         VCXLOGLO1("<<<CIptvServiceTest::SetL");
       
  1846 		return KErrNoMemory;
       
  1847         }
       
  1848 
       
  1849 	CleanupStack::PushL(service);
       
  1850 
       
  1851 	switch(params)
       
  1852 		{
       
  1853 		default:
       
  1854 			{
       
  1855 			// setup buffer and externalize
       
  1856 			TUint32 dataSize = iService->CountExternalizeSize();
       
  1857 
       
  1858 		    HBufC8* buff;
       
  1859 
       
  1860 			TRAP( err, buff = HBufC8::NewL(dataSize) );
       
  1861 		    if(err != KErrNone)
       
  1862 		        {
       
  1863 		        VCXLOGLO1("CIptvServiceTest::SetL: Creating instance of HBufC8 failed!");
       
  1864 		        iLog->Log(_L("Creating instance of HBufC8 failed!"));
       
  1865 		        CleanupStack::PopAndDestroy(service);
       
  1866 		        VCXLOGLO1("<<<CIptvServiceTest::SetL");
       
  1867 				return KErrNoMemory;
       
  1868 		        }
       
  1869 
       
  1870 			CleanupStack::PushL(buff);
       
  1871 
       
  1872 			TPtr8 buffPtr(buff->Des());
       
  1873 
       
  1874 			RDesWriteStream writeStream;
       
  1875 			writeStream.Open( buffPtr );
       
  1876 			TRAP( err, iService->ExternalizeL(writeStream) );
       
  1877 			if(err != KErrNone)
       
  1878 				{
       
  1879 				TRAP( err, writeStream.CommitL() );
       
  1880 				}
       
  1881 			writeStream.Close();
       
  1882 		    if(err != KErrNone)
       
  1883 		        {
       
  1884 		        VCXLOGLO1("CIptvServiceTest::SetL: ExternalizeL failed!");
       
  1885 		        iLog->Log(_L("ExternalizeL failed!"));
       
  1886 		        CleanupStack::PopAndDestroy(buff);
       
  1887 		        CleanupStack::PopAndDestroy(service);
       
  1888 		        VCXLOGLO1("<<<CIptvServiceTest::SetL");
       
  1889 				return KErrGeneral;
       
  1890 		        }
       
  1891 
       
  1892 			TInt err2;
       
  1893 			TRAP(err2, err = service->SetL( buffPtr ) );
       
  1894 
       
  1895 			if(err2 != KErrNone || err != KErrNone)
       
  1896 		        {
       
  1897 		        VCXLOGLO1("CIptvServiceTest::SetL: SetL failed");
       
  1898 		        iLog->Log(_L("SetL failed"));
       
  1899 		        CleanupStack::PopAndDestroy(buff);
       
  1900 		        CleanupStack::PopAndDestroy(service);
       
  1901 		        VCXLOGLO1("<<<CIptvServiceTest::SetL");
       
  1902 				return KErrGeneral;
       
  1903 		        }
       
  1904 
       
  1905 			CleanupStack::PopAndDestroy(buff);
       
  1906 			}
       
  1907 			break;
       
  1908 
       
  1909 		case 1: // setl with invalid buffer
       
  1910 			{
       
  1911 			TUint32 dataSize = iService->CountExternalizeSize();
       
  1912 
       
  1913 			HBufC8* buff;
       
  1914 
       
  1915 			TRAP( err, buff = HBufC8::NewL(dataSize) );
       
  1916 		    if(err != KErrNone)
       
  1917 		        {
       
  1918 		        VCXLOGLO1("CIptvServiceTest::SetL: Creating instance of HBufC8 failed!");
       
  1919 		        iLog->Log(_L("Creating instance of HBufC8 failed!"));
       
  1920 		        CleanupStack::PopAndDestroy(service);
       
  1921 		        VCXLOGLO1("<<<CIptvServiceTest::SetL");
       
  1922 				return KErrNoMemory;
       
  1923 		        }
       
  1924 
       
  1925 			CleanupStack::PushL(buff);
       
  1926 
       
  1927 			TPtr8 buffPtr(buff->Des());
       
  1928 
       
  1929 			TInt err2;
       
  1930 			TRAP(err2, err = service->SetL( buffPtr ) );
       
  1931 
       
  1932 			if(err2 != KErrNone || err != KErrNone)
       
  1933 		        {
       
  1934 		        VCXLOGLO1("CIptvServiceTest::SetL: SetL failed!");
       
  1935 		        iLog->Log(_L("SetL failed!"));
       
  1936 		        CleanupStack::PopAndDestroy(buff);
       
  1937 		        CleanupStack::PopAndDestroy(service);
       
  1938 		        VCXLOGLO1("<<<CIptvServiceTest::SetL");
       
  1939 				return KErrGeneral;
       
  1940 		        }
       
  1941 
       
  1942 			CleanupStack::PopAndDestroy(buff);
       
  1943 
       
  1944 			}
       
  1945 			break;
       
  1946 		}
       
  1947 
       
  1948 
       
  1949     if(service == NULL)
       
  1950         {
       
  1951         VCXLOGLO1("CIptvServiceTest::SetL: Service is NULL");
       
  1952         iLog->Log(_L("Service is NULL"));
       
  1953         VCXLOGLO1("<<<CIptvServiceTest::SetL");
       
  1954 		return KErrUnknown;
       
  1955         }
       
  1956 
       
  1957 
       
  1958 	TBufC<512> errorMsg (_L("CIptvServiceTest::SetL: New service ") );
       
  1959 
       
  1960 	err = CompareService(errorMsg.Des(), *iService, *service);
       
  1961 
       
  1962 	if(err != KErrNone)
       
  1963 		{
       
  1964 			IPTV_LOGTEXT(errorMsg.Des());
       
  1965 			iLog->Log(errorMsg.Des());
       
  1966 			CleanupStack::PopAndDestroy(service);
       
  1967 	    	VCXLOGLO1("<<<CIptvServiceTest::SetL");
       
  1968 			return KErrCorrupt;
       
  1969 		}
       
  1970 
       
  1971 
       
  1972 	CleanupStack::PopAndDestroy(service);
       
  1973 
       
  1974 	VCXLOGLO1("<<<CIptvServiceTest::SetL");
       
  1975     return err;
       
  1976 
       
  1977     }
       
  1978 
       
  1979 
       
  1980 
       
  1981 // -----------------------------------------------------------------------------
       
  1982 // CompareService::CompareService
       
  1983 // CompareService helper method function.
       
  1984 // (other items were commented in a header).
       
  1985 // -----------------------------------------------------------------------------
       
  1986 //
       
  1987 TInt CIptvServiceTest::CompareService( TPtr aErrPtr, CIptvService& aOriginalService, CIptvService& aNewService )
       
  1988 	{
       
  1989 
       
  1990 	 VCXLOGLO1(">>>CIptvServiceTest::CompareServiceL");
       
  1991     // Print to UI
       
  1992     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  1993     _LIT( KWhere, "In CompareServiceL" );
       
  1994     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  1995     // Print to log file
       
  1996     iLog->Log( KWhere );
       
  1997 
       
  1998 	// verify member data
       
  1999 
       
  2000 	if(aOriginalService.GetId() != aNewService.GetId() )
       
  2001 		{
       
  2002 	  	aErrPtr.Append( _L("service has wrong id") );
       
  2003 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2004 		return KErrCorrupt;
       
  2005 		}
       
  2006 
       
  2007 	if(aOriginalService.GetEpgPluginUid() != aNewService.GetEpgPluginUid() )
       
  2008 		{
       
  2009 	  	aErrPtr.Append( _L("service has wrong epg plugin uid") );
       
  2010 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2011 		return KErrCorrupt;
       
  2012 		}
       
  2013 
       
  2014 
       
  2015 	if(aOriginalService.GetVodPluginUid() != aNewService.GetVodPluginUid() )
       
  2016 		{
       
  2017 	  	aErrPtr.Append( _L("service has wrong vod plugin uid") );
       
  2018 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2019 		return KErrCorrupt;
       
  2020 		}
       
  2021 
       
  2022 
       
  2023 	if(aOriginalService.GetIptvPluginUid() != aNewService.GetIptvPluginUid() )
       
  2024 		{
       
  2025 	  	aErrPtr.Append( _L("service has wrong iptv plugin uid") );
       
  2026 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2027 		return KErrCorrupt;
       
  2028 		}
       
  2029 
       
  2030 
       
  2031 	if(aOriginalService.GetType() != aNewService.GetType() )
       
  2032 		{
       
  2033 	  	aErrPtr.Append( _L("service has wrong type") );
       
  2034 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2035 		return KErrCorrupt;
       
  2036 		}
       
  2037 
       
  2038 
       
  2039 	if(aOriginalService.GetFlags() != aNewService.GetFlags() )
       
  2040 		{
       
  2041 	  	aErrPtr.Append( _L("service has wrong flags") );
       
  2042 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2043 		return KErrCorrupt;
       
  2044 		}
       
  2045 
       
  2046 
       
  2047 	if(aOriginalService.GetApplicationUid() != aNewService.GetApplicationUid() )
       
  2048 		{
       
  2049 	  	aErrPtr.Append( _L("service has wrong application uid") );
       
  2050 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2051 		return KErrCorrupt;
       
  2052 		}
       
  2053 
       
  2054 
       
  2055 	if(aOriginalService.GetDisplayOrder() != aNewService.GetDisplayOrder() )
       
  2056 		{
       
  2057 	  	aErrPtr.Append( _L("service has wrong display order") );
       
  2058 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2059 		return KErrCorrupt;
       
  2060 		}
       
  2061 
       
  2062 
       
  2063 	if(aOriginalService.GetProviderId() != aNewService.GetProviderId() )
       
  2064 		{
       
  2065 	  	aErrPtr.Append( _L("service has wrong provider id") );
       
  2066 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2067 		return KErrCorrupt;
       
  2068 		}
       
  2069 
       
  2070 	if(aOriginalService.GetName().Compare( aNewService.GetName() ) != 0)
       
  2071 		{
       
  2072 		aErrPtr.Append( _L("service has wrong name") );
       
  2073 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2074 		return KErrCorrupt;
       
  2075 		}
       
  2076 
       
  2077 	if(aOriginalService.GetAddress().Compare( aNewService.GetAddress() ) != 0)
       
  2078 		{
       
  2079 		aErrPtr.Append( _L("service has wrong address") );
       
  2080 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2081    		return KErrCorrupt;
       
  2082 		}
       
  2083 
       
  2084 	if(aOriginalService.GetIconPath().Compare( aNewService.GetIconPath() ) != 0)
       
  2085 		{
       
  2086 		aErrPtr.Append( _L("service has wrong icon path") );
       
  2087 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2088 		return KErrCorrupt;
       
  2089 		}
       
  2090 
       
  2091 	if(aOriginalService.GetUserName().Compare( aNewService.GetUserName() ) != 0)
       
  2092 		{
       
  2093 		aErrPtr.Append( _L("service has wrong user name") );
       
  2094 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2095    		return KErrCorrupt;
       
  2096 		}
       
  2097 
       
  2098 	if(aOriginalService.GetPassword().Compare( aNewService.GetPassword() ) != 0)
       
  2099 		{
       
  2100 		aErrPtr.Append( _L("service has wrong password") );
       
  2101 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2102    		return KErrCorrupt;
       
  2103 		}
       
  2104 
       
  2105 	if(aOriginalService.GetDesc().Compare( aNewService.GetDesc() ) != 0)
       
  2106 		{
       
  2107 		aErrPtr.Append( _L("service has wrong desc") );
       
  2108 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2109    		return KErrCorrupt;
       
  2110 		}
       
  2111 
       
  2112 	if(aOriginalService.GetProviderId().Compare( aNewService.GetProviderId() ) != 0)
       
  2113 		{
       
  2114 		aErrPtr.Append( _L("service has wrong provider id") );
       
  2115 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2116    		return KErrCorrupt;
       
  2117 		}
       
  2118 
       
  2119 	if(aOriginalService.GetAccountManagementUrl().Compare( aNewService.GetAccountManagementUrl() ) != 0)
       
  2120 		{
       
  2121 		aErrPtr.Append( _L("service has wrong account managment url") );
       
  2122 	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2123    		return KErrCorrupt;
       
  2124 		}
       
  2125 
       
  2126 
       
  2127 	// verify iaplist
       
  2128 
       
  2129 	TIptvIap iap1, iap2;
       
  2130 
       
  2131 	TInt i;
       
  2132 
       
  2133 	for(i=0; i<aOriginalService.GetIapList().Count(); i++)
       
  2134 		{
       
  2135 
       
  2136 		TInt err  = aOriginalService.GetIapList().GetIap(i, iap1);
       
  2137 		VCXLOGLO2("CIptvServiceTest:: GetIap ret: %d", err);
       
  2138 		User::LeaveIfError(err);
       
  2139 		err = aNewService.GetIapList().GetIap(i, iap2);
       
  2140 		VCXLOGLO2("CIptvServiceTest:: GetIap ret: %d", err);
       
  2141 		User::LeaveIfError(err);
       
  2142 
       
  2143 		if(iap1.iId != iap2.iId)
       
  2144 			{
       
  2145 	    	aErrPtr.Append( _L("Service's iap list has wrong iap.iId at index: ") );
       
  2146 	    	aErrPtr.AppendNum(i);
       
  2147     	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2148 			return KErrCorrupt;
       
  2149 			}
       
  2150 		if(iap1.iPriority != iap2.iPriority)
       
  2151 			{
       
  2152 	    	aErrPtr.Append( _L("Service's iap list has wrong iap.iPriority at index: ") );
       
  2153 	    	aErrPtr.AppendNum(i);
       
  2154 			VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2155 			return KErrCorrupt;
       
  2156 			}
       
  2157 /*
       
  2158 		if(iap1.iValueExists != iap2.iValueExists)
       
  2159 			{
       
  2160 	    	aErrPtr.Append( _L("service's iap list has wrong iap.iValueExists at index %d", i);
       
  2161     	    iLog->Log(_L("New externalized service's iap list has wrong iap.iValueExists"));
       
  2162 			CleanupStack::PopAndDestroy(service);
       
  2163 			CleanupStack::PopAndDestroy(buff);
       
  2164     	    VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2165 			return KErrCorrupt;
       
  2166 			}			*/
       
  2167 		}
       
  2168 
       
  2169 	VCXLOGLO1("<<<CIptvServiceTest::CompareServiceL");
       
  2170 
       
  2171 	return KErrNone;
       
  2172 	}
       
  2173 
       
  2174 
       
  2175 
       
  2176 // -----------------------------------------------------------------------------
       
  2177 // CIptvServiceTest::CreateServicesL
       
  2178 // CreateServicesL test method function.
       
  2179 // (other items were commented in a header).
       
  2180 // -----------------------------------------------------------------------------
       
  2181 //
       
  2182 TInt CIptvServiceTest::CreateServicesL( CStifItemParser& /* aItem */ )
       
  2183     {
       
  2184     VCXLOGLO1(">>>CIptvServiceTest::CreateServicesL");
       
  2185     // Print to UI
       
  2186     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  2187     _LIT( KWhere, "In CreateServicesL" );
       
  2188     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  2189     // Print to log file
       
  2190     iLog->Log( KWhere );
       
  2191 
       
  2192 	TInt err = KErrNone;
       
  2193 
       
  2194     TRAP( err, iServices = CIptvServices::NewL() );
       
  2195 
       
  2196     if(err != KErrNone)
       
  2197         {
       
  2198         VCXLOGLO1("CIptvServiceTest::CreateServicesL: creating instance failed!");
       
  2199         }
       
  2200 
       
  2201 	VCXLOGLO1("<<<CIptvServiceTest::CreateServicesL");
       
  2202     return err;
       
  2203     }
       
  2204 
       
  2205 
       
  2206 // -----------------------------------------------------------------------------
       
  2207 // CIptvServiceTest::DestroyServicesL
       
  2208 // DestroyServicesL test method function.
       
  2209 // (other items were commented in a header).
       
  2210 // -----------------------------------------------------------------------------
       
  2211 //
       
  2212 TInt CIptvServiceTest::DestroyServicesL( CStifItemParser& /* aItem */ )
       
  2213     {
       
  2214     VCXLOGLO1(">>>CIptvServiceTest::DestroyServicesL");
       
  2215     // Print to UI
       
  2216     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  2217     _LIT( KWhere, "In DestroyServicesL" );
       
  2218     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  2219     // Print to log file
       
  2220     iLog->Log( KWhere );
       
  2221 
       
  2222     TInt err = KErrNone;
       
  2223 
       
  2224 	if(iServices)
       
  2225 		{
       
  2226 		delete iServices;
       
  2227 		iServices = NULL;
       
  2228 		}
       
  2229 
       
  2230 	iServicesArray.ResetAndDestroy();
       
  2231 
       
  2232 	VCXLOGLO1("<<<CIptvServiceTest::DestroyServicesL");
       
  2233     return err;
       
  2234     }
       
  2235 
       
  2236 
       
  2237 
       
  2238 // -----------------------------------------------------------------------------
       
  2239 // CIptvServiceTest::ServicesAddL
       
  2240 // ServicesAddL test method function.
       
  2241 // (other items were commented in a header).
       
  2242 // -----------------------------------------------------------------------------
       
  2243 //
       
  2244 TInt CIptvServiceTest::ServicesAddL( CStifItemParser& /* aItem */ )
       
  2245     {
       
  2246     VCXLOGLO1(">>>CIptvServiceTest::ServicesAddL");
       
  2247     // Print to UI
       
  2248     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  2249     _LIT( KWhere, "In ServicesAddL" );
       
  2250     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  2251     // Print to log file
       
  2252     iLog->Log( KWhere );
       
  2253 
       
  2254 	TInt err = KErrNone;
       
  2255 
       
  2256 	CIptvService* copyService;
       
  2257 	TRAP( err, copyService = CIptvService::NewL() );
       
  2258 	if(err != KErrNone)
       
  2259 		{
       
  2260 		VCXLOGLO1("CIptvServiceTest::ServicesAddL: Creating instance of CIptvService failed.");
       
  2261 	    iLog->Log(_L("Creating instance of CIptvService failed."));
       
  2262 	    VCXLOGLO1("<<<CIptvServiceTest::ServicesAddL");
       
  2263 		return KErrNoMemory;
       
  2264 		}
       
  2265 
       
  2266 	CleanupStack::PushL(copyService);
       
  2267 	HBufC8* buff;
       
  2268 	TRAP( err, buff = iService->GetL() );
       
  2269 	if(err != KErrNone)
       
  2270 		{
       
  2271 		VCXLOGLO1("CIptvServiceTest::ServicesAddL: GetL failed.");
       
  2272 	    iLog->Log(_L("GetL failed."));
       
  2273 	    CleanupStack::PopAndDestroy(copyService);
       
  2274 	    VCXLOGLO1("<<<CIptvServiceTest::ServicesAddL");
       
  2275 		return KErrGeneral;
       
  2276 		}
       
  2277 	CleanupStack::PushL(buff);
       
  2278 	TRAP( err, copyService->SetL( buff->Des() ) );
       
  2279 	if(err != KErrNone)
       
  2280 		{
       
  2281 		VCXLOGLO1("CIptvServiceTest::ServicesAddL: SetL failed.");
       
  2282 	    iLog->Log(_L("SetL failed."));
       
  2283 	    CleanupStack::PopAndDestroy(buff);
       
  2284 	    CleanupStack::PopAndDestroy(copyService);
       
  2285 	    VCXLOGLO1("<<<CIptvServiceTest::ServicesAddL");
       
  2286 		return KErrGeneral;
       
  2287 		}
       
  2288 
       
  2289 	err = iServicesArray.Append(copyService);
       
  2290 
       
  2291 	CleanupStack::PopAndDestroy(buff);
       
  2292 	CleanupStack::Pop(copyService);
       
  2293 	copyService = NULL;
       
  2294 
       
  2295 	if(err != KErrNone)
       
  2296 		{
       
  2297 		VCXLOGLO1("CIptvServiceTest::ServicesAddL: Adding service to array failed.");
       
  2298 	    iLog->Log(_L("Adding service to array failed."));
       
  2299 	    VCXLOGLO1("<<<CIptvServiceTest::ServicesAddL");
       
  2300 		return err;
       
  2301 		}
       
  2302 
       
  2303 	// do stuff
       
  2304 	TInt serviceCount = iServices->Count();
       
  2305 
       
  2306 	TInt err2 = KErrNone;
       
  2307 	TRAP(err2, err = iServices->AddL(*iService));
       
  2308 
       
  2309 
       
  2310 	if(err != KErrNone)
       
  2311 		{
       
  2312 		VCXLOGLO1("CIptvServiceTest::ServicesAddL: CIptvServices::AddL returned error.");
       
  2313 	    iLog->Log(_L("CIptvServices returned error."));
       
  2314 	    VCXLOGLO1("<<<CIptvServiceTest::ServicesAddL");
       
  2315 		return err;
       
  2316 		}
       
  2317 
       
  2318 	if(err2 != KErrNone)
       
  2319 		{
       
  2320 		VCXLOGLO1("CIptvServiceTest::ServicesAddL: CIptvServices::AddL caused a leave.");
       
  2321 	    iLog->Log(_L("CIptvServices caused a leave."));
       
  2322 	    VCXLOGLO1("<<<CIptvServiceTest::ServicesAddL");
       
  2323 		return err;
       
  2324 		}
       
  2325 
       
  2326 // verify results
       
  2327 
       
  2328 	if( serviceCount >= iServices->Count() )
       
  2329 		{
       
  2330 		VCXLOGLO1("CIptvServiceTest::ServicesAddL: CIptvServices::Count of services did not incerement.");
       
  2331 	    iLog->Log(_L("CIptvServices::Count of services did not incerement."));
       
  2332 	    VCXLOGLO1("<<<CIptvServiceTest::ServicesAddL");
       
  2333 		return KErrGeneral;
       
  2334 		}
       
  2335 
       
  2336 	CIptvService* service;
       
  2337 	TRAP( err, service = iServices->GetServiceL(serviceCount) );
       
  2338 	if(err != KErrNone)
       
  2339 		{
       
  2340 		VCXLOGLO1("CIptvServiceTest::ServicesAddL: CIptvServices::GetServiceL caused a leave.");
       
  2341 	    iLog->Log(_L("CIptvServices::GetServiceL caused a leave."));
       
  2342 	    VCXLOGLO1("<<<CIptvServiceTest::ServicesAddL");
       
  2343 		return err;
       
  2344 		}
       
  2345 
       
  2346 	CleanupStack::PushL(service);
       
  2347 
       
  2348 	TBufC<512> errorMsg(_L("CIptvServiceTest::ServicesAddL: Service was added in the list and now "));
       
  2349 
       
  2350 	err = CompareService(errorMsg.Des(), *iService, *service);
       
  2351 
       
  2352 	if(err != KErrNone)
       
  2353 		{
       
  2354 		IPTV_LOGTEXT(errorMsg.Des());
       
  2355 		iLog->Log(errorMsg.Des());
       
  2356 		CleanupStack::PopAndDestroy(service);
       
  2357     	VCXLOGLO1("<<<CIptvServiceTest::DoInternalizeL");
       
  2358 		return err;
       
  2359     	}
       
  2360 
       
  2361 	CleanupStack::PopAndDestroy(service);
       
  2362 
       
  2363 
       
  2364 	VCXLOGLO1("<<<CIptvServiceTest::ServicesAddL");
       
  2365     return err;
       
  2366 
       
  2367     }
       
  2368 
       
  2369 
       
  2370 // -----------------------------------------------------------------------------
       
  2371 // CIptvServiceTest::ServicesCountL
       
  2372 // ServicesCountL test method function.
       
  2373 // (other items were commented in a header).
       
  2374 // -----------------------------------------------------------------------------
       
  2375 //
       
  2376 TInt CIptvServiceTest::ServicesCountL( CStifItemParser& aItem )
       
  2377     {
       
  2378     VCXLOGLO1(">>>CIptvServiceTest::ServicesCountL");
       
  2379     // Print to UI
       
  2380     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  2381     _LIT( KWhere, "In ServicesCountL" );
       
  2382     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  2383     // Print to log file
       
  2384     iLog->Log( KWhere );
       
  2385 
       
  2386 
       
  2387 	TInt err = KErrNone;
       
  2388 
       
  2389 // get params
       
  2390 	TInt expectedCount = 0;
       
  2391 
       
  2392     if(aItem.GetNextInt(expectedCount) == KErrNone)
       
  2393         {
       
  2394         VCXLOGLO2("CIptvServiceTest::ServicesCountL: param expected count = %d", expectedCount);
       
  2395         }
       
  2396     else
       
  2397         {
       
  2398         VCXLOGLO1("CIptvServiceTest::ServicesCountL: reading expected count parameter failed");
       
  2399         iLog->Log(_L("Reading expected count parameter failed"));
       
  2400         VCXLOGLO1("<<<CIptvServiceTest::ServicesCountL");
       
  2401         return KErrArgument;
       
  2402         }
       
  2403 
       
  2404 // do stuff
       
  2405 	if(iServices->Count() != expectedCount)
       
  2406 		{
       
  2407 		VCXLOGLO1("CIptvServiceTest::ServicesCountL: Instance of CIptvServices::Count didn't return the expected value.");
       
  2408 	    iLog->Log(_L(" Instance of CIptvServices::Count didn't return the expected value."));
       
  2409 	    VCXLOGLO1("<<<CIptvServiceTest::ServicesCountL");
       
  2410 		return err;
       
  2411 		}
       
  2412 
       
  2413 // verify results
       
  2414 
       
  2415 
       
  2416 	VCXLOGLO1("<<<CIptvServiceTest::ServicesCountL");
       
  2417     return err;
       
  2418 
       
  2419     }
       
  2420 
       
  2421 
       
  2422 
       
  2423 // -----------------------------------------------------------------------------
       
  2424 // CIptvServiceTest::ServicesInternalizeL
       
  2425 // ServicesInternalizeL test method function.
       
  2426 // (other items were commented in a header).
       
  2427 // -----------------------------------------------------------------------------
       
  2428 //
       
  2429 TInt CIptvServiceTest::ServicesInternalizeL( CStifItemParser& /* aItem */ )
       
  2430     {
       
  2431     VCXLOGLO1(">>>CIptvServiceTest::ServicesInternalizeL");
       
  2432     // Print to UI
       
  2433     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  2434     _LIT( KWhere, "In ServicesInternalizeL" );
       
  2435     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  2436     // Print to log file
       
  2437     iLog->Log( KWhere );
       
  2438 
       
  2439 
       
  2440 	TInt err = KErrNone;
       
  2441 
       
  2442 	if(iServicesBuff == NULL)
       
  2443 	{
       
  2444         VCXLOGLO1("CIptvServiceTest::ServicesInternalizeL: ServicesExternalizeL must be called first");
       
  2445         iLog->Log(_L("ServicesExternalizeL must be called first"));
       
  2446         VCXLOGLO1("<<<CIptvServiceTest::ServicesInternalizeL");
       
  2447         return KErrArgument;
       
  2448 	}
       
  2449 
       
  2450 	TPtr8 buffPtr(iServicesBuff->Des());
       
  2451 
       
  2452 //  setup new CIptvService
       
  2453 	CIptvServices* services;
       
  2454 
       
  2455     TRAP(err, services = CIptvServices::NewL());
       
  2456     if(err != KErrNone)
       
  2457         {
       
  2458         VCXLOGLO1("CIptvServiceTest::ServicesInternalizeL: Creating instance of CIptvServices failed!");
       
  2459         iLog->Log(_L("Creating instance of CIptvServices failed!"));
       
  2460         VCXLOGLO1("<<<CIptvServiceTest::ServicesInternalizeL");
       
  2461 		return KErrNoMemory;
       
  2462         }
       
  2463 
       
  2464   	CleanupStack::PushL(services);
       
  2465 
       
  2466 	// internalize the data
       
  2467 
       
  2468 	RDesReadStream readStream;
       
  2469 	readStream.Open( buffPtr );
       
  2470 	TRAP( err, services->InternalizeL(readStream) );
       
  2471     readStream.Close();
       
  2472     if(err != KErrNone)
       
  2473         {
       
  2474         VCXLOGLO1("CIptvServiceTest::ServicesInternalizeL: InternalizeL failed!");
       
  2475         iLog->Log(_L("InternalizeL failed!"));
       
  2476         CleanupStack::PopAndDestroy(services);
       
  2477         VCXLOGLO1("<<<CIptvServiceTest::ServicesInternalizeL");
       
  2478 		return KErrGeneral;
       
  2479         }
       
  2480 
       
  2481 // verify results
       
  2482 
       
  2483 	TBufC<512> errorMsg(_L("CIptvServiceTest::ServicesInternalizeL: Service was internalized and now "));
       
  2484 
       
  2485 
       
  2486 	//err = CompareService(errorMsg.Des(), *iService, *services);
       
  2487 
       
  2488 	if(err != KErrNone)
       
  2489 		{
       
  2490 		IPTV_LOGTEXT(errorMsg.Des());
       
  2491 		iLog->Log(errorMsg.Des());
       
  2492 		CleanupStack::PopAndDestroy(services);
       
  2493     	VCXLOGLO1("<<<CIptvServiceTest::ServicesInternalizeL");
       
  2494 		return err;
       
  2495     	}
       
  2496 
       
  2497 	delete iServicesBuff;
       
  2498 	iServicesBuff = NULL;
       
  2499 
       
  2500 	CleanupStack::PopAndDestroy(services);
       
  2501 
       
  2502 	VCXLOGLO1("<<<CIptvServiceTest::ServicesInternalizeL");
       
  2503     return err;
       
  2504 
       
  2505     }
       
  2506 
       
  2507 
       
  2508 
       
  2509 // -----------------------------------------------------------------------------
       
  2510 // CIptvServiceTest::ServicesExternalizeL
       
  2511 // ServicesExternalizeL test method function.
       
  2512 // (other items were commented in a header).
       
  2513 // -----------------------------------------------------------------------------
       
  2514 //
       
  2515 TInt CIptvServiceTest::ServicesExternalizeL( CStifItemParser& /* aItem */ )
       
  2516     {
       
  2517     VCXLOGLO1(">>>CIptvServiceTest::ServicesExternalizeL");
       
  2518     // Print to UI
       
  2519     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  2520     _LIT( KWhere, "In ServicesExternalizeL" );
       
  2521     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  2522     // Print to log file
       
  2523     iLog->Log( KWhere );
       
  2524 
       
  2525 	TInt err = KErrNone;
       
  2526 
       
  2527 	TUint32 dataSize = iServices->CountExternalizeSize();
       
  2528 
       
  2529     if(iServicesBuff != NULL)
       
  2530     	{
       
  2531     	delete iServicesBuff;
       
  2532     	iServicesBuff = NULL;
       
  2533     	}
       
  2534 
       
  2535 	TRAP( err, iServicesBuff = HBufC8::NewL(dataSize) );
       
  2536     if(err != KErrNone)
       
  2537         {
       
  2538         VCXLOGLO1("CIptvServiceTest::ServicesExternalizeL: Creating instance of HBufC8 failed!");
       
  2539         iLog->Log(_L("Creating instance of HBufC8 failed!"));
       
  2540         VCXLOGLO1("<<<CIptvServiceTest::ServicesExternalizeL");
       
  2541 		return KErrNoMemory;
       
  2542         }
       
  2543 
       
  2544 	TPtr8 buffPtr(iServicesBuff->Des());
       
  2545 
       
  2546 	RDesWriteStream writeStream;
       
  2547 	writeStream.Open( buffPtr );
       
  2548 	TRAP( err, iServices->ExternalizeL(writeStream) );
       
  2549 	if(err != KErrNone)
       
  2550 		{
       
  2551 		TRAP( err, writeStream.CommitL() );
       
  2552 		}
       
  2553 	writeStream.Close();
       
  2554     if(err != KErrNone)
       
  2555         {
       
  2556         VCXLOGLO1("CIptvServiceTest::ServicesExternalizeL: ExternalizeL failed!");
       
  2557         iLog->Log(_L("ExternalizeL failed!"));
       
  2558         delete iServicesBuff;
       
  2559         iServicesBuff = NULL;
       
  2560         VCXLOGLO1("<<<CIptvServiceTest::ServicesExternalizeL");
       
  2561 		return KErrGeneral;
       
  2562         }
       
  2563 
       
  2564 	VCXLOGLO1("<<<CIptvServiceTest::ServicesExternalizeL");
       
  2565     return err;
       
  2566 
       
  2567     }
       
  2568 
       
  2569 
       
  2570 // -----------------------------------------------------------------------------
       
  2571 // CIptvServiceTest::ServicesGetServiceL
       
  2572 // ServicesGetServiceL test method function.
       
  2573 // (other items were commented in a header).
       
  2574 // -----------------------------------------------------------------------------
       
  2575 //
       
  2576 TInt CIptvServiceTest::ServicesGetServiceL( CStifItemParser& aItem )
       
  2577     {
       
  2578     VCXLOGLO1(">>>CIptvServiceTest::ServicesGetServiceL");
       
  2579     // Print to UI
       
  2580     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  2581     _LIT( KWhere, "In ServicesGetServiceL" );
       
  2582     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  2583     // Print to log file
       
  2584     iLog->Log( KWhere );
       
  2585 
       
  2586 
       
  2587 	TInt err = KErrNone;
       
  2588 
       
  2589 // get params
       
  2590 	TInt index;
       
  2591 
       
  2592  	if(aItem.GetNextInt(index) == KErrNone)
       
  2593         {
       
  2594         VCXLOGLO2("CIptvServiceTest::ServicesGetServiceL: param index = %d", index);
       
  2595         }
       
  2596     else
       
  2597         {
       
  2598         VCXLOGLO1("CIptvServiceTest::ServicesGetServiceL: reading index parameter failed");
       
  2599         iLog->Log(_L("Reading index parameter failed"));
       
  2600         VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceL");
       
  2601         return KErrArgument;
       
  2602         }
       
  2603 
       
  2604 // do stuff
       
  2605 	CIptvService* service = NULL;
       
  2606 
       
  2607 	TRAP(err, service = iServices->GetServiceL(index) );
       
  2608   	if(err != KErrNone)
       
  2609         {
       
  2610         VCXLOGLO1("CIptvServiceTest::ServicesGetServiceL: CIptvServices::GetServiceL failed");
       
  2611         iLog->Log(_L("CIptvServices::GetServiceL failed"));
       
  2612         VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceL");
       
  2613 		return KErrGeneral;
       
  2614         }
       
  2615 
       
  2616 	if(service == NULL)
       
  2617 		{
       
  2618  		VCXLOGLO1("CIptvServiceTest::ServicesGetServiceL: CIptvServices::GetServiceL returned NULL");
       
  2619         iLog->Log(_L("CIptvServices::GetServiceL returned NULL"));
       
  2620         VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceL");
       
  2621 		return KErrBadHandle;
       
  2622 		}
       
  2623 
       
  2624    	CleanupStack::PushL(service);
       
  2625 
       
  2626 // verify results
       
  2627 
       
  2628 	CIptvService* service2 = NULL;
       
  2629 
       
  2630 	if( index >= iServicesArray.Count() )
       
  2631 		{
       
  2632 		VCXLOGLO1("CIptvServiceTest::ServicesGetServiceL: Index larget than iServicesArray.Count, cannot verify result");
       
  2633         iLog->Log(_L("Index larget than iServicesArray.Count, cannot verify result"));
       
  2634         VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceL");
       
  2635 		return KErrGeneral;
       
  2636 		}
       
  2637 
       
  2638 	service2 = iServicesArray[index];
       
  2639 
       
  2640 	TBufC<512> errorMsg (_L("CIptvServiceTest::ServicesGetServiceL: CIptvServices::GetServiceL returned ") );
       
  2641 
       
  2642 	err = CompareService(errorMsg.Des(), *service, *service2);
       
  2643 
       
  2644 	if(err != KErrNone)
       
  2645 		{
       
  2646 		IPTV_LOGTEXT(errorMsg.Des());
       
  2647 		iLog->Log(errorMsg.Des());
       
  2648 		CleanupStack::PopAndDestroy(service);
       
  2649     	VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceL");
       
  2650 		return KErrCorrupt;
       
  2651 		}
       
  2652 
       
  2653 	CleanupStack::PopAndDestroy(service);
       
  2654 
       
  2655 	VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceL");
       
  2656     return err;
       
  2657 
       
  2658     }
       
  2659 
       
  2660 
       
  2661 // -----------------------------------------------------------------------------
       
  2662 // CIptvServiceTest::ServicesGetServiceByRefL
       
  2663 // ServicesGetByRefL test method function.
       
  2664 // (other items were commented in a header).
       
  2665 // -----------------------------------------------------------------------------
       
  2666 //
       
  2667 TInt CIptvServiceTest::ServicesGetServiceByRefL( CStifItemParser& aItem )
       
  2668     {
       
  2669     VCXLOGLO1(">>>CIptvServiceTest::ServicesGetServiceByRefL");
       
  2670     // Print to UI
       
  2671     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  2672     _LIT( KWhere, "In ServicesGetServiceByRefL" );
       
  2673     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  2674     // Print to log file
       
  2675     iLog->Log( KWhere );
       
  2676 
       
  2677 
       
  2678 	TInt err = KErrNone;
       
  2679 
       
  2680 // get params
       
  2681 
       
  2682 	TInt index;
       
  2683 
       
  2684  	if(aItem.GetNextInt(index) == KErrNone)
       
  2685         {
       
  2686         VCXLOGLO2("CIptvServiceTest::ServicesGetServiceByRefL: param index = %d", index);
       
  2687         }
       
  2688     else
       
  2689         {
       
  2690         VCXLOGLO1("CIptvServiceTest::ServicesGetServiceByRefL: reading index parameter failed");
       
  2691         iLog->Log(_L("Reading index parameter failed"));
       
  2692         VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceByRefL");
       
  2693         return KErrArgument;
       
  2694         }
       
  2695 
       
  2696 // do stuff
       
  2697 
       
  2698 
       
  2699 // verify results
       
  2700 	CIptvService* service2 = NULL;
       
  2701 
       
  2702 	if( index >= iServicesArray.Count() )
       
  2703 		{
       
  2704 		VCXLOGLO1("CIptvServiceTest::ServicesGetServiceByRefL: Index larget than iServicesArray.Count, cannot verify result");
       
  2705         iLog->Log(_L("Index larget than iServicesArray.Count, cannot verify result"));
       
  2706         VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceByRefL");
       
  2707 		return KErrGeneral;
       
  2708 		}
       
  2709 
       
  2710 	service2 = iServicesArray[index];
       
  2711 
       
  2712 	TBufC<512> errorMsg (_L("CIptvServiceTest::ServicesGetServiceByRefL: CIptvServices::GetServiceL returned  ") );
       
  2713 
       
  2714 	err = CompareService(errorMsg.Des(), iServices->GetServiceRefL(index), *service2);
       
  2715 
       
  2716 	if( err == KErrNone )
       
  2717 	    {
       
  2718 	    CIptvService& service3 = iServices->Service(index, err);
       
  2719 	    if( err == KErrNone )
       
  2720 	        {
       
  2721 	        err = CompareService(errorMsg.Des(), service3, *service2);
       
  2722 	        }
       
  2723 	    if( err != KErrNone )
       
  2724     	    {
       
  2725     	    VCXLOGLO2("CIptvServiceTest:: getservice() compare error: %d", err);
       
  2726     	    }
       
  2727 	    }
       
  2728 	else
       
  2729 	    {
       
  2730 		IPTV_LOGTEXT(errorMsg.Des());
       
  2731 		iLog->Log(errorMsg.Des());
       
  2732     	VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceByRefL");
       
  2733 		return KErrCorrupt;
       
  2734 		}
       
  2735 
       
  2736 	VCXLOGLO1("<<<CIptvServiceTest::ServicesGetServiceByRefL");
       
  2737     return err;
       
  2738 
       
  2739     }
       
  2740 
       
  2741 
       
  2742     /*
       
  2743 // -----------------------------------------------------------------------------
       
  2744 // CIptvServiceTest::XXXXXL
       
  2745 // XXXXXL test method function.
       
  2746 // (other items were commented in a header).
       
  2747 // -----------------------------------------------------------------------------
       
  2748 //
       
  2749 TInt CIptvServiceTest::XXXXXL( CStifItemParser& aItem )
       
  2750     {
       
  2751     VCXLOGLO1(">>>CIptvServiceTest::XXXXXL");
       
  2752     // Print to UI
       
  2753     _LIT( KIptvServiceTest, "IptvServiceTest" );
       
  2754     _LIT( KWhere, "In XXXXXL" );
       
  2755     TestModuleIf().Printf( 0, KIptvServiceTest, KWhere );
       
  2756     // Print to log file
       
  2757     iLog->Log( KWhere );
       
  2758 
       
  2759 
       
  2760 	TInt err = KErrNone;
       
  2761 
       
  2762 // get params
       
  2763 
       
  2764 
       
  2765 // do stuff
       
  2766 
       
  2767 
       
  2768 // verify results
       
  2769 
       
  2770 
       
  2771 	VCXLOGLO1("<<<CIptvServiceTest::XXXXXL");
       
  2772     return err;
       
  2773 
       
  2774     }
       
  2775     */
       
  2776 
       
  2777 
       
  2778 
       
  2779 
       
  2780 // -----------------------------------------------------------------------------
       
  2781 // CIptvServiceTest::?member_function
       
  2782 // ?implementation_description
       
  2783 // (other items were commented in a header).
       
  2784 // -----------------------------------------------------------------------------
       
  2785 //
       
  2786 /*
       
  2787 TInt CIptvServiceTest::?member_function(
       
  2788    CItemParser& aItem )
       
  2789    {
       
  2790 
       
  2791    ?code
       
  2792 
       
  2793    }
       
  2794 */
       
  2795 
       
  2796 // ========================== OTHER EXPORTED FUNCTIONS =========================
       
  2797 // None
       
  2798 
       
  2799 //  End of File