diff -r b13cd05eeb2f -r 57b735022c18 srsf/tsrc/public/basic/ttsutilitytest/src/ttsutilitytestblocks.cpp --- a/srsf/tsrc/public/basic/ttsutilitytest/src/ttsutilitytestblocks.cpp Mon Jan 18 20:20:30 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,649 +0,0 @@ -/* -* 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 -#include -#include -#include - -#include -#include -#include - -#include "ttsutilitytest.h" - -_LIT( Kttsutilitytest, "ttsutilitytest" ); - - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::Delete -// Delete here all resources allocated and opened from test methods. -// Called from destructor. -// ----------------------------------------------------------------------------- -// -void Cttsutilitytest::Delete() - { - iFs.Close(); - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::RunMethodL -// Run specified method. Contains also table of test mothods and their names. -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::RunMethodL( - CStifItemParser& aItem ) - { - TStifFunctionInfo const KFunctions[] = - { - ENTRY( "CreateTtsUtility", Cttsutilitytest::CreateTtsUtilityL ), - ENTRY( "DestroyTtsUtility", Cttsutilitytest::DestroyTtsUtilityL ), - ENTRY( "StyleSettings", Cttsutilitytest::StyleSettingsL ), - ENTRY( "PlaybackProperties", Cttsutilitytest::PlaybackPropertiesL ), - ENTRY( "Play", Cttsutilitytest::Play ), - ENTRY( "Pause", Cttsutilitytest::Pause ), - ENTRY( "Stop", Cttsutilitytest::Stop ), - ENTRY( "OpenDes", Cttsutilitytest::OpenDesL ), - ENTRY( "OpenDes8", Cttsutilitytest::OpenDes8L ), - ENTRY( "OpenFile", Cttsutilitytest::OpenFileL ), - ENTRY( "OpenParsedText", Cttsutilitytest::OpenParsedTextL ), - ENTRY( "OpenAndPlayDes", Cttsutilitytest::OpenAndPlayDesL ), - ENTRY( "OpenAndPlayDes8", Cttsutilitytest::OpenAndPlayDes8L ), - ENTRY( "OpenAndPlayFile", Cttsutilitytest::OpenAndPlayFileL ), - ENTRY( "OpenAndPlayParsedText", Cttsutilitytest::OpenAndPlayParsedTextL ), - ENTRY( "SynthesisToFile", Cttsutilitytest::SynthesisToFileL ), - ENTRY( "CustomCommands", Cttsutilitytest::CustomCommandsL ), - ENTRY( "CustomCommands2", Cttsutilitytest::CustomCommands2L ), - }; - - const TInt count = sizeof( KFunctions ) / - sizeof( TStifFunctionInfo ); - - return RunInternalL( KFunctions, count, aItem ); - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::CreateTtsUtilityL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::CreateTtsUtilityL() - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In CreateTtsUtilityL") ); - - if ( iTtsUtility ) - { - User::LeaveIfError( KErrAlreadyExists ); - } - - iTtsUtility = CTtsUtility::NewL( *this ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::DestroyTtsUtilityL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::DestroyTtsUtilityL() - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In DestroyTtsUtilityL") ); - - delete iParsedText; - iParsedText = NULL; - - iTtsUtility->Close(); - - delete iTtsUtility; - iTtsUtility = NULL; - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::StyleSettingsL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::StyleSettingsL() - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In StyleSettingsL") ); - - OpenPluginL(); - - iStyle.iLanguage = ELangEnglish; - iStyle.iVoice = KDefaultVoiceNameMale; - iStyle.iQuality = ETtsQualityLowPreferred; - - iTtsUtility->SetDefaultStyleL( iStyle ); - - TTtsStyle defaultStyle = iTtsUtility->DefaultStyleL(); - if ( iStyle.iLanguage != defaultStyle.iLanguage || - iStyle.iVoice != defaultStyle.iVoice || - iStyle.iQuality != defaultStyle.iQuality ) - { - User::Leave( KErrGeneral ); - } - - TTtsStyleID styleId = iTtsUtility->AddStyleL( iStyle ); - - TTtsStyle style = iTtsUtility->StyleL( styleId ); - - if ( iStyle.iLanguage != style.iLanguage || - iStyle.iVoice != style.iVoice || - iStyle.iQuality != style.iQuality ) - { - User::Leave( KErrGeneral ); - } - - // There should be only one style - TUint16 index = 1; - TRAPD( error, style = iTtsUtility->StyleL( index ) ); - if ( error != KErrNotFound ) - { - User::Leave( KErrGeneral ); - } - - if ( iTtsUtility->NumberOfStyles() == 1 ) - { - iTtsUtility->DeleteStyle( styleId ); - } - - RArray languages; - CleanupClosePushL( languages ); - - iTtsUtility->GetSupportedLanguagesL( languages ); - - if ( languages.Count() > 0 ) - { - RArray voices; - - iTtsUtility->GetSupportedVoicesL( languages[0], voices ); - - if ( voices.Count() == 0 ) - { - User::Leave( KErrNotFound ); - } - - voices.Close(); - } - else - { - User::Leave( KErrNotFound ); - } - - CleanupStack::PopAndDestroy( &languages ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::PlaybackPropertiesL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::PlaybackPropertiesL() - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In PlaybackPropertiesL") ); - - OpenPluginL(); - - TInt maxVolume( iTtsUtility->MaxVolume() ); - iTtsUtility->SetVolume( maxVolume ); - - TInt volume; - iTtsUtility->GetVolume( volume ); - - if ( volume != maxVolume ) - { - User::Leave( KErrGeneral ); - } - - TRAP_IGNORE( TInt speakingRate = iTtsUtility->SpeakingRateL() ); - TRAP_IGNORE( iTtsUtility->SetSpeakingRateL( KTtsMaxSpeakingRate ) ); - - iTtsUtility->SetRepeats( 1, 1000 ); - - TInt balance; - iTtsUtility->GetBalance( balance ); - iTtsUtility->SetBalance( balance ); - - TTimeIntervalMicroSeconds duration = iTtsUtility->Duration(); - - iTtsUtility->SetPriority( KAudioPriorityVoiceDial, - (TMdaPriorityPreference)KAudioPrefVocosPlayback ); - - iTtsUtility->GetPosition( duration ); - iTtsUtility->SetPosition( duration ); - - TInt wordIndex( KErrNotFound ); - iTtsUtility->GetPosition( wordIndex ); - iTtsUtility->SetPosition( wordIndex ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::Play -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::Play() - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In Play") ); - - iTtsUtility->Play(); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::Pause -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::Pause() - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In Pause") ); - - iTtsUtility->Pause(); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::Stop -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::Stop() - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In Stop") ); - - iTtsUtility->Stop(); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::OpenDesL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::OpenDesL( CStifItemParser& aItem ) - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In OpenDesL") ); - - TPtrC input; - User::LeaveIfError( aItem.GetNextString ( input ) ); - - iTtsUtility->OpenDesL( input ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::OpenDes8L -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::OpenDes8L( CStifItemParser& aItem ) - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In OpenDes8L") ); - - TPtrC input; - User::LeaveIfError( aItem.GetNextString ( input ) ); - - HBufC8* input8 = HBufC8::NewLC( 4 * input.Length() ); - TPtr8 refText = input8->Des(); - - User::LeaveIfError( CnvUtfConverter::ConvertFromUnicodeToUtf8( refText, input ) ); - - iTtsUtility->OpenDesL( *input8 ); - - CleanupStack::PopAndDestroy( input8 ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::OpenFileL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::OpenFileL( CStifItemParser& aItem ) - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In OpenFileL") ); - - TPtrC input; - User::LeaveIfError( aItem.GetNextString ( input ) ); - - iTtsUtility->OpenFileL( input ); - - return KErrNone; - } -// ----------------------------------------------------------------------------- -// Cttsutilitytest::OpenParsedTextL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::OpenParsedTextL( CStifItemParser& aItem ) - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In OpenParsedTextL") ); - - TInt result( KErrGeneral ); - - TPtrC input; - User::LeaveIfError( aItem.GetNextString ( input ) ); - - if ( iParsedText ) - { - delete iParsedText; - iParsedText = NULL; - } - - iStyle.iLanguage = User::Language(); - iStyle.iVoice = KDefaultVoiceNameFemale; - iStyle.iQuality = ETtsQualityLowOnly; - - iParsedText = CTtsParsedText::NewL(); - iParsedText->SetPhonemeNotationL( KNullDesC ); - iParsedText->SetTextL( input ); - - iSegment.SetStyle( iStyle ); - iStyle = iSegment.StyleL(); - iSegment.ResetStyle(); - - iSegment.SetTrailingSilenceL( iSegment.TrailingSilence() ); - - iSegment.SetStyleID( iTtsUtility->AddStyleL( iStyle ) ); - iSegment.SetTextPtr( iParsedText->Text() ); - iParsedText->AddSegmentL( iSegment ); - - if ( iParsedText->IsValid() ) - { - result = KErrNone; - iTtsUtility->OpenParsedTextL( *iParsedText ); - } - - return result; - } -// ----------------------------------------------------------------------------- -// Cttsutilitytest::OpenAndPlayDesL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::OpenAndPlayDesL( CStifItemParser& aItem ) - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In OpenAndPlayDesL") ); - - TPtrC input; - User::LeaveIfError( aItem.GetNextString ( input ) ); - - iTtsUtility->OpenAndPlayDesL( input ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::OpenAndPlayDes8L -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::OpenAndPlayDes8L( CStifItemParser& aItem ) - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In OpenAndPlayDes8L") ); - - TPtrC input; - User::LeaveIfError( aItem.GetNextString ( input ) ); - - HBufC8* input8 = HBufC8::NewLC( 4 * input.Length() ); - TPtr8 refText = input8->Des(); - - User::LeaveIfError( CnvUtfConverter::ConvertFromUnicodeToUtf8( refText, input ) ); - - iTtsUtility->OpenAndPlayDesL( *input8 ); - - CleanupStack::PopAndDestroy( input8 ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::OpenAndPlayFileL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::OpenAndPlayFileL( CStifItemParser& aItem ) - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In OpenAndPlayFileL") ); - - TPtrC input; - User::LeaveIfError( aItem.GetNextString ( input ) ); - - iTtsUtility->OpenAndPlayFileL( input ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::OpenAndPlayParsedTextL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::OpenAndPlayParsedTextL( CStifItemParser& aItem ) - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In OpenAndPlayParsedTextL") ); - - TPtrC input; - User::LeaveIfError( aItem.GetNextString ( input ) ); - - if ( iParsedText == NULL ) - { - iStyle.iLanguage = User::Language(); - iStyle.iVoice = KDefaultVoiceNameFemale; - iStyle.iQuality = ETtsQualityLowOnly; - - iParsedText = CTtsParsedText::NewL(); - iParsedText->SetTextL( input ); - - iSegment.SetStyleID( iTtsUtility->AddStyleL( iStyle ) ); - iSegment.SetTextPtr( iParsedText->Text() ); - iParsedText->AddSegmentL( iSegment ); - } - - iTtsUtility->OpenAndPlayParsedTextL( *iParsedText ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::SynthesisToFileL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::SynthesisToFileL( CStifItemParser& aItem ) - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In SynthesisToFileL") ); - - TPtrC fileName; - User::LeaveIfError( aItem.GetNextString ( fileName ) ); - - User::LeaveIfError( iFs.Connect() ); - User::LeaveIfError( iFs.ShareProtected() ); - iFs.MkDirAll( fileName ); // Ignore error (KErrAlreadyExists comes quite often) - - User::LeaveIfError( iFile.Replace( iFs, fileName, EFileWrite ) ); - - iTtsUtility->SetOutputFileL( iFile ); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::CustomCommandsL -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::CustomCommandsL() - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In CustomCommandsL") ); - - TUid openPlugin = OpenPluginL(); - TMMFMessageDestinationPckg destination( openPlugin ); - - TBuf8<2> dataTo; - dataTo.AppendNum( 1 ); - - TInt err1 = iTtsUtility->CustomCommandSync( destination, ETtsCustomCommandSetAudioOutput, - dataTo, KNullDesC8 ); - - TBuf8<16> dataFrom; - TInt err2 = iTtsUtility->CustomCommandSync( destination, ETtsCustomCommandSetAudioOutput, - dataTo, KNullDesC8, dataFrom ); - - TRequestStatus status1( KRequestPending ); - iTtsUtility->CustomCommandAsync( destination, ETtsCustomCommandSetAudioOutput, - dataTo, KNullDesC8, status1 ); - User::WaitForRequest( status1 ); - - TRequestStatus status2( KRequestPending ); - iTtsUtility->CustomCommandAsync( destination, ETtsCustomCommandSetAudioOutput, - dataTo, KNullDesC8, dataFrom, status2 ); - - User::WaitForRequest( status2 ); - - TInt result( KErrNone ); - - if ( err1 || err2 || status1.Int() || status2.Int() ) - { - result = KErrGeneral; - } - - return result; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::CustomCommands2L -// -// ----------------------------------------------------------------------------- -// -TInt Cttsutilitytest::CustomCommands2L() - { - TestModuleIf().Printf( 0, Kttsutilitytest, _L("In CustomCommands2L") ); - - const TUid KUidTtsPlugin = { 0x101FF934 }; - - RMMFController controller; - RTtsCustomCommands ttsCustomCommands( controller ); - TMMFPrioritySettings prioritySettings; - - User::LeaveIfError( controller.Open( KUidTtsPlugin, prioritySettings ) ); - - TUint16 count; - User::LeaveIfError( ttsCustomCommands.NumberOfStyles( count ) ); - - if ( count > 0 ) - { - TTtsStyleID styleId( 0 ); - User::LeaveIfError( ttsCustomCommands.Style( styleId, iStyle ) ); - - TUint16 styleId16( 0 ); - User::LeaveIfError( ttsCustomCommands.Style( styleId16, iStyle ) ); - } - - controller.Close(); - - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::OpenPluginL -// -// ----------------------------------------------------------------------------- -// -TUid Cttsutilitytest::OpenPluginL() - { - const TUid KUidTtsPlugin = { 0x101FF934 }; - - RArray uids; - CleanupClosePushL( uids ); - iTtsUtility->ListPluginsL( uids ); - - TInt index = uids.Find( KUidTtsPlugin ); - TUid openUid( KNullUid ); - - if ( index >= 0 ) - { - openUid = uids[index]; - } - else if ( uids.Count() > 0 ) - { - openUid = uids[0]; - } - else - { - User::Leave( KErrNotFound ); - } - - iTtsUtility->OpenPluginL( openUid ); - - CleanupStack::PopAndDestroy( &uids ); - - return openUid; - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::MapcInitComplete -// -// ----------------------------------------------------------------------------- -// -void Cttsutilitytest::MapcInitComplete( TInt aError, - const TTimeIntervalMicroSeconds& /*aDuration*/ ) - { - if ( aError ) - { - User::Panic( Kttsutilitytest, aError ); - } - - TEventIf stifEvent( TEventIf::ESetEvent, _L( "MapcInitComplete" ) ); - TestModuleIf().Event( stifEvent ); - } - -// ----------------------------------------------------------------------------- -// Cttsutilitytest::MapcPlayComplete -// -// ----------------------------------------------------------------------------- -// -void Cttsutilitytest::MapcPlayComplete( TInt aError ) - { - if ( aError ) - { - User::Panic( Kttsutilitytest, aError ); - } - - TEventIf stifEvent( TEventIf::ESetEvent, _L( "MapcPlayComplete" ) ); - TestModuleIf().Event( stifEvent ); - } - -// End of File