diff -r b13cd05eeb2f -r 57b735022c18 srsf/nssvasapi/nssvasdb/src/nssvasrvasdbsession.cpp --- a/srsf/nssvasapi/nssvasdb/src/nssvasrvasdbsession.cpp Mon Jan 18 20:20:30 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,556 +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: RNssVasDbSession is the client-side(proxy) interface through which -* communication with the vasdb server is channelled. -* -*/ - - -#include "nssvasrvasdbsession.h" -#include "nssvascvasdb.h" - -// Complementary macro for TRAPD: -// TRAPD( err, doSomething() ); -// REACT( err, return( err ) ); -#define REACT(a,b) if ( a < 0 ) {b;} - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::RNssVasDbSession -// C++ constructor -// ----------------------------------------------------------------------------- -// -RNssVasDbSession::RNssVasDbSession() - { - iConnected = 0; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::~RNssVasDbSession -// C++ destructor. -// ----------------------------------------------------------------------------- -// -RNssVasDbSession::~RNssVasDbSession() - { - delete iVasDb; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::CreateDatabase -// Method to create the database. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::CreateDatabase() - { - TRAPD( error, iVasDb->CreateDatabaseL() ); - - return error; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::OpenDatabase -// Method to open the database. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::OpenDatabase() - { - if ( iConnected ) - { - iConnected++; - return KErrDbAlreadyOpen; - } - - TRAPD( error, iVasDb->OpenDatabaseL() ); - - if ( error == KErrNone ) - { - iConnected++; - } - - return error; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::CloseDatabase -// Method to close the database. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::CloseDatabase() - { - // Check if already closed (or never opened) - if ( iConnected <= 0 ) - { - return( KErrNone ); - } - - // Some other VAS instance in the same thread may be using the database. - iConnected--; - - // If not, close it. - if ( iConnected <= 0 ) - { - return iVasDb->CloseDatabase(); - } - - return( KErrNone ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::ModelBankIdLexiconId -// A method to get the model bank id and lexicon id. -// ----------------------------------------------------------------------------- -// -TBool RNssVasDbSession::ModelBankIdLexiconId( TUint32& aModelBankId, TUint32& aLexiconId ) - { - TBool ret = EFalse; - - TRAPD( err, ret = iVasDb->GetModelBankIdLexiconIdL( aModelBankId, aLexiconId ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return ret; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::TagExist -// Method to check whether the context has tags or it is empty. -// ----------------------------------------------------------------------------- -// -TBool RNssVasDbSession::TagExist(TInt aContextId) - { - TBool tagExists = EFalse; - - TRAPD( err, tagExists = iVasDb->TagExistL( aContextId ) ); - REACT( err, tagExists = EFalse ); - - return( tagExists ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::TagCount -// Method to return the number of tags in a context. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::TagCount(TInt aContextId) - { - TInt ret = 0; - - TRAPD( err, ret = iVasDb->TagCountL( aContextId ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return ret; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::SaveContext -// Method to save a context. When a context is saved, a context ID is -// assigned to it. The newly assigned ID is returned -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::SaveContext( CNssContext& aContext, TInt& aContextId ) - { - TRAPD( error, iVasDb->SaveContextL( aContext, aContextId ) ); - - return error; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::UpdateContext -// Method to update the data of a context. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::UpdateContext(CNssContext& aContext) - { - TInt ret = KErrNone; - - TRAP( ret, iVasDb->UpdateContextL( aContext ) ); - - return ret; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::UpdateContextClientData -// Method to update the client data of a context. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::UpdateContextClientData(CNssContext& aContext) - { - TInt ret = KErrNone; - - TRAP( ret, iVasDb->UpdateContextClientDataL( aContext ) ); - - return ret; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetContextByName -// Method to get a context by name. -// ----------------------------------------------------------------------------- -// -CArrayPtrFlat* RNssVasDbSession::GetContextByName(const TDesC& aName) - { - //CArrayFixFlat* res = 0; - CArrayPtrFlat* res = 0; - - TRAPD( err, res = iVasDb->GetContextByNameL( aName ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetAllGlobalContexts -// Method to list all global contexts. -// ----------------------------------------------------------------------------- -// -//CArrayFixFlat* RNssVasDbSession::GetGlobalContexts() -CArrayPtrFlat* RNssVasDbSession::GetGlobalContexts() - { - //CArrayFixFlat* res = 0; - CArrayPtrFlat* res = 0; - - TRAPD( err, res = iVasDb->GetGlobalContexts() ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetAllContexts -// Method to list all contexts. -// ----------------------------------------------------------------------------- -// -//CArrayFixFlat* RNssVasDbSession::GetAllContexts() -CArrayPtrFlat* RNssVasDbSession::GetAllContexts() - { - //CArrayFixFlat* res = 0; - CArrayPtrFlat* res = 0; - - TRAPD( err, res = iVasDb->GetAllContexts() ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetTag -// Method to get all tags in a context. -// ----------------------------------------------------------------------------- -// -//TNssTagListArray* RNssVasDbSession::GetTag( const TNssContext& aContext ) -CArrayPtrFlat* RNssVasDbSession::GetTag( const CNssContext& aContext ) - { - //TNssTagListArray* res = NULL; - CArrayPtrFlat* res = NULL; - - TRAPD( err, res = iVasDb->GetTagL( aContext ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetTag -// Method to get a tag by grammar ID and rule ID. -// ----------------------------------------------------------------------------- -// -//TNssTagListArray* RNssVasDbSession::GetTag( TNssGrammarIdRuleId aGrammarIdRuleId ) -CArrayPtrFlat* RNssVasDbSession::GetTag( TNssGrammarIdRuleId aGrammarIdRuleId ) - { - //TNssTagListArray* res = NULL; - CArrayPtrFlat* res = NULL; - - TRAPD( err, res = iVasDb->GetTagL( aGrammarIdRuleId ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetTags -// Method to get tags by their grammar ID and rule ID. -// ----------------------------------------------------------------------------- -// -//TNssTagListArray* RNssVasDbSession::GetTags( TNssGrammarIdRuleIdListArray& aGrammarIdRuleIds ) -CArrayPtrFlat* RNssVasDbSession::GetTags( - TNssGrammarIdRuleIdListArray& aGrammarIdRuleIds ) - { - //TNssTagListArray* res = NULL; - CArrayPtrFlat* res = NULL; - - TRAPD( err, res = iVasDb->GetTagsL( aGrammarIdRuleIds ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetTag -// Method to get a tag by name (CNssSpeechItem::SetText). -// ----------------------------------------------------------------------------- -// -//TNssTagListArray* RNssVasDbSession::GetTag( const TDesC& aName ) -CArrayPtrFlat* RNssVasDbSession::GetTag( const TDesC& aName ) - { - //TNssTagListArray* res = NULL; - CArrayPtrFlat* res = NULL; - - TRAPD( err, res = iVasDb->GetTagL( aName ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetTag -// Method to get a tag by RRD data, given RRD integer and the position (0-4) -// to which the integer is compared. -// ----------------------------------------------------------------------------- -// -//TNssTagListArray* RNssVasDbSession::GetTag( TInt aContextId, TInt aNum, TInt aPosition ) -CArrayPtrFlat* RNssVasDbSession::GetTag( TInt aContextId, TInt aNum, TInt aPosition ) - { - //TNssTagListArray* res = NULL; - CArrayPtrFlat* res = NULL; - - TRAPD( err, res = iVasDb->GetTagL( aContextId, aNum, aPosition ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetTag -// Method to get a tag by RRD data, given RRD text and the position (0-4) -// to which the text is compared. -// ----------------------------------------------------------------------------- -// -//TNssTagListArray* RNssVasDbSession::GetTag( TInt aContextId, TDesC& aText, TInt aPosition ) -CArrayPtrFlat* RNssVasDbSession::GetTag( TInt aContextId, - const TDesC& aText, TInt aPosition ) - { - //TNssTagListArray* res = NULL; - CArrayPtrFlat* res = NULL; - - TRAPD( err, res = iVasDb->GetTagL( aContextId, aText, aPosition ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetTag -// Method to get a tag, given the tag ID. -// ----------------------------------------------------------------------------- -// -//TNssTagListArray* RNssVasDbSession::GetTag( TUint32 aTagId ) -CArrayPtrFlat* RNssVasDbSession::GetTag( TUint32 aTagId ) - { - //TNssTagListArray* res = NULL; - CArrayPtrFlat* res = NULL; - - TRAPD( err, res = iVasDb->GetTagL( aTagId ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( res ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::SaveTag -// Method to save a tag. During saving, a Tag ID is assigned for the tag. -// This ID is returned in the refrence parameter. -// ----------------------------------------------------------------------------- -// -//TInt RNssVasDbSession::SaveTag( TNssTag& aTag, TInt& aNewId ) -TInt RNssVasDbSession::SaveTag( CNssTag& aTag, TInt& aNewId ) - { - TInt ret = 0; - - TRAPD( err, iVasDb->SaveTagL( aTag, aNewId ) ); - REACT( err, ret = err ); - - return ret; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::SaveTags -// Method to save a group of tags. During saving, a Tag IDs are assigned -// for the tags. These IDs is returned in the aTagIdArray. -// ----------------------------------------------------------------------------- -// -//TInt RNssVasDbSession::SaveTags( CArrayFixFlat* aTagArray, RArray& aTagIdArray ) -TInt RNssVasDbSession::SaveTags( CArrayPtrFlat* aTagArray, RArray& aTagIdArray ) - { - TRAPD( ret, iVasDb->SaveTagsL( aTagArray, aTagIdArray ) ); - - return ret; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::DeleteTag -// Method to delete a group of tags. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::DeleteTags( const RArray& aTagIdArray ) - { - TRAPD( ret, iVasDb->DeleteTagsL( aTagIdArray ) ); - - return ret; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::UpdateTag -// Method to update the information of an existing tag. -// ----------------------------------------------------------------------------- -// -//TInt RNssVasDbSession::UpdateTag( const TNssTag& /*aTag*/ ) -TInt RNssVasDbSession::UpdateTag( const CNssTag& /*aTag*/ ) - { - return KErrNotSupported; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::UpdateTagRuleIDs -// Method to update the Rule IDs of some tags. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::UpdateTagRuleIDs( const RArray& aRetrainedTags ) - { - TRAPD( ret, iVasDb->UpdateTagRuleIDsL( aRetrainedTags ) ); - return( ret ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::DeleteTag -// Method to delete a tag by name. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::DeleteTag( const TDesC& aTagName ) - { - TRAPD( error, iVasDb->DeleteTagL( aTagName ) ); - - return( error ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::DeleteTag -// Method to delete a tag by identifier. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::DeleteTag( TInt aTagId ) - { - TRAPD( error, iVasDb->DeleteTagL( aTagId ) ); - - return( error ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::DeleteContext -// Method to delete a context from the database. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::DeleteContext( const TDesC& aName ) - { - TRAPD( err, iVasDb->DeleteContextL( aName ) ); - - return( err ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetTagReferenceList -// Method to get references to all tags in a context. -// ----------------------------------------------------------------------------- -// -TNssTagReferenceListArray* RNssVasDbSession::GetTagReferenceList( TInt aContextId ) - { - TNssTagReferenceListArray* result = 0; - - TRAPD( err, result = iVasDb->GetTagReferenceListL( aContextId ) ); - - // To remove warning - if ( err != KErrNone ) - { - } - - return( result ); - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::GetDefaultModelBankId -// Method to get the default model bank id -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::GetDefaultModelBankId( TUint32& aId ) - { - TRAPD( err, iVasDb->GetDefaultModelBankIdL( aId ) ); - return err; - } - -// ----------------------------------------------------------------------------- -// RNssVasDbSession::ResetModelBank -// Modifies the context table so that all contexts start using -// the new id as their model bank id. -// ----------------------------------------------------------------------------- -// -TInt RNssVasDbSession::ResetModelBank( TUint32 aNewId ) - { - TRAPD( err, iVasDb->ResetModelBankL( aNewId ) ); - return err; - }