mpx/tsrc/public/basic/playbackplugintest/src/playbackplugintestBlocks.cpp
author hgs
Tue, 21 Sep 2010 11:25:55 -0500
changeset 62 b276843a15ba
permissions -rw-r--r--
201037

/*
* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Scripted Tests for MPX Playback Plugin
*
*/

// [INCLUDE FILES] - do not remove
#include <e32svr.h>
#include <StifParser.h>
#include <Stiftestinterface.h>
#include <mpxplaybackutility.h>
#include <mpxplaybackmessagedefs.h> 
#include <mpxmessagegeneraldefs.h> 
#include <mpxplaybackmessage.h>
#include "testcommonpluginuids.h"
#include "playbackplugintest.h"

const TUid KPbTestPlugin = {KPlaybackTestPluginImpId};
const TUid KPbFusionVideoHelixPlugin = {0x10282551};
const TUid KPbLocalAudioPlugin = {0x101FFC06};

// ============================ MEMBER FUNCTIONS ===============================

// ---------------------------------------------------------------------------
// From MMPXPlaybackObserver
// Handle playback message.
// ---------------------------------------------------------------------------
//
void CPlaybackPluginTest::HandlePlaybackMessage( 
        CMPXMessage* aMessage, TInt aError )
    {
    iLog->Log(_L("Cmpxharvestertest::HandlePlaybackMessage: %d"), KTextHandlePlaybackMessage2);
    TMPXMessageId id( *aMessage->Value<TMPXMessageId>( KMPXMessageGeneralId ) );
    TInt event( *aMessage->Value<TInt>( KMPXMessageGeneralEvent ));
    TInt type( *aMessage->Value<TInt>( KMPXMessageGeneralType ) );
    TInt data( *aMessage->Value<TInt>( KMPXMessageGeneralData ) );
    iLog->Log(_L("CPlaybackPluginTest::HandlePlaybackMessage: %d, %d, %d"), event, type, data);
   
    iLog->Log(_L("CPlaybackPluginTest::HandlePlaybackMessage: %d"), aError); 
    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::Delete
// Delete here all resources allocated and opened from test methods. 
// Called from destructor. 
// -----------------------------------------------------------------------------
//
void CPlaybackPluginTest::Delete() 
    {
    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::RunMethodL
// Run specified method. Contains also table of test mothods and their names.
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::RunMethodL( CStifItemParser& aItem ) 
    {

    static TStifFunctionInfo const KFunctions[] =
        {  
        // Copy this line for every implemented function.
        // First string is the function name used in TestScripter script file.
        // Second is the actual implementation member function. 
                             
        ENTRY( "MMPXPlaybackUtilityNewL", CPlaybackPluginTest::MMPXPlaybackUtilityNewL ),
        ENTRY( "MMPXPlaybackUtilityNewLHelixVideoPlugin", CPlaybackPluginTest::MMPXPlaybackUtilityNewLHelixVideoPlugin ),           
        ENTRY( "MMPXPlaybackUtilityNewLLocalAudioPlugin", CPlaybackPluginTest::MMPXPlaybackUtilityNewLLocalAudioPlugin ),
        ENTRY( "MMPXPlaybackUtilityUtilityL", CPlaybackPluginTest::MMPXPlaybackUtilityUtilityL ),
        ENTRY( "InitStreamingL", CPlaybackPluginTest::InitStreamingL ),
        ENTRY( "Close", CPlaybackPluginTest::Close ),
        ENTRY( "InitStreaming2L", CPlaybackPluginTest::InitStreaming2L ),
        ENTRY( "InitRFileL", CPlaybackPluginTest::InitRFileL ),
        ENTRY( "InitURIL", CPlaybackPluginTest::InitURIL ),
        //ADD NEW ENTRY HERE
        // [test cases entries] - Do not remove
        };

    const TInt count = sizeof( KFunctions ) / 
                        sizeof( TStifFunctionInfo );

    return RunInternalL( KFunctions, count, aItem );

    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::MMPXPlaybackUtilityNewL
// NewL test method function.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::MMPXPlaybackUtilityNewL(CStifItemParser& /*aItem*/)
    {
    TInt err = KErrNone;    
    TRAP(err, 
         iPlaybackUtility = MMPXPlaybackUtility::NewL(KPbModeNewPlayer, this));
    if (err == KErrNone)
        {
        TRAP(err, 
             iPlaybackUtility->PlayerManager().SelectPlayerL(KPbTestPlugin));
        }
    if (err!= KErrNone)
        {
        iLog->Log(_L("CPlaybackPluginTest::MMPXPlaybackUtilityNewL: %d"), err);
        }   
    return err;
    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::MMPXPlaybackUtilityNewLHelixVideoPlugin
// NewL test method function.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::MMPXPlaybackUtilityNewLHelixVideoPlugin(CStifItemParser& /*aItem*/)
    {
    TInt err = KErrNone;    
    TRAP(err, 
         iPlaybackUtility = MMPXPlaybackUtility::NewL(KPbModeNewPlayer, this));
    
    if (err == KErrNone)
        {
        TRAP(err, 
             iPlaybackUtility->PlayerManager().
                                 SelectPlayerL(KPbFusionVideoHelixPlugin));
        }
    
    if (err!= KErrNone)
        {
        iLog->Log(_L("CPlaybackPluginTest::MMPXPlaybackUtilityNewLHelixVideoPlugin: %d"), err);
        } 
    
    return err;
    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::MMPXPlaybackUtilityNewLLocalAudioPlugin
// NewL test method function.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::MMPXPlaybackUtilityNewLLocalAudioPlugin(CStifItemParser& /*aItem*/)
    {
    TInt err = KErrNone;    
    TRAP(err, 
         iPlaybackUtility = MMPXPlaybackUtility::NewL(KPbModeNewPlayer, this));
    
    if (err == KErrNone)
        {
        TRAP(err, 
             iPlaybackUtility->PlayerManager().
                                 SelectPlayerL(KPbLocalAudioPlugin));
        }
    
    if (err!= KErrNone)
        {
        iLog->Log(_L("CPlaybackPluginTest::MMPXPlaybackUtilityNewLLocalAudioPlugin: %d"), err);
        } 
    
    return err;
    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::Close
// NewL test method function.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::Close(CStifItemParser& /*aItem*/)
    {
    TInt err = KErrNone;
    iLog->Log( _L("Entering Close::Starting closing MMPXPlaybackUtility...") );
    if ( iPlaybackUtility )
        {
        iPlaybackUtility->Close();
        iPlaybackUtility = NULL;
        }
    iLog->Log( _L("Getting out of Close.") );
    return err;
    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::MMPXPlaybackUtilityUtilityL
// UtilityL test method function.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::MMPXPlaybackUtilityUtilityL(CStifItemParser& /*aItem*/)
    {
    TInt err = KErrNone;    
    TRAP(err,iPlaybackUtility = MMPXPlaybackUtility::UtilityL());
    if (err!= KErrNone)
        {
        iLog->Log(_L("CPlaybackPluginTest::MMPXPlaybackUtilityUtilityL: %d"), err);
        }   
    return err;
    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::InitStreamingL
// InitStreamingL test method function.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::InitStreamingL( CStifItemParser& aItem )
    {       
    _LIT8(KTextType, "audio/mpeg");
    TInt err = KErrNone;
    iLog->Log( _L("Entering InitStreamingL---->") );
    TPtrC uri;
    TPtrC FileNamePtr;
    TInt accesspoint = 2;
    while ( aItem.GetNextString( uri ) == KErrNone )
           {
            TBuf<120> KFrom;
            KFrom.Append(KPlaybackPluginTest_digitalPath);
            KFrom.Append(uri);
            TFileName FileName = KFrom;
            iLog->Log( _L("Input file [%S]"), &FileNamePtr );          
            TRAP(err, iPlaybackUtility->InitStreamingL( FileName, &KTextType, accesspoint));
            if( err == KErrNone )
                {
                iLog->Log( _L("Succeeded in initialising streaming.") );
                }
            else
                {
                iLog->Log( _L("Failed to initialise streaming.Error %d returns."),err );
                }
           }
    iLog->Log( _L("<----Ending InitStreamingL") );
    return err;

    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::InitStreaming2L
// InitStreamingL test method function.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::InitStreaming2L(CStifItemParser& aItem)
    {
    TInt err = KErrNone;
    iLog->Log( _L("Entering InitStreaming2L---->") );
    TInt accessPoint = 2;
    TPtrC fileFullName; 
    if( aItem.GetNextString( fileFullName ) == KErrNone )
        {
        TBuf<120> KFrom;
        KFrom.Append(KPlaybackPluginTest_digitalPath);
        KFrom.Append(fileFullName);
        TFileName FileName = KFrom;
        RFs   fs;
        RFile file;        
        User::LeaveIfError(fs.Connect());
        fs.ShareProtected();
        User::LeaveIfError(file.Open( fs, FileName, EFileShareReadersOrWriters));
        iLog->Log( _L("Starting initialising streaming...") );
        TRAP(err,iPlaybackUtility->InitStreamingL( file, accessPoint));
        fs.Close();
        if( err == KErrNone )
            {
            iLog->Log( _L("Succeeded in initialising streaming.") );
            }
        else
            {
            iLog->Log( _L("Failed to initialise streaming.Error %d returns."),err );
            }
        }
    else
        {
        err = KErrArgument;
        iLog->Log( _L("Pass in bad parameter.User leaves here.") );
        User::LeaveIfError( err );
        }
    
    iLog->Log( _L("<----Getting out of InitStreaming2L\r\n.") );
    return err;
    }


// -----------------------------------------------------------------------------
// CPlaybackPluginTest::InitRFileL
// InitL test method function.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::InitRFileL(CStifItemParser& aItem)
    {
    TInt err = KErrNone;
    iLog->Log( _L("Entering InitRFileL---->") );
    TPtrC fileFullName; 
    
    if( aItem.GetNextString( fileFullName ) == KErrNone )
        {
        TBuf<120> KFrom;
        KFrom.Append(KPlaybackPluginTest_digitalPath);
        KFrom.Append(fileFullName);
        TFileName FileName = KFrom;
        RFs   fs;
        RFile file;        
        User::LeaveIfError(fs.Connect());
        fs.ShareProtected();
        User::LeaveIfError(file.Open( fs, FileName, EFileShareReadersOrWriters));
        iLog->Log( _L("Starting InitRFileL...") );
        TRAP(err, iPlaybackUtility->InitL( file));
        fs.Close(); 
        if( err == KErrNone )
            {
            iLog->Log( _L("Succeeded InitRFileL.") );
            }
        else
            {
            iLog->Log( _L("Failed to InitRFileL. Error %d returns."),err );
            }
        }
    else
        {
        err = KErrArgument;
        iLog->Log( _L("Pass in bad parameter.User leaves here.") );
        User::LeaveIfError( err );
        }
    
    iLog->Log( _L("<----Getting out of InitRFileL\r\n.") );
    return err;
    }

// -----------------------------------------------------------------------------
// CPlaybackPluginTest::InitURIL
// InitL test method function.
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
TInt CPlaybackPluginTest::InitURIL(CStifItemParser& aItem)
    {
    TInt err = KErrNone;
    _LIT8(KTextType, "audio/mpeg");
    iLog->Log( _L("Entering InitURIL---->") );
    TPtrC uri;
    TPtrC FileNamePtr;
    while ( aItem.GetNextString( uri ) == KErrNone )
           {
            TBuf<120> KFrom;
            KFrom.Append(KPlaybackPluginTest_digitalPath);
            KFrom.Append(uri);
            TFileName FileName = KFrom;
            iLog->Log( _L("Input file [%S]"), &FileNamePtr );          
            TRAP(err, iPlaybackUtility->InitL( FileName, &KTextType));
            if( err == KErrNone )
                {
                iLog->Log( _L("Succeeded in InitURIL.") );
                }
            else
                {
                iLog->Log( _L("Failed to InitURIL. Error %d returns."),err );
                }
           }
    iLog->Log( _L("<----Getting out of InitURIL\r\n.") );
    return err;
    }

//  [End of File] - Do not remove