diff -r cad71a31b7fc -r e36f3802f733 srsf/nssvasapi/nssvascore/inc/nssvasccontextbuilder.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/srsf/nssvasapi/nssvascore/inc/nssvasccontextbuilder.h Wed Sep 01 12:29:17 2010 +0100 @@ -0,0 +1,133 @@ +/* +* 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: CNssContextBuilder is the builder for context objects. It is owned +* by the context manager. A client builds contexts by requesting the +* context manager which in turn forwards the request to context builder. +* +*/ + + +#ifndef NSSVASCCONTEXTBUILDER_H +#define NSSVASCCONTEXTBUILDER_H + +// INCLUDES +#include "nssvasccontext.h" +#include "nssvasccontextsrsportal.h" + +// CLASS DECLARATION + +/** +* CNssContextBuilder is a builder class for creating context objects. +* It has overloaded variants for the CreateContext(). A client will not create +* a context object directly but will request it through the context manager, +* which in turn calls the CreateContext() in context builder. +* @lib NssVASApi.lib +* @since 2.8 +*/ + +class CNssContextBuilder: public CBase +{ +public: + + /** + * destructor + * @param + * @return + */ + ~CNssContextBuilder(); + + /** + * 2 phase construction + * @param + * @return pointer to context builder + */ + static CNssContextBuilder* NewL(); + + /** + * 2 phase construction + * @param + * @return pointer to context builder + */ + static CNssContextBuilder* NewLC(); + +public: + + /** + * create a context given the name, context id, global flag, grammar id, + * lexicon id, and modelbank id. Used by VAS internal components + * @since 2.0 + * @param aName Name for the context + * @param aContextId Context Id for the context + * @param aGlobal Context is global or not + * @param aGrammarId Grammar id for the context + * @param aLexiconId Lexicon id for the context + * @param aModelBankId Model bank id for the context + * @return + */ + CNssContext* CreateContextL(const TDesC& aName, TInt aContextId, TBool aGlobal, + TUint32 aGrammarId, TUint32 aLexiconId, TUint32 aModelBankId, + TUint32 iTrainType, const TDesC8& aClientData ); + + /** + * create a context given the lexicon id and modelbank id, other members of the + * context are initialized to 0. Used by VAS internal components + * @since 2.0 + * @param aLexiconId lexicon id + * @param aModelBankId model bank id + * @return + */ + CNssContext* CreateContextL(TUint32 aLexiconId, TUint32 aModelBankId); + + /** + * create an empty context + * @since 2.0 + * @param + * @return context id + */ + CNssContext* CreateContextL(); + + /** + * get context SRS portal + * @since 2.8 + * @param + * @return CNssContextSrsPortal + */ + CNssContextSrsPortal* GetContextPortal(); + +private: + + /** + * constructor + * @param + * @return + */ + CNssContextBuilder(); + + /** + * 2 phase construction + * @param + * @return context id + */ + void ConstructL(); + +private: + + // a srs utility portal + CNssContextSrsPortal* iContextSrsPortal; +}; + + +#endif // NSSVASCCONTEXTBUILDER_H + +// End of File