--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmdevicefw/speechrecogsupport/ASR/src/SpeechRecognitionUtility.cpp Thu Oct 07 22:34:12 2010 +0100
@@ -0,0 +1,300 @@
+// Copyright (c) 2003-2009 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 <e32base.h>
+#include <mmf/common/mmfcontroller.h>
+#include <mmf/common/speechrecognitioncustomcommands.h>
+#include <mmf/common/speechrecognitiondataclient.h>
+
+#include <speechrecognitionutility.h>
+#include "SpeechRecognitionUtilityBody.h"
+
+_LIT(KMMFSpeechPanicCategory, "SpeechClient");
+GLDEF_C void Panic(TInt aError)
+ {
+ User::Panic(KMMFSpeechPanicCategory, aError);
+ }
+
+EXPORT_C CSpeechRecognitionUtility* CSpeechRecognitionUtility::NewL(MSpeechRecognitionUtilityObserver& aSpeechRecognitionUtilityObserver, TUid aClientUid)
+ {
+ CSpeechRecognitionUtility* s = CSpeechRecognitionUtility::NewLC(aSpeechRecognitionUtilityObserver, aClientUid);
+ CleanupStack::Pop(s);
+ return s;
+ }
+
+EXPORT_C CSpeechRecognitionUtility* CSpeechRecognitionUtility::NewLC(MSpeechRecognitionUtilityObserver& aSpeechRecognitionUtilityObserver, TUid aClientUid)
+ {
+ CSpeechRecognitionUtility* s = new(ELeave) CSpeechRecognitionUtility;
+ CleanupStack::PushL(s);
+ s->iBody = CSpeechRecognitionUtility::CBody::NewL(aClientUid, aSpeechRecognitionUtilityObserver);
+ return s;
+ }
+
+CSpeechRecognitionUtility::CSpeechRecognitionUtility()
+ {
+ }
+
+EXPORT_C CSpeechRecognitionUtility::~CSpeechRecognitionUtility()
+ {
+ delete iBody;
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetEngineProperties(const RArray<TInt>& aArray1, RArray<TInt>& aArray2)
+ {
+ ASSERT(iBody);
+ return iBody->GetEngineProperties(aArray1, aArray2);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::AddPronunciation(TLexiconID aLexiconID, TModelBankID aModelBankID, TModelID aModelID, TPronunciationID& aPronunciationID)
+ {
+ ASSERT(iBody);
+ return iBody->AddPronunciation(aLexiconID, aModelBankID, aModelID, aPronunciationID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::AddRule(TGrammarID aGrammarID, TLexiconID aLexiconID, TPronunciationID aPronunciationID, TRuleID& aRuleID)
+ {
+ ASSERT(iBody);
+ return iBody->AddRule(aGrammarID, aLexiconID, aPronunciationID, aRuleID);
+ }
+
+EXPORT_C void CSpeechRecognitionUtility::Cancel()
+ {
+ ASSERT(iBody);
+ iBody->Cancel();
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::CommitChanges()
+ {
+ ASSERT(iBody);
+ return iBody->CommitChanges();
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::CreateGrammar(TGrammarID& aGrammarID)
+ {
+ ASSERT(iBody);
+ return iBody->CreateGrammar(aGrammarID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::CreateLexicon(TLexiconID& aLexiconID)
+ {
+ ASSERT(iBody);
+ return iBody->CreateLexicon(aLexiconID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::LoadModels(TModelBankID aModelBankID)
+ {
+ ASSERT(iBody);
+ return iBody->LoadModels(aModelBankID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::LoadGrammar(TGrammarID aGrammarID)
+ {
+ ASSERT(iBody);
+ return iBody->LoadGrammar(aGrammarID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::LoadLexicon(TLexiconID aLexiconID)
+ {
+ ASSERT(iBody);
+ return iBody->LoadLexicon(aLexiconID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetUtteranceDuration(TModelBankID aModelBankID, TModelID aModelID, TTimeIntervalMicroSeconds32& aDuration)
+ {
+ ASSERT(iBody);
+ return iBody->GetUtteranceDuration(aModelBankID, aModelID, aDuration);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::PlayUtterance(TModelBankID aModelBankID, TModelID aModelID)
+ {
+ ASSERT(iBody);
+ return iBody->PlayUtterance(aModelBankID, aModelID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetModelCount(TModelBankID aModelBankID, TInt& aModelCount)
+ {
+ ASSERT(iBody);
+ return iBody->GetModelCount(aModelBankID, aModelCount);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::EndRecSession()
+ {
+ ASSERT(iBody);
+ return iBody->EndRecSession();
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::StartRecSession(TRecognitionMode aMode)
+ {
+ ASSERT(iBody);
+ return iBody->StartRecSession(aMode);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::Recognize(CSDClientResultSet& aResultSet)
+ {
+ ASSERT(iBody);
+ return iBody->Recognize(aResultSet);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::Record(TTimeIntervalMicroSeconds32 aRecordTime)
+ {
+ ASSERT(iBody);
+ return iBody->Record(aRecordTime);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::RemoveGrammar(TGrammarID aGrammarID)
+ {
+ ASSERT(iBody);
+ return iBody->RemoveGrammar(aGrammarID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::RemovePronunciation(TLexiconID aLexiconID, TPronunciationID aPronunciationID)
+ {
+ ASSERT(iBody);
+ return iBody->RemovePronunciation(aLexiconID, aPronunciationID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::RemoveLexicon(TLexiconID aLexiconID)
+ {
+ ASSERT(iBody);
+ return iBody->RemoveLexicon(aLexiconID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::RemoveModel(TModelBankID aModelBankID, TModelID aModelID)
+ {
+ ASSERT(iBody);
+ return iBody->RemoveModel(aModelBankID, aModelID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::RemoveRule(TGrammarID aGrammarID, TRuleID aRuleID)
+ {
+ ASSERT(iBody);
+ return iBody->RemoveRule(aGrammarID, aRuleID);
+ }
+EXPORT_C TInt CSpeechRecognitionUtility::Train(TModelBankID aModelBankID, TModelID& aModelID)
+ {
+ ASSERT(iBody);
+ return iBody->Train(aModelBankID, aModelID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::UnloadRule(TGrammarID aGrammarID, TRuleID aRuleID)
+ {
+ ASSERT(iBody);
+ return iBody->UnloadRule(aGrammarID, aRuleID);
+ }
+
+EXPORT_C void CSpeechRecognitionUtility::SetEventHandler(MSpeechRecognitionUtilityObserver* aSpeechRecognitionUtilityObserver)
+ {
+ ASSERT(iBody);
+ iBody->SetEventHandler(aSpeechRecognitionUtilityObserver);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAllPronunciationIDs(TLexiconID aLexiconID, RArray <TPronunciationID>& aPronunciationIDs)
+ {
+ ASSERT(iBody);
+ return iBody->GetAllPronunciationIDs(aLexiconID, aPronunciationIDs);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAllModelIDs(TModelBankID aModelBankID, RArray <TModelID>& aModelIDs)
+ {
+ ASSERT(iBody);
+ return iBody->GetAllModelIDs(aModelBankID, aModelIDs);
+ }
+
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAllRuleIDs(TGrammarID aGrammarID, RArray <TRuleID>& aRuleIDs)
+ {
+ ASSERT(iBody);
+ return iBody->GetAllRuleIDs(aGrammarID, aRuleIDs);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAllClientLexiconIDs(RArray <TLexiconID>& aLexiconIDs)
+ {
+ ASSERT(iBody);
+ return iBody->GetAllClientLexiconIDs(aLexiconIDs);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAllClientModelBankIDs(RArray <TModelBankID>& aModelBankIDs)
+ {
+ ASSERT(iBody);
+ return iBody->GetAllClientModelBankIDs(aModelBankIDs);
+ }
+
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAllClientGrammarIDs(RArray <TGrammarID>& aGrammarIDs)
+ {
+ ASSERT(iBody);
+ return iBody->GetAllClientGrammarIDs(aGrammarIDs);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAllLexiconIDs(RArray <TLexiconID>& aLexiconIDs)
+ {
+ ASSERT(iBody);
+ return iBody->GetAllLexiconIDs(aLexiconIDs);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAllModelBankIDs(RArray <TModelBankID>& aModelBankIDs)
+ {
+ ASSERT(iBody);
+ return iBody->GetAllModelBankIDs(aModelBankIDs);
+ }
+
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAllGrammarIDs(RArray <TGrammarID>& aGrammarIDs)
+ {
+ ASSERT(iBody);
+ return iBody->GetAllGrammarIDs(aGrammarIDs);
+ }
+
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetRuleValidity(TGrammarID aGrammarID, TRuleID aRuleID, TBool& aValid)
+ {
+ ASSERT(iBody);
+ return iBody->GetRuleValidity(aGrammarID, aRuleID, aValid);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::CreateModelBank(TModelBankID& aModelBankID)
+ {
+ ASSERT(iBody);
+ return iBody->CreateModelBank(aModelBankID);
+ }
+EXPORT_C TInt CSpeechRecognitionUtility::RemoveModelBank(TModelBankID aModelBankID)
+ {
+ ASSERT(iBody);
+ return iBody->RemoveModelBank(aModelBankID);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::GetAvailableStorage(TInt& aAvailableStorage)
+ {
+ ASSERT(iBody);
+ return iBody->GetAvailableStorage(aAvailableStorage);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::LoadEngineParameters(const RArray<TInt>& aParameterId, const RArray<TInt>& aParameterValue)
+ {
+ ASSERT(iBody);
+ return iBody->LoadEngineParameters(aParameterId, aParameterValue);
+ }
+
+EXPORT_C TInt CSpeechRecognitionUtility::SetAudioPriority(TInt aPriority, TInt aTrainPreference, TInt aPlaybackPreference, TInt aRecognitionPreference)
+ {
+ ASSERT(iBody);
+ return iBody->SetAudioPriority(aPriority, aTrainPreference, aPlaybackPreference, aRecognitionPreference);
+ }
+
+enum TDllReason {};
+EXPORT_C TInt E32Dll(TDllReason /* aReason */)
+ {
+ return (KErrNone);
+ }