srsf/tsrc/public/basic/ttscontrollerplugintest/src/ttscontrollerplugintestblocks.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:29:17 +0100
branchRCL_3
changeset 23 e36f3802f733
parent 0 bf1d17376201
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 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:
*
*/



// INCLUDE FILES
#include <e32svr.h>
#include <stifparser.h>
#include <stiftestinterface.h>
#include <stiftesteventinterface.h>

#include <utf.h>

#include "ttscontrollerplugintest.h"

_LIT( Kttscontrollerplugintest, "ttscontrollerplugintest" );

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

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

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::RunMethodL
// Run specified method. Contains also table of test mothods and their names.
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::RunMethodL( 
    CStifItemParser& aItem ) 
    {
    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( "Create",                Cttscontrollerplugintest::CreateL ),
        ENTRY( "CreateFilePlayer",      Cttscontrollerplugintest::CreateFilePlayerL ),
        ENTRY( "CreateDesPlayer",       Cttscontrollerplugintest::CreateDesPlayerL ),
        ENTRY( "OpenFile",              Cttscontrollerplugintest::OpenFileL ),
        ENTRY( "OpenFileHandle",        Cttscontrollerplugintest::OpenFileHandleL ),
        ENTRY( "OpenDes",               Cttscontrollerplugintest::OpenDesL ),
        ENTRY( "Play",                  Cttscontrollerplugintest::Play ),
        ENTRY( "SetVolumeAndRamp",      Cttscontrollerplugintest::SetVolumeAndRampL ),
        ENTRY( "Destroy",               Cttscontrollerplugintest::Destroy ),
        };

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

    return RunInternalL( KFunctions, count, aItem );
    }

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::CreateL
// 
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::CreateL()
    {
    // Print to UI
    _LIT( KFunction, "In CreateL" );
    TestModuleIf().Printf( 0, Kttscontrollerplugintest, KFunction );

    iAudioPlayer = CMdaAudioPlayerUtility::NewL( *this );
    
    return KErrNone;
    }

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::CreateFilePlayerL
// 
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::CreateFilePlayerL( CStifItemParser& aItem )
    {
    // Print to UI
    _LIT( KFunction, "In CreateFilePlayerL" );
    TestModuleIf().Printf( 0, Kttscontrollerplugintest, KFunction );
    
    TPtrC file;
    User::LeaveIfError( aItem.GetNextString ( file ) );
    TFileName fileName( file );
    
    iAudioPlayer = CMdaAudioPlayerUtility::NewFilePlayerL( fileName, *this );
    
    return KErrNone;
    }

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::CreateDesPlayerL
// 
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::CreateDesPlayerL( CStifItemParser& aItem )
    {
    // Print to UI
    _LIT( KFunction, "In CreateDesPlayerL" );
    
    TestModuleIf().Printf( 0, Kttscontrollerplugintest, KFunction );
    
    // Allow asynchronous request to leak handle 
    TestModuleIf().SetBehavior( CTestModuleIf::ETestLeaksHandles  ); 
    
    TPtrC input;
    User::LeaveIfError( aItem.GetNextString ( input ) );
    
    iInputText = HBufC8::NewL( 4 * input.Length() );
    TPtr8 refText = iInputText->Des();
    
    User::LeaveIfError( CnvUtfConverter::ConvertFromUnicodeToUtf8( refText, input ) );
        
    iAudioPlayer = CMdaAudioPlayerUtility::NewDesPlayerL( *iInputText, *this );
    
    return KErrNone;
    }

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::OpenFileL
// 
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::OpenFileL( CStifItemParser& aItem )
    {
    // Print to UI
    _LIT( KFunction, "In OpenFileL" );
    TestModuleIf().Printf( 0, Kttscontrollerplugintest, KFunction );
    
    iAudioPlayer->Close();
    
    TPtrC file;
    User::LeaveIfError( aItem.GetNextString ( file ) );
    TFileName fileName( file );
    
    iAudioPlayer->OpenFileL( fileName );
    
    return KErrNone;
    }

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::OpenFileHandleL
// 
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::OpenFileHandleL( CStifItemParser& aItem )
    {
    // Print to UI
    _LIT( KFunction, "In OpenFileHandleL" );
    TestModuleIf().Printf( 0, Kttscontrollerplugintest, KFunction );
    
    iFile.Close();
    iFs.Close();
    iAudioPlayer->Close();

    TPtrC file;
    User::LeaveIfError( aItem.GetNextString ( file ) );
    TFileName fileName( file );

    User::LeaveIfError( iFs.Connect() );
    User::LeaveIfError( iFile.Open( iFs, fileName, EFileRead|EFileStreamText ) );
    
    iAudioPlayer->OpenFileL( iFile );
    
    return KErrNone;
    }

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::OpenDesL
// 
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::OpenDesL( CStifItemParser& aItem )
    {
    // Print to UI
    _LIT( KFunction, "In OpenFileL" );
    
    TestModuleIf().Printf( 0, Kttscontrollerplugintest, KFunction );
    
    iAudioPlayer->Close();
    
    TPtrC input;
    User::LeaveIfError( aItem.GetNextString ( input ) );
    
    iInputText = HBufC8::NewL( 4 * input.Length() );
    TPtr8 refText = iInputText->Des();
    
    User::LeaveIfError( CnvUtfConverter::ConvertFromUnicodeToUtf8( refText, input ) );
    
    iAudioPlayer->OpenDesL( *iInputText );
    
    return KErrNone;
    }

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::Play
// 
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::Play()
    {
    // Print to UI
    _LIT( KFunction, "In Play" );
    TestModuleIf().Printf( 0, Kttscontrollerplugintest, KFunction );
    
    iAudioPlayer->Play();
    
    return KErrNone;
    }

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::SetVolumeAndRampL
// 
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::SetVolumeAndRampL()
    {
    // Print to UI
    _LIT( KFunction, "In SetVolumeAndRampL" );
    TestModuleIf().Printf( 0, Kttscontrollerplugintest, KFunction );
    
    iAudioPlayer->SetVolume( iAudioPlayer->MaxVolume() );
    iAudioPlayer->SetVolumeRamp( 100000 );
    
    return KErrNone;
    }

// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::Destroy
// 
// -----------------------------------------------------------------------------
//
TInt Cttscontrollerplugintest::Destroy()
    {
    // Print to UI
    _LIT( KFunction, "In Destroy" );
    TestModuleIf().Printf( 0, Kttscontrollerplugintest, KFunction );
    
    iFile.Close();
    iFs.Close();
    
    delete iAudioPlayer;
    iAudioPlayer = NULL;
    
    delete iInputText;
    iInputText = NULL;
    
    return KErrNone;
    }
    
// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::MapcInitComplete
//
// -----------------------------------------------------------------------------
// 
void Cttscontrollerplugintest::MapcInitComplete( TInt aError, 
                                                 const TTimeIntervalMicroSeconds& /*aDuration*/ )
    {
    if ( aError )
        {
        User::Panic( Kttscontrollerplugintest, aError );
        }
    
    TEventIf stifEvent( TEventIf::ESetEvent, _L( "MapcInitComplete" ) );
    TestModuleIf().Event( stifEvent );    
    }
    
// -----------------------------------------------------------------------------
// Cttscontrollerplugintest::MapcPlayComplete
//
// -----------------------------------------------------------------------------
// 
void Cttscontrollerplugintest::MapcPlayComplete( TInt aError )
    {
    if ( aError )
        {
        User::Panic( Kttscontrollerplugintest, aError );
        }
    
    TEventIf stifEvent( TEventIf::ESetEvent, _L( "MapcPlayComplete" ) );
    TestModuleIf().Event( stifEvent );
    }
    
//  End of File