voiceui/voiceuivoicerecognition/src/vuicverificationtrainingstate.cpp
branchRCL_3
changeset 18 cad71a31b7fc
parent 17 8ce15fced3a6
child 19 e36f3802f733
--- a/voiceui/voiceuivoicerecognition/src/vuicverificationtrainingstate.cpp	Thu Aug 19 09:56:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,340 +0,0 @@
-/*
-* Copyright (c) 2006 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 <StringLoader.h>
-#include <centralrepository.h>
-
-#include <nssvasctrainingparameters.h>
-
-#include <srsfdomaincrkeys.h>
-
-#include <vuivoicerecognition.rsg>
-
-#include "vuicstate.h"
-#include "vuicverificationtrainingstate.h"
-#include "vuictutorialstate.h"
-#include "vuicerrorstate.h"
-
-#include "vuicdatastorage.h"
-
-#include "vuicvoicerecogdialogimpl.h"
-
-#include "rubydebug.h"
-
-// Constants
-
-static const TInt KCommandIds[] = 
-    {
-    R_QAN_VC_VERIFICATION_SELECT,
-    R_QAN_VC_VERIFICATION_OTHER,
-    R_QAN_VC_VERIFICATION_CANCEL
-    };
-    
-// -----------------------------------------------------------------------------
-// CVerificationTrainingState::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVerificationTrainingState* CVerificationTrainingState::NewL( CDataStorage& aDataStorage, CUiModel& aUiModel )
-    {
-    CVerificationTrainingState* self = new (ELeave) CVerificationTrainingState( aDataStorage, aUiModel );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }       
-    
-// Destructor       
-CVerificationTrainingState::~CVerificationTrainingState()
-    {
-    RUBY_DEBUG0( "CVerificationTrainingState::~CVerificationTrainingState START" );
-    
-    delete iVasDbManager;
-    iContextManager = NULL;
-    iTagManager = NULL;
-    
-    if ( iTags )
-        {
-        iTags->ResetAndDestroy();
-        }
-    delete iTags;
-    
-    delete iTrainingParameters;
-    
-    SaveLanguage();
-    
-    RUBY_DEBUG0( "CVerificationTrainingState::~CVerificationTrainingState EXIT" );
-    }
-    
-// ---------------------------------------------------------
-// CVerificationTrainingState::HandleEventL
-// ---------------------------------------------------------
-//       
-void CVerificationTrainingState::HandleEventL( TInt aEvent )
-    {
-    RUBY_DEBUG_BLOCK( "CVerificationTrainingState::HandleEventL" );
-
-    CState* nextState = NULL;
-    
-    switch( aEvent )
-        {
-        case KErrNone:
-        
-            if ( iInternalState == EStarted )
-                {
-                nextState = this;
-                iInternalState = EContextDeleted;
-                }
-            else if ( iInternalState == EContextDeleted )
-                {
-                nextState = this;
-                iInternalState = EContextReady;
-                }
-            else if ( iInternalState == EContextReady )
-                {
-                --iExpectedCallbacks;
-                
-                if ( iExpectedCallbacks == KErrNone )
-                    {
-                    nextState = this;
-                    iInternalState = ECommandsTrained;
-                    }
-                }
-            else
-                {
-                --iExpectedCallbacks;
-                
-                if ( iExpectedCallbacks == KErrNone )
-                    {
-                    nextState = CTutorialState::NewL( DataStorage(), UiModel() );
-                    iInternalState = ECommandsSaved;
-                    }
-                }
-            break;
-            
-        default:
-            
-            nextState = CErrorState::NewL( DataStorage(), UiModel(), aEvent );
-            break;
-        }
-
-    DataStorage().VoiceRecognitionImpl()->ChangeState( nextState );
-    }
-
-// ---------------------------------------------------------
-// CVerificationTrainingState::ExecuteL
-// ---------------------------------------------------------
-//       
-void CVerificationTrainingState::ExecuteL()
-    {
-    RUBY_DEBUG_BLOCK( "CVerificationTrainingState::ExecuteL" );
-    
-    if ( iInternalState == ENotStarted )
-        {
-        iInternalState = EStarted;
-        
-        // Delete context if already exists
-        if ( DataStorage().Context()->ContextName() == KVoiceVerificationContext )
-            {
-            if ( iContextManager->DeleteContext( DataStorage().VoiceRecognitionImpl(),
-                                                 DataStorage().Context() ) != KErrNone )
-                {
-                RUBY_ERROR0( "CVerificationTrainingState::ExecuteL - DeleteContext call failed" );
-                HandleEventL( KErrGeneral );
-                }
-            }
-        else 
-            {
-            HandleEventL( KErrNone );
-            }
-        }
-    else if ( iInternalState == EContextDeleted )
-        {
-        // Create new context
-        MNssContext* vasContext = iContextManager->CreateContextL();
-        DataStorage().SetContext( vasContext );
-            
-        vasContext->SetNameL( KVoiceVerificationContext );
-        vasContext->SetGlobal( EFalse );
-    
-        if ( iContextManager->SaveContext( DataStorage().VoiceRecognitionImpl(),
-                                           vasContext ) != KErrNone )
-            {
-            RUBY_ERROR0( "CVerificationTrainingState::ExecuteL - SaveContext call failed" );
-            HandleEventL( KErrGeneral );
-            }
-        }
-    else if ( iInternalState == EContextReady )
-        { 
-        TrainTagsL();        
-        }
-     else if ( iInternalState == ECommandsTrained )
-        {
-        SaveTagsL();
-        }
-    }
-
-// ---------------------------------------------------------
-// CVerificationTrainingState::CVerificationTrainingState
-// ---------------------------------------------------------
-//              
-CVerificationTrainingState::CVerificationTrainingState( CDataStorage& aDataStorage, CUiModel& aUiModel )
- : CState( aDataStorage, aUiModel ), iInternalState( ENotStarted ), iTags(),
-   iExpectedCallbacks( 0 )
-    {
-    }
-
-// ---------------------------------------------------------
-// CVerificationTrainingState::ConstructL
-// ---------------------------------------------------------
-//           
-void CVerificationTrainingState::ConstructL()
-    {
-    RUBY_DEBUG_BLOCK( "CVerificationTrainingState::ConstructL" );
-    
-    CState::ConstructL();
-    
-    iVasDbManager = CNssVASDBMgr::NewL();
-    iVasDbManager->InitializeL();
-    iTagManager = iVasDbManager->GetTagMgr();
-    iContextManager = iVasDbManager->GetContextMgr();   
-    }
-    
-// ---------------------------------------------------------
-// CVerificationTrainingState::CreateTagsL
-// ---------------------------------------------------------
-//  
-void CVerificationTrainingState::CreateTagsL()
-    {
-    RUBY_DEBUG_BLOCK( "CVerificationTrainingState::CreateTagsL" );
-    
-    iTags = new ( ELeave ) RPointerArray<MNssTag>;
- 
-    for ( int i = 0; i < KVerificationCommands; ++i )
-        {
-        iTags->Append( iTagManager->CreateTagL( DataStorage().Context() ) );
-        }
-    }
-    
-// ---------------------------------------------------------
-// CVerificationTrainingState::ConstructTrainingParametersL
-// ---------------------------------------------------------
-//  
-void CVerificationTrainingState::ConstructTrainingParametersL()
-    {
-    RUBY_DEBUG_BLOCK( "CVerificationTrainingState::ConstructTrainingParametersL" );
-    
-    RArray<TLanguage>* languageArray = new ( ELeave ) RArray<TLanguage>;
-    CleanupDeletePushL( languageArray ); // Protect [allocated on the heap] array itself
-    CleanupClosePushL( *languageArray );  // Protect the array elements
-    
-    // Always generate a pronunciation in UI language
-    User::LeaveIfError( languageArray->Append( User::Language() ) );
-    
-    iTrainingParameters = CNssTrainingParameters::NewL();
-    
-    iTrainingParameters->SetLanguages( languageArray );
-    
-    // For array elements pushed via CleanupClosePushL
-    CleanupStack::Pop( languageArray );
-    CleanupStack::Pop( languageArray ); 
-    }
-    
-// ---------------------------------------------------------
-// CVerificationTrainingState::TrainTagsL
-// ---------------------------------------------------------
-//  
-void CVerificationTrainingState::TrainTagsL()
-    {
-    RUBY_DEBUG_BLOCK( "CVerificationTrainingState::TrainTagsL" );
-    
-    CreateTagsL();
-    
-    ConstructTrainingParametersL();
-    
-    iExpectedCallbacks = KVerificationCommands;
-    
-    for ( int i = 0; i < KVerificationCommands; ++i )
-        {
-        HBufC* text = StringLoader::LoadLC( KCommandIds[ i ] );    
-        
-        MNssSpeechItem* speechItem = static_cast<MNssTag*>( (*iTags)[ i ] )->SpeechItem();
-        speechItem->SetTextL( *text );
-        
-        CleanupStack::PopAndDestroy( text );
-        
-        MNssRRD* rrd = static_cast<MNssTag*>( (*iTags)[ i ] )->RRD();
-        
-        rrd->IntArray()->AppendL( i );
-            
-        MNssSpeechItem::TNssSpeechItemResult result = 
-		    speechItem->TrainTextL( DataStorage().VoiceRecognitionImpl(),
-		                            iTrainingParameters );
-    
-        if ( result != MNssSpeechItem::EVasErrorNone )
-            {
-            RUBY_ERROR1( "CVerificationTrainingState::TrainTagsL - Training start failed with the nss code [%d]", result );
-
-            HandleEventL( KErrGeneral );
-            }
-        }
-    }
-    
-// ---------------------------------------------------------
-// CVerificationTrainingState::SaveTagsL
-// ---------------------------------------------------------
-//  
-void CVerificationTrainingState::SaveTagsL()
-    {
-    RUBY_DEBUG_BLOCK( "CVerificationTrainingState::SaveTagsL" );
-    
-    iExpectedCallbacks = KVerificationCommands;
-    
-    for ( int i = 0; i < KVerificationCommands; ++i )
-        {
-        TInt result = 
-            iTagManager->SaveTag( DataStorage().VoiceRecognitionImpl(),
-                                  static_cast<MNssTag*>( (*iTags)[ i ] ) );
-        if ( result != KErrNone ) 
-            {
-            RUBY_ERROR1( "CVerificationTrainingState::SaveTagsL - Savetag start failed with the nss code [%d]", result );
-
-            HandleEventL( KErrGeneral );
-            }
-        }
-    }
-        
-// ---------------------------------------------------------
-// CVerificationTrainingState::SaveLanguage
-// ---------------------------------------------------------
-//           
-void CVerificationTrainingState::SaveLanguage()
-    {
-    RUBY_DEBUG0( "CVerificationTrainingState::SaveLanguage START" );
-    
-    TRAP_IGNORE(
-        CRepository* client = CRepository::NewLC( KCRUidSRSFSettings );    
-        client->Set( KSRSFVoiceUiLanguage, User::Language() );        
-        CleanupStack::PopAndDestroy( client ) );
-    
-    RUBY_DEBUG0( "CVerificationTrainingState::SaveLanguage EXIT" );
-    }
-    
-// End of File
-