diff -r b13cd05eeb2f -r 57b735022c18 srsf/nssvasapi/nssvascore/src/nssvasccontext.cpp --- a/srsf/nssvasapi/nssvascore/src/nssvasccontext.cpp Mon Jan 18 20:20:30 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,369 +0,0 @@ -/* -* Copyright (c) 2004-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: CNssContext class does all context processing. It implements -* MNssContext interface. -* -*/ - - -// INCLUDE FILES -#include "nssvasccontext.h" -#include "rubydebug.h" - - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CNssContext::CNssContext -// C++ default constructor can NOT contain any code that -// might leave. -// --------------------------------------------------------- -// -CNssContext::CNssContext( CNssContextSrsPortal* aContextSrsPortal ) - { - // These take forever in strain test - RUBY_DEBUG0( "CNssContext::CNssContext" ); - - iContextSrsPortal = aContextSrsPortal; - iGlobal = EFalse; - iContextId = KNssVASDbDefaultValue; - iContextSrsPortal->Register(); - iRecognitionMode = ENSSSdSiMode; - } - -// --------------------------------------------------------- -// CNssContext::~CNssContext -// Destructor -// --------------------------------------------------------- -// -CNssContext::~CNssContext() - { - // These take forever in strain test: - // RUBY_DEBUG0( "CNssContext::~CNssContext" ); - - if ( iContextSrsPortal ) - { - iContextSrsPortal->Deregister(); - } - if ( iName ) - { - delete iName; - } - } - -// --------------------------------------------------------- -// CNssContext::ContextName -// returns the name of the context as a reference -// --------------------------------------------------------- -// -TDesC& CNssContext::ContextName() - { - return *iName; - } - -// --------------------------------------------------------- -// CNssContext::IsGlobal -// returns the global flag -// --------------------------------------------------------- -// -TBool CNssContext::IsGlobal() - { - return iGlobal; - } - -// --------------------------------------------------------- -// CNssContext::SetNameL -// sets the name of the context to aName, -// old name, if any is deleted. -// --------------------------------------------------------- -// -void CNssContext::SetNameL( const TDesC& aName ) - { - if ( iName ) - { - delete iName; - iName = NULL; - } - iName = aName.AllocL(); - } - -// --------------------------------------------------------- -// CNssContext::SetGlobal -// sets the global flag to ETrue or EFalse -// --------------------------------------------------------- -// -void CNssContext::SetGlobal( TBool aGlobal ) - { - iGlobal = aGlobal; - } - -// --------------------------------------------------------- -// CNssContext::ContextId -// return the context id -// for internal use -// --------------------------------------------------------- -// -TInt CNssContext::ContextId() const - { - return iContextId; - } - -// --------------------------------------------------------- -// CNssContext::GrammarId -// returns the grammar id -// for internal use -// --------------------------------------------------------- -// -TUint32 CNssContext::GrammarId() const - { - return iGrammarId; - } - -// --------------------------------------------------------- -// CNssContext::LexiconId -// returns the lexicon id -// for internal use -// --------------------------------------------------------- -// -TUint32 CNssContext::LexiconId() const - { - return iLexiconId; - } - -// --------------------------------------------------------- -// CNssContext::ModelBankId -// returns the model bank id -// for internal use -// --------------------------------------------------------- -// -TUint32 CNssContext::ModelBankId() const - { - return iModelBankId; - } - -// --------------------------------------------------------- -// CNssContext::RecognitionMode -// returns the recognition technology -// for internal use -// --------------------------------------------------------- -// -TNSSRecognitionMode CNssContext::RecognitionMode() const - { - return iRecognitionMode; - } - -// --------------------------------------------------------- -// CNssContext::SetContextId -// sets the context id to the given value -// for internal use -// --------------------------------------------------------- -// -void CNssContext::SetContextId( TInt aContextId ) - { - iContextId = aContextId; - } - -// --------------------------------------------------------- -// CNssContext::SetGrammarId -// sets the grammar id to the given value -// for internal use -// --------------------------------------------------------- -// -void CNssContext::SetGrammarId( TUint32 aGrammarId ) - { - iGrammarId = aGrammarId; - } - -// --------------------------------------------------------- -// CNssContext::SetLexiconId -// sets the lexicon id to the given value -// for internal use -// --------------------------------------------------------- -// -void CNssContext::SetLexiconId( TUint32 aLexiconId ) - { - iLexiconId = aLexiconId; - } - -// --------------------------------------------------------- -// CNssContext::SetModelBankId -// sets the model bank id to the given value -// for internal use -// --------------------------------------------------------- -// -void CNssContext::SetModelBankId( TUint32 aModelBankId ) - { - iModelBankId = aModelBankId; - } - -// --------------------------------------------------------- -// CNssContext::SetRecognitionMode -// sets the model bank id to the given value -// for internal use -// --------------------------------------------------------- -// -void CNssContext::SetRecognitionMode( TNSSRecognitionMode aRecogMode ) - { - iRecognitionMode = aRecogMode; - } - -// --------------------------------------------------------- -// CNssContext::SaveToSrsL -// for internal use -// This method is used to save the context to the SRS. -// This creates the model bank, -// lexicon, and grammar for a context. Model bank, and lexicon -// are created only for the first time, and are thus, fixed. -// For every context, there is one grammar id. After, model bank, -// lexicon, and grammar are created, the corresponding Ids are -// set in the context object. -// --------------------------------------------------------- -// -void CNssContext::BeginSaveToSrsL( MNssCoreSrsDBEventHandler* aSrsDBEventHandler ) - { - iContextSrsPortal->BeginSaveContextL( this, aSrsDBEventHandler ); - } - -// --------------------------------------------------------- -// CNssContext::DeleteFromSrsL -// for internal use -// This method is used to delete a context from the SRS. -// This deletes the grammar from the SRS. -// --------------------------------------------------------- -// -void CNssContext::BeginDeleteFromSrsL( MNssCoreSrsDBEventHandler* aSrsDBEventHandler ) - { - iContextSrsPortal->BeginDeleteContextL( this, aSrsDBEventHandler ); - } - -// --------------------------------------------------------- -// CNssContext::CommitSrsChanges -// for internal use -// This method is used to commit a context change from the SRS. -// --------------------------------------------------------- -// -TInt CNssContext::CommitSrsChanges() - { - return iContextSrsPortal->CommitSaveContext(); - } - -// --------------------------------------------------------- -// CNssContext::RollbackSrsChanges -// for internal use -// This method is used to commit a context change from the SRS. -// --------------------------------------------------------- -// -TInt CNssContext::RollbackSrsChanges() - { - return iContextSrsPortal->RollbackSaveContext(); - } - -// --------------------------------------------------------- -// CNssContext::SetModelBankAndLexiconExist -// for internal use -// sets the iModelBankAndLexiconExist flag to ETrue or EFalse -// --------------------------------------------------------- -// -void CNssContext::SetModelBankAndLexiconExist( TBool aVal ) - { - iModelBankAndLexiconExist = aVal; - } - -// --------------------------------------------------------- -// CNssContext::ModelBankAndLexiconExist -// for internal use -// gets the value of the iModelBankAndLexiconExist flag -// --------------------------------------------------------- -// -TBool CNssContext::ModelBankAndLexiconExist() - { - return iModelBankAndLexiconExist; - } - -// --------------------------------------------------------- -// CNssContext::operator= -// for internal use -// overloaded assignment operator -// --------------------------------------------------------- -// -CNssContext& CNssContext::operator=( const CNssContext& aContext ) - { - RUBY_DEBUG0( "CNssContext::operator=" ); - - if ( this != &aContext ) - { - if ( iName ) - { - delete iName; - } - iName = (aContext.iName)->Alloc(); - iContextId = aContext.iContextId; - iGlobal = aContext.iGlobal; - iGrammarId = aContext.iGrammarId; - iLexiconId = aContext.iLexiconId; - iModelBankId = aContext.iModelBankId; - iContextSrsPortal = aContext.iContextSrsPortal; - iModelBankAndLexiconExist = aContext.iModelBankAndLexiconExist; - iRecognitionMode = aContext.iRecognitionMode; - } - return *this; - } - -// --------------------------------------------------------- -// CNssContext::CopyL -// for internal use -// creates a copy of this context -// --------------------------------------------------------- -// -CNssContext* CNssContext::CopyL() - { - // Takes ages in strain test - RUBY_DEBUG0( "CNssContext::CopyL" ); - - CNssContext* copy = new (ELeave) CNssContext( iContextSrsPortal ); - copy->iName = iName->Alloc(); - copy->iContextId = iContextId; - copy->iGlobal = iGlobal; - copy->iGrammarId = iGrammarId; - copy->iLexiconId = iLexiconId; - copy->iModelBankId = iModelBankId; - copy->iContextSrsPortal = iContextSrsPortal; - copy->iModelBankAndLexiconExist = iModelBankAndLexiconExist; - copy->iClientData.Copy( iClientData ); - - return copy; - } - -// --------------------------------------------------------- -// CNssContext::SetClientData -// Sets/Resets the client data. The data must be saved -// to VAS DBwith CNssContextMgr::SaveClientData. -// --------------------------------------------------------- -// -void CNssContext::SetClientData(const TDesC8& aData) - { - iClientData.Copy( aData ); - } - -// --------------------------------------------------------- -// CNssContext::ClientData -// Gets the client data. -// --------------------------------------------------------- -// -const TDesC8& CNssContext::ClientData(void) - { - return iClientData; - } - -// End of File