mmappfw_plat/playback_helper_api/tsrc/playbackhelpertest/src/playbackhelpertestblocks.cpp
changeset 0 a2952bb97e68
equal deleted inserted replaced
-1:000000000000 0:a2952bb97e68
       
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Description
       
    15 *
       
    16 */
       
    17 
       
    18 // Version : %version: 6 %
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 // [INCLUDE FILES] - do not remove
       
    24 #include <e32svr.h>
       
    25 #include <eikenv.h>
       
    26 #include <StifParser.h>
       
    27 #include <Stiftestinterface.h>
       
    28 #include <mediarecognizer.h>
       
    29 #include <streaminglinkmodel.h>
       
    30 #include <devsoundif.h>
       
    31 
       
    32 #include "playbackhelpertest.h"
       
    33 
       
    34 #ifdef __WINSCW__
       
    35 _LIT( KVideoTestPath, "c:\\data\\Videos\\" );
       
    36 #else
       
    37 _LIT( KVideoTestPath, "e:\\data\\Videos\\" );
       
    38 #endif
       
    39 
       
    40 // ============================ MEMBER FUNCTIONS ===================================================
       
    41 
       
    42 // -------------------------------------------------------------------------------------------------
       
    43 // CPlaybackHelperTest::Delete
       
    44 // Delete here all resources allocated and opened from test methods.
       
    45 // Called from destructor.
       
    46 // -------------------------------------------------------------------------------------------------
       
    47 //
       
    48 void CPlaybackHelperTest::Delete()
       
    49 {
       
    50 }
       
    51 
       
    52 // -------------------------------------------------------------------------------------------------
       
    53 // CPlaybackHelperTest::RunMethodL
       
    54 // Run specified method. Contains also table of test mothods and their names.
       
    55 // -------------------------------------------------------------------------------------------------
       
    56 //
       
    57 TInt CPlaybackHelperTest::RunMethodL( CStifItemParser& aItem )
       
    58 {
       
    59     static TStifFunctionInfo const KFunctions[] =
       
    60     {
       
    61         // Copy this line for every implemented function.
       
    62         // First string is the function name used in TestScripter script file.
       
    63         // Second is the actual implementation member function.
       
    64         //ADD NEW ENTRY HERE
       
    65         // [test cases entries] - Do not remove
       
    66         ENTRY( "IdentifyMediaTypeViaFileName", CPlaybackHelperTest::IdentifyMediaTypeViaFileName),
       
    67         ENTRY( "IdentifyMediaTypeViaFileHandle", CPlaybackHelperTest::IdentifyMediaTypeViaFileHandle),
       
    68         ENTRY( "MimeTypeViaFileName", CPlaybackHelperTest::MimeTypeViaFileName),
       
    69         ENTRY( "MimeTypeViaFileHandle", CPlaybackHelperTest::MimeTypeViaFileHandle),
       
    70         ENTRY( "IsValidStreamingPrefix", CPlaybackHelperTest::IsValidStreamingPrefix),
       
    71         ENTRY( "IsValidUrlPrefix1", CPlaybackHelperTest::IsValidUrlPrefix1),
       
    72         ENTRY( "IsValidUrlPrefix2", CPlaybackHelperTest::IsValidUrlPrefix2),
       
    73         ENTRY( "FreeFilehandleForRecognizer", CPlaybackHelperTest::FreeFilehandleForRecognizer),
       
    74         ENTRY( "OpenLinkFile1", CPlaybackHelperTest::OpenLinkFile1),
       
    75         ENTRY( "OpenLinkFile2", CPlaybackHelperTest::OpenLinkFile2),
       
    76         ENTRY( "GetNextLink", CPlaybackHelperTest::GetNextLink),
       
    77         ENTRY( "MaxLinkLength", CPlaybackHelperTest::MaxLinkLength ),
       
    78         ENTRY( "CreateNewLinkFile", CPlaybackHelperTest::CreateNewLinkFile),
       
    79         ENTRY( "MultiLinksCount",CPlaybackHelperTest::MultiLinksCount),
       
    80         ENTRY( "ResetLinkCount", CPlaybackHelperTest::ResetLinkCount),
       
    81         ENTRY( "FreeFilehandleForLink", CPlaybackHelperTest::FreeFilehandleForLink),
       
    82         ENTRY( "OpenAsxLinkViaFileName", CPlaybackHelperTest::OpenAsxLinkViaFileName),
       
    83         ENTRY( "OpenAsxLinkViaFileHandle", CPlaybackHelperTest::OpenAsxLinkViaFileHandle),
       
    84         ENTRY( "GetNumberOfVolumeSteps", CPlaybackHelperTest::GetNumberOfVolumeSteps),
       
    85 	    ENTRY( "IsSeekable", CPlaybackHelperTest::IsSeekable)
       
    86 
       
    87     };
       
    88     const TInt count = sizeof( KFunctions ) / sizeof( TStifFunctionInfo );
       
    89 
       
    90     return RunInternalL( KFunctions, count, aItem );
       
    91 }
       
    92 
       
    93 //
       
    94 // -------------------------------------------------------------------------------------------------
       
    95 // CPlaybackHelperTest::IdentifyMediaTypeViaFileName
       
    96 // -------------------------------------------------------------------------------------------------
       
    97 //
       
    98 TInt CPlaybackHelperTest::IdentifyMediaTypeViaFileName( CStifItemParser& aItem )
       
    99 {
       
   100     iLog->Log(_L("CPlaybackHelperTest::IdentifyMediaTypeViaFileName"));
       
   101 
       
   102     TInt result = KErrNone;
       
   103     TInt err = KErrNone;
       
   104 
       
   105     TInt expectedMediaType;
       
   106     TInt mediaType = 0;
       
   107 
       
   108     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   109 
       
   110     if ( ( err = aItem.GetNextInt( expectedMediaType ) ) == KErrNone )
       
   111     {
       
   112         TPtrC filename;
       
   113     
       
   114         if ( ( err = aItem.GetNextString( filename ) ) == KErrNone )
       
   115         {
       
   116             TBool pathNeeded;
       
   117 
       
   118             if ( ( err = aItem.GetNextInt( pathNeeded ) ) == KErrNone )
       
   119             {
       
   120                 TBuf<120> fullPath;
       
   121 
       
   122                 if ( pathNeeded )
       
   123                 {
       
   124                     fullPath.Append( KVideoTestPath );
       
   125                 }
       
   126 
       
   127                 fullPath.Append( filename );
       
   128             
       
   129                 TRAP( result, mediaType = iMediaRecognizer->IdentifyMediaTypeL( fullPath ) );
       
   130 
       
   131                 if ( result != KErrNone || expectedMediaType != mediaType )
       
   132                 {
       
   133                     err = KErrGeneral;
       
   134                 }
       
   135             }
       
   136         }
       
   137     }
       
   138 
       
   139     if ( err == KErrNone )
       
   140     {
       
   141         err = result;
       
   142     }
       
   143 
       
   144     return err;
       
   145 }
       
   146 
       
   147 //
       
   148 // -------------------------------------------------------------------------------------------------
       
   149 // CPlaybackHelperTest::IdentifyMediaTypeViaFileHandle
       
   150 // -------------------------------------------------------------------------------------------------
       
   151 //
       
   152 TInt CPlaybackHelperTest::IdentifyMediaTypeViaFileHandle( CStifItemParser& aItem )
       
   153 {
       
   154     iLog->Log(_L("CPlaybackHelperTest::IdentifyMediaTypeViaFileHandle"));
       
   155 
       
   156     TInt result = KErrNone;
       
   157     TInt err = KErrNone;
       
   158     TInt expectedMediaType;
       
   159     TInt fileHandle32;
       
   160     TInt mediaType = 0;
       
   161     RFs fs;
       
   162 
       
   163     User::LeaveIfError( fs.Connect() );
       
   164     User::LeaveIfError( fs.ShareProtected() );
       
   165 
       
   166     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   167     
       
   168     if ( ( err = aItem.GetNextInt( fileHandle32 ) ) == KErrNone )
       
   169     {   
       
   170     
       
   171 #ifndef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
       
   172         //
       
   173         // set RFile as default if the 64-bit flag is not defined
       
   174         //
       
   175         fileHandle32 = ETrue;
       
   176 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
       
   177     
       
   178         if ( ( err = aItem.GetNextInt( expectedMediaType ) ) == KErrNone )
       
   179         {   
       
   180             TPtrC filename;
       
   181                     
       
   182             if ( ( err = aItem.GetNextString( filename ) ) == KErrNone )
       
   183             {
       
   184                 TBuf<120> fullPath;
       
   185     
       
   186                 fullPath.Append( KVideoTestPath );
       
   187                 fullPath.Append( filename );
       
   188                                            
       
   189                 if ( fileHandle32 )
       
   190                 {
       
   191                     //
       
   192                     // using 32-bit file handle
       
   193                     //
       
   194                     RFile file;
       
   195                     err = file.Open( fs,
       
   196                                      fullPath,
       
   197                                      EFileShareAny | EFileStream | EFileRead );
       
   198                 
       
   199                     if ( err == KErrNone )
       
   200                     {
       
   201                         TRAP( result, mediaType = iMediaRecognizer->IdentifyMediaTypeL( fullPath, file ) );
       
   202                     }
       
   203                     
       
   204                     file.Close();    
       
   205                 }
       
   206 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
       
   207                 else
       
   208                 {
       
   209                     //
       
   210                     // using 64-bit file handle
       
   211                     //
       
   212                     RFile64 file64;
       
   213                     err = file64.Open( fs,
       
   214                                        fullPath,
       
   215                                        EFileShareAny | EFileStream | EFileRead );
       
   216     
       
   217                     if ( err == KErrNone )
       
   218                     {
       
   219                         TRAP( result, mediaType = iMediaRecognizer->IdentifyMediaTypeL( fullPath, file64 ) );                        
       
   220                     }
       
   221                     
       
   222                     file64.Close();
       
   223                 }
       
   224 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
       
   225                 
       
   226                 if ( result != KErrNone || expectedMediaType != mediaType )
       
   227                 {
       
   228                     err = KErrGeneral;
       
   229                 }                                        
       
   230             }        
       
   231         }
       
   232     }
       
   233 
       
   234     if ( err == KErrNone )
       
   235     {
       
   236         err = result;
       
   237     }
       
   238 
       
   239     fs.Close();
       
   240 
       
   241     return err;
       
   242 }
       
   243 
       
   244 //
       
   245 // -------------------------------------------------------------------------------------------------
       
   246 // CPlaybackHelperTest::MimeTypeViaFileName
       
   247 // -------------------------------------------------------------------------------------------------
       
   248 //
       
   249 TInt CPlaybackHelperTest::MimeTypeViaFileName( CStifItemParser& aItem )
       
   250 {
       
   251     iLog->Log(_L("CPlaybackHelperTest::MimeTypeViaFileName"));
       
   252 
       
   253     TInt result = KErrNone;
       
   254     TInt err = KErrNone;
       
   255     TPtrC string;
       
   256     TPtrC expectedMimetype;
       
   257     TBuf<20> mimeType;
       
   258 
       
   259     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   260 
       
   261     if ( ( err = aItem.GetNextString( expectedMimetype ) ) == KErrNone )
       
   262     {
       
   263         TPtrC filename;
       
   264 
       
   265         if ( ( err = aItem.GetNextString( filename ) ) == KErrNone )
       
   266         {
       
   267             TBuf<120> fullPath;
       
   268 
       
   269             fullPath.Append( KVideoTestPath );
       
   270             fullPath.Append( filename );
       
   271 
       
   272             TRAP( result, mimeType = iMediaRecognizer->MimeTypeL( fullPath ) );
       
   273 
       
   274             if ( result != KErrNone || mimeType.CompareF( expectedMimetype ) )
       
   275             {
       
   276                 err = KErrGeneral;
       
   277             }
       
   278         }
       
   279     }
       
   280 
       
   281     if ( err == KErrNone )
       
   282     {
       
   283         err = result;
       
   284     }
       
   285 
       
   286     return err;
       
   287 }
       
   288 
       
   289 //
       
   290 // -------------------------------------------------------------------------------------------------
       
   291 // CPlaybackHelperTest::MimeTypeViaFileHandle
       
   292 // -------------------------------------------------------------------------------------------------
       
   293 //
       
   294 TInt CPlaybackHelperTest::MimeTypeViaFileHandle( CStifItemParser& aItem )
       
   295 {
       
   296     iLog->Log(_L("CPlaybackHelperTest::MimeTypeViaFileHandle"));
       
   297 
       
   298     TInt result = KErrNone;
       
   299     TInt err = KErrNone;
       
   300     TPtrC fileHandleType, expectedMimetype;
       
   301     TInt fileHandle32;
       
   302     TBuf<20> mimeType;
       
   303     
       
   304     RFs fs;
       
   305 
       
   306     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   307 
       
   308     User::LeaveIfError( fs.Connect() );
       
   309     User::LeaveIfError( fs.ShareProtected() );
       
   310 
       
   311     if ( ( err = aItem.GetNextInt( fileHandle32 ) ) == KErrNone )
       
   312     {  
       
   313     
       
   314 #ifndef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
       
   315         //
       
   316         // set RFile as default if the 64-bit flag is not defined
       
   317         //
       
   318         fileHandle32 = ETrue;
       
   319 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
       
   320     
       
   321         if ( ( err = aItem.GetNextString( expectedMimetype ) ) == KErrNone )
       
   322         {        
       
   323             TPtrC filename;
       
   324             
       
   325             if ( ( err = aItem.GetNextString( filename ) ) == KErrNone )
       
   326             {
       
   327                 TBuf<120> fullPath;
       
   328     
       
   329                 fullPath.Append( KVideoTestPath );
       
   330                 fullPath.Append( filename );
       
   331     
       
   332                 if ( fileHandle32 )
       
   333                 {
       
   334                     //
       
   335                     // using 32-bit file handle
       
   336                     //
       
   337                     RFile file;
       
   338                     err = file.Open( fs,
       
   339                                      fullPath,
       
   340                                      EFileShareAny | EFileStream | EFileRead );
       
   341         
       
   342                     if ( err == KErrNone )
       
   343                     {
       
   344                         TRAP( result, mimeType = iMediaRecognizer->MimeTypeL( file ) );
       
   345                     }
       
   346                     
       
   347                     file.Close();     
       
   348                 }
       
   349 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
       
   350                 else
       
   351                 {
       
   352                     //
       
   353                     // using 64-bit file handle
       
   354                     //
       
   355                     RFile64 file64;
       
   356                     err = file64.Open( fs,
       
   357                                        fullPath,
       
   358                                        EFileShareAny | EFileStream | EFileRead );
       
   359     
       
   360                     if ( err == KErrNone )
       
   361                     {
       
   362                         TRAP( result, mimeType = iMediaRecognizer->MimeTypeL( file64 ) );  
       
   363                     }
       
   364                     
       
   365                     file64.Close();
       
   366                 }
       
   367 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
       
   368                 
       
   369                 if ( result != KErrNone || mimeType.CompareF( expectedMimetype ) )
       
   370                 {
       
   371                     err = KErrGeneral;
       
   372                 }                   
       
   373             }
       
   374         }
       
   375     }
       
   376     
       
   377     if ( err == KErrNone )
       
   378     {
       
   379         err = result;
       
   380     }
       
   381 
       
   382     fs.Close();
       
   383 
       
   384     return err;
       
   385 }
       
   386 
       
   387 //
       
   388 // -------------------------------------------------------------------------------------------------
       
   389 // CPlaybackHelperTest::IsValidStreamingPrefix
       
   390 // -------------------------------------------------------------------------------------------------
       
   391 //
       
   392 TInt CPlaybackHelperTest::IsValidStreamingPrefix( CStifItemParser& aItem )
       
   393 {
       
   394     iLog->Log(_L("CPlaybackHelperTest::IsValidStreamingPrefix"));
       
   395 
       
   396     TInt err = KErrNone;
       
   397     TBool valid = EFalse;
       
   398 
       
   399     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   400 
       
   401     if ( ( err = aItem.GetNextInt( valid ) ) == KErrNone )
       
   402     {
       
   403         TPtrC string;
       
   404 
       
   405         if ( ( err = aItem.GetNextString( string ) ) == KErrNone )
       
   406         {
       
   407             if ( iMediaRecognizer->IsValidStreamingPrefix( string ) != valid )
       
   408             {
       
   409                 err = KErrGeneral;
       
   410             }
       
   411         }
       
   412     }
       
   413     return err;
       
   414 }
       
   415 
       
   416 //
       
   417 // -------------------------------------------------------------------------------------------------
       
   418 // CPlaybackHelperTest::IsValidUrlPrefix1
       
   419 // -------------------------------------------------------------------------------------------------
       
   420 //
       
   421 TInt CPlaybackHelperTest::IsValidUrlPrefix1( CStifItemParser& aItem )
       
   422 {
       
   423     iLog->Log(_L("CPlaybackHelperTest::IsValidUrlPrefix1"));
       
   424 
       
   425     TInt err = KErrNone;
       
   426     TBool valid = EFalse;
       
   427 
       
   428     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   429 
       
   430     if ( ( err = aItem.GetNextInt( valid ) ) == KErrNone )
       
   431     {
       
   432         TPtrC string;
       
   433         
       
   434         if ( ( err = aItem.GetNextString( string ) ) == KErrNone )
       
   435         {
       
   436             if ( iMediaRecognizer->IsValidUrlPrefix( string ) != valid )
       
   437             {
       
   438                 err = KErrGeneral;
       
   439             }
       
   440         }
       
   441     }
       
   442     return err;
       
   443 }
       
   444 
       
   445 //
       
   446 // -------------------------------------------------------------------------------------------------
       
   447 // CPlaybackHelperTest::IsValidUrlPrefix2
       
   448 // -------------------------------------------------------------------------------------------------
       
   449 //
       
   450 TInt CPlaybackHelperTest::IsValidUrlPrefix2( CStifItemParser& aItem )
       
   451 {
       
   452     iLog->Log(_L("CPlaybackHelperTest::IsValidUrlPrefix2"));
       
   453 
       
   454     TInt err = KErrNone;
       
   455     TBool valid = EFalse;
       
   456     TPtrC16 stringDes16;
       
   457 
       
   458     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   459 
       
   460     if ( ( err = aItem.GetNextInt( valid ) ) == KErrNone )
       
   461     {
       
   462         if ( ( err = aItem.GetNextString( stringDes16 ) ) == KErrNone )
       
   463         {
       
   464             HBufC8* string8 = NULL;
       
   465 
       
   466             TRAP( err, string8 = HBufC8::NewL( stringDes16.Length() ) );
       
   467 
       
   468             if ( err == KErrNone )
       
   469             {
       
   470                 TPtr8 stringDes8( string8->Des() );
       
   471                 stringDes8.Copy( stringDes16 );
       
   472 
       
   473                 if ( iMediaRecognizer->IsValidUrlPrefix( stringDes8 ) != valid )
       
   474                 {
       
   475                     err = KErrGeneral;
       
   476                 }
       
   477             }
       
   478 
       
   479             delete string8;
       
   480         }
       
   481     }
       
   482     return err;
       
   483 }
       
   484 
       
   485 //
       
   486 // -------------------------------------------------------------------------------------------------
       
   487 // CPlaybackHelperTest::FreeFilehandleForRecognizer
       
   488 // -------------------------------------------------------------------------------------------------
       
   489 //
       
   490 TInt CPlaybackHelperTest::FreeFilehandleForRecognizer()
       
   491 {
       
   492     iLog->Log(_L("CPlaybackHelperTest::FreeFilehandleForRecognizer"));
       
   493 
       
   494     TInt err = KErrNone;
       
   495 
       
   496     iMediaRecognizer->FreeFilehandle();
       
   497 
       
   498     return err;
       
   499 }
       
   500 
       
   501 //
       
   502 // -------------------------------------------------------------------------------------------------
       
   503 // CPlaybackHelperTest::OpenLinkFile1
       
   504 // -------------------------------------------------------------------------------------------------
       
   505 //
       
   506 TInt CPlaybackHelperTest::OpenLinkFile1( CStifItemParser& aItem )
       
   507 {
       
   508     iLog->Log(_L("CPlaybackHelperTest::OpenLinkFile1"));
       
   509 
       
   510     TInt err = KErrNone;
       
   511     TInt result = KErrNone;
       
   512 
       
   513     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   514 
       
   515     TPtrC filename;
       
   516     
       
   517     if ( ( err = aItem.GetNextString( filename ) ) == KErrNone )
       
   518     {
       
   519         TBuf<120> fullPath;
       
   520 
       
   521         fullPath.Append( KVideoTestPath );
       
   522         fullPath.Append( filename );
       
   523 
       
   524         TRAP( err, result = iStreamingLinkModel->OpenLinkFileL( fullPath ) );
       
   525     }
       
   526 
       
   527     if ( err == KErrNone )
       
   528     {
       
   529         err = result;
       
   530     }
       
   531 
       
   532     return err;
       
   533 }
       
   534 
       
   535 //
       
   536 // -------------------------------------------------------------------------------------------------
       
   537 // CPlaybackHelperTest::OpenLinkFile2
       
   538 // -------------------------------------------------------------------------------------------------
       
   539 //
       
   540 TInt CPlaybackHelperTest::OpenLinkFile2( CStifItemParser& aItem )
       
   541 {
       
   542     iLog->Log(_L("CPlaybackHelperTest::OpenLinkFile2"));
       
   543 
       
   544     TInt err = KErrNone;
       
   545     TInt result = KErrNone;
       
   546     RFile file;
       
   547     RFs fs;
       
   548 
       
   549     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   550 
       
   551     TRAP( err, fs.Connect() );
       
   552 
       
   553     TPtrC filename;
       
   554     
       
   555     if ( err == KErrNone && ( err = aItem.GetNextString( filename ) ) == KErrNone )
       
   556     {
       
   557         TBuf<120> fullPath;
       
   558 
       
   559         fullPath.Append( KVideoTestPath );
       
   560         fullPath.Append( filename );
       
   561 
       
   562         err = file.Open( fs,
       
   563                          fullPath,
       
   564                          EFileShareAny | EFileStream | EFileRead );
       
   565 
       
   566         if ( err == KErrNone )
       
   567         {
       
   568             TRAP( err, result = iStreamingLinkModel->OpenLinkFileL( file ) );
       
   569         }
       
   570     }
       
   571 
       
   572     if ( err == KErrNone )
       
   573     {
       
   574         err = result;
       
   575     }
       
   576 
       
   577     file.Close();
       
   578     fs.Close();
       
   579 
       
   580     return err;
       
   581 }
       
   582 
       
   583 //
       
   584 // -------------------------------------------------------------------------------------------------
       
   585 // CPlaybackHelperTest::GetNextLink
       
   586 // -------------------------------------------------------------------------------------------------
       
   587 //
       
   588 TInt CPlaybackHelperTest::GetNextLink( CStifItemParser& aItem )
       
   589 {
       
   590     iLog->Log(_L("CPlaybackHelperTest::GetNextLink"));
       
   591 
       
   592     TInt err = KErrNone;
       
   593     TInt result = KErrNone;
       
   594 
       
   595     TBool local = ETrue;
       
   596 
       
   597     HBufC* nextLink = HBufC::NewLC( 100 );
       
   598     TPtr nextLinkDes = nextLink->Des();
       
   599 
       
   600     HBufC* string = HBufC::NewLC( 100 );
       
   601     TPtr stringDes = string->Des();
       
   602 
       
   603     TPtrC stringC;
       
   604 
       
   605     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   606 
       
   607     if ( ( err = aItem.GetNextInt( local ) ) == KErrNone )
       
   608     {
       
   609         TRAP( err, result = iStreamingLinkModel->GetNextLinkL( nextLinkDes, local ) );
       
   610 
       
   611         if ( err == KErrNone &&
       
   612              result == KErrNone &&
       
   613              ( err = aItem.GetNextString( stringC ) ) == KErrNone )
       
   614         {
       
   615             nextLinkDes.Copy(stringC);
       
   616 
       
   617             if ( !stringDes.CompareF( nextLinkDes ) )
       
   618             {
       
   619                 err = KErrNotFound;
       
   620             }
       
   621         }
       
   622         else if ( result != KErrNone )
       
   623         {
       
   624             err = result;
       
   625         }
       
   626     }
       
   627 
       
   628     CleanupStack::PopAndDestroy(2); //string, nextLink
       
   629     return err;
       
   630 }
       
   631 
       
   632 //
       
   633 // -------------------------------------------------------------------------------------------------
       
   634 // CPlaybackHelperTest::MaxLinkLength
       
   635 // -------------------------------------------------------------------------------------------------
       
   636 //
       
   637 TInt CPlaybackHelperTest::MaxLinkLength( CStifItemParser& aItem )
       
   638 {
       
   639     iLog->Log(_L("CPlaybackHelperTest::MaxLinkLength"));
       
   640 
       
   641     TInt err = KErrNone;
       
   642     TInt length = 0;
       
   643 
       
   644     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   645 
       
   646     if ( ( err = aItem.GetNextInt( length ) ) == KErrNone )
       
   647     {
       
   648         if ( iStreamingLinkModel->MaxLinkLength() != length )
       
   649         {
       
   650             err = KErrGeneral;
       
   651         }
       
   652     }
       
   653 
       
   654     return err;
       
   655 }
       
   656 
       
   657 //
       
   658 // ---------------------------------------------------------------------------
       
   659 // CPlaybackHelperTest::MultiLinksCount
       
   660 // ---------------------------------------------------------------------------
       
   661 //
       
   662 TInt CPlaybackHelperTest::MultiLinksCount( CStifItemParser& aItem )
       
   663 {
       
   664     iLog->Log(_L("CPlaybackHelperTest::MultiLinksCount"));
       
   665 
       
   666     TInt err = KErrNone;
       
   667     TInt cnt = 0;
       
   668 
       
   669     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   670 
       
   671     if ( ( err = aItem.GetNextInt( cnt ) ) == KErrNone )
       
   672     {
       
   673         if ( iStreamingLinkModel->MultiLinksCount() != cnt )
       
   674         {
       
   675             err = KErrGeneral;
       
   676         }
       
   677     }
       
   678     return err;
       
   679 }
       
   680 
       
   681 // ---------------------------------------------------------------------------
       
   682 // CPlaybackHelperTest::CreateNewLinkFile
       
   683 // ---------------------------------------------------------------------------
       
   684 //
       
   685 TInt CPlaybackHelperTest::CreateNewLinkFile( CStifItemParser& aItem )
       
   686 {
       
   687     iLog->Log(_L("CPlaybackHelperTest::CreateNewLinkFileL"));
       
   688 
       
   689     TInt err = KErrNone;
       
   690     TInt result = KErrNone;
       
   691 
       
   692     TPtrC filename;
       
   693     TPtrC string;
       
   694 
       
   695     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   696 
       
   697     if ( ( err = aItem.GetNextString( filename ) ) == KErrNone )
       
   698     {
       
   699         TBuf<120> fullPath;
       
   700 
       
   701         fullPath.Append( KVideoTestPath );
       
   702         fullPath.Append( filename );
       
   703 
       
   704         CDesCArrayFlat* linkArray = new (ELeave) CDesCArrayFlat(10);
       
   705 
       
   706         while ( ( err = aItem.GetNextString( string ) ) == KErrNone )
       
   707         {
       
   708             linkArray->AppendL( string );
       
   709         }
       
   710 
       
   711         TRAP ( err,
       
   712                result = iStreamingLinkModel->CreateNewLinkFileL( fullPath, linkArray, ETrue ) );
       
   713 
       
   714         delete linkArray;
       
   715     }
       
   716 
       
   717     if ( err == KErrNone )
       
   718     {
       
   719         err = result;
       
   720     }
       
   721 
       
   722     return err;
       
   723 }
       
   724 
       
   725 //
       
   726 // -------------------------------------------------------------------------------------------------
       
   727 // CPlaybackHelperTest::ResetLinkCount
       
   728 // -------------------------------------------------------------------------------------------------
       
   729 //
       
   730 TInt CPlaybackHelperTest::ResetLinkCount()
       
   731 {
       
   732     iLog->Log(_L("CPlaybackHelperTest::ResetLinkCount"));
       
   733 
       
   734     TInt err = KErrNone;
       
   735 
       
   736     iStreamingLinkModel->ResetLinkCount();
       
   737 
       
   738     return err;
       
   739 }
       
   740 
       
   741 //
       
   742 // -------------------------------------------------------------------------------------------------
       
   743 // CPlaybackHelperTest::FreeFilehandleForLink
       
   744 // -------------------------------------------------------------------------------------------------
       
   745 //
       
   746 TInt CPlaybackHelperTest::FreeFilehandleForLink()
       
   747 {
       
   748     iLog->Log(_L("CPlaybackHelperTest::FreeFilehandleForLink"));
       
   749 
       
   750     TInt err = KErrNone;
       
   751 
       
   752     iStreamingLinkModel->FreeFilehandle();
       
   753 
       
   754     return err;
       
   755 }
       
   756 
       
   757 // -------------------------------------------------------------------------------------------------
       
   758 // CPlaybackHelperTest::OpenAsxLinkViaFileName
       
   759 // -------------------------------------------------------------------------------------------------
       
   760 //
       
   761 TInt CPlaybackHelperTest::OpenAsxLinkViaFileName( CStifItemParser& aItem )
       
   762 {
       
   763     iLog->Log(_L("CPlaybackHelperTest::OpenAsxLinkViaFileName"));
       
   764 
       
   765     TInt err = KErrNone;
       
   766     TInt result = KErrNone;
       
   767 
       
   768     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   769 
       
   770     TPtrC filename;
       
   771     
       
   772     if ( ( err = aItem.GetNextString( filename ) ) == KErrNone )
       
   773     {
       
   774         TBuf<120> fullPath;
       
   775 
       
   776         fullPath.Append( KVideoTestPath );
       
   777         fullPath.Append( filename );
       
   778 
       
   779         TRAP( err, result = iStreamingLinkModel->OpenAsxFileL( fullPath ) );
       
   780     }
       
   781 
       
   782     if ( err == KErrNone )
       
   783     {
       
   784         err = result;
       
   785     }
       
   786 
       
   787     return err;
       
   788 }
       
   789 
       
   790 //
       
   791 // -------------------------------------------------------------------------------------------------
       
   792 // CPlaybackHelperTest::OpenAsxLinkViaFileHandle
       
   793 // -------------------------------------------------------------------------------------------------
       
   794 //
       
   795 TInt CPlaybackHelperTest::OpenAsxLinkViaFileHandle( CStifItemParser& aItem )
       
   796 {
       
   797     iLog->Log(_L("CPlaybackHelperTest::OpenAsxLinkViaFileHandle"));
       
   798 
       
   799     TInt err = KErrNone;
       
   800     TInt result = KErrNone;
       
   801     RFile file;
       
   802     RFs fs;
       
   803 
       
   804     aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
       
   805 
       
   806     TRAP( err, fs.Connect() );
       
   807 
       
   808     TPtrC filename;
       
   809     
       
   810     if ( err == KErrNone && ( err = aItem.GetNextString( filename ) ) == KErrNone )
       
   811     {
       
   812         TBuf<120> fullPath;
       
   813 
       
   814         fullPath.Append( KVideoTestPath );
       
   815         fullPath.Append( filename );
       
   816 
       
   817         err = file.Open( fs,
       
   818                          fullPath,
       
   819                          EFileShareAny | EFileStream | EFileRead );
       
   820 
       
   821         if ( err == KErrNone )
       
   822         {
       
   823             TRAP( err, result = iStreamingLinkModel->OpenAsxFileL( file ) );
       
   824         }
       
   825     }
       
   826 
       
   827     if ( err == KErrNone )
       
   828     {
       
   829         err = result;
       
   830     }
       
   831 
       
   832     file.Close();
       
   833     fs.Close();
       
   834 
       
   835     return err;
       
   836 }
       
   837 
       
   838 //
       
   839 // -------------------------------------------------------------------------------------------------
       
   840 // CPlaybackHelperTest::GetNumberOfVolumeSteps
       
   841 // -------------------------------------------------------------------------------------------------
       
   842 //
       
   843 TInt CPlaybackHelperTest::GetNumberOfVolumeSteps()
       
   844 {
       
   845     iLog->Log(_L("CPlaybackHelperTest::GetNumberOfVolumeSteps"));
       
   846 
       
   847 	TInt result = KErrNone;
       
   848 
       
   849 	if ( iDevSoundIf->GetNumberOfVolumeSteps() < 10 ) 
       
   850 	{
       
   851         result = KErrArgument;
       
   852 	}
       
   853 
       
   854     return result;
       
   855 }
       
   856 
       
   857 // -------------------------------------------------------------------------------------------------
       
   858 // CPlaybackHelperTest::IsSeekable
       
   859 // -------------------------------------------------------------------------------------------------
       
   860 //
       
   861 TInt CPlaybackHelperTest::IsSeekable( CStifItemParser& aItem )
       
   862 {
       
   863     iLog->Log(_L("CPlaybackHelperTest::IsSeekable"));
       
   864 
       
   865     TInt error = KErrNone;
       
   866     TBool seekable;
       
   867     
       
   868     aItem.GetNextInt( seekable );
       
   869     
       
   870     if ( seekable != iStreamingLinkModel->IsSeekable())
       
   871     {
       
   872         error = KErrArgument;
       
   873     }
       
   874 
       
   875     return error;
       
   876 }
       
   877 //  [End of File] - Do not remove