--- a/srsf/nssvasapi/nssvasdb/inc/nssvasctagmgr.h Thu Aug 19 09:56:14 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-/*
-* Copyright (c) 2002-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: CNssTagMgr implements the MNssTagMgr interface. In addition, it also provides
-* methods for internal use by VAS components.
-*
-*/
-
-
-#ifndef NSSVASCTAGMGR_H
-#define NSSVASCTAGMGR_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include "nssvasmtagmgr.h"
-#include "nssvasmgettagclient.h"
-#include "nssvasmdeletetagclient.h"
-#include "nssvasmsavetagclient.h"
-#include "nssvasmintercomptagmgrclient.h"
-#include "nssvasmcoresrsdbeventhandler.h"
-#include "nssvasmvasdatabaseclient.h"
-#include "nssvascoreconstant.h"
-#include "nssvasmtagreference.h"
-#include "nssvasmgettagreferenceclient.h"
-#include "nssvasmcoresyncrecoveryhandler.h"
-#include "nssvascvasdbdataexchanger.h"
-
-// FORWARD DECLARATION
-class CNssSpeechItemBuilder;
-class CNssContextMgr;
-class CNssTag;
-class CNssVASDatabase;
-
-// CLASS DECLARATIONS
-/**
-* CNssTagMgr implements the MNssTagMgr interface for tag management services.
-* @lib NssVASApi.lib
-* @since 2.8
-*/
-class CNssTagMgr:
- public CActive,
- public MNssTagMgr,
- public MNssCoreSrsDBEventHandler,
- public MNssVASDatabaseClient
-{
-public:
-
- /**
- * destructor
- */
- ~CNssTagMgr();
-
- /**
- * 2 phase constructor
- * @param aVasDatabase - pointer to the VAS Database
- * @param aContextManager - pointer to the context manager
- * @return pointer the created tag manager
- */
- static CNssTagMgr* NewL(CNssVASDatabase* aVasDatabase, CNssContextMgr *aContextManager);
-
- /**
- * 2 phase constructor
- * @param aVasDatabase - pointer to the VAS Database
- * @param aContextManager - pointer to the context manager
- * @return pointer the created tag manager
- */
- static CNssTagMgr* NewLC(CNssVASDatabase* aVasDatabase, CNssContextMgr *aContextManager);
-
- /**
- * Creates a new tag
- * @since 2.0
- * @param aContext - pointer to context
- * @return newly created tag
- */
- MNssTag* CreateTagL(MNssContext* aContext);
-
- /**
- * gets tag list, implementation of interface MNssTagMgr
- * @since 2.0
- * @param aTagClient - call back address
- * @param aContext - context for which to get tags
- * @return synchronous error codes
- */
- TInt GetTagList(MNssGetTagClient* aTagClient,MNssContext* aContext);
-
- /**
- * gets tag list, implementation of interface MNssTagMgr
- * @since 2.0
- * @param aTagClient - call back address
- * @param aName - name for which to get tags
- * @return synchronous error codes
- */
- TInt GetTagList(MNssGetTagClient* aTagClient, MNssContext* aContext, const TDesC& aName);
-
-
- /**
- * delete tag, implementation of interface MNssTagMgr
- * @since 2.0
- * @param aTagClient - call back address
- * @param aTag - tag to delete
- * @return synchronous error codes
- */
- TInt DeleteTag(MNssDeleteTagClient* aTagClient,MNssTag* aTag);
-
- /**
- * save tag, implementation of interface MNssTagMgr
- * @since 2.0
- * @param aTagClient - call back address
- * @param aTag - tag to save
- * @return synchronous error codes
- */
- TInt SaveTag(MNssSaveTagClient* aTagClient,MNssTag* aTag);
-
- /**
- * get a tag based on grammar id and rule id.
- * for use by VAS components, call back returns a list with one element.
- * @since 2.0
- * @param aTagClient - call back address
- * @param aGrammarId - grammar id
- * @param aRuleId - rule id
- * @return synchronous error codes
- */
- CNssTag* GetTag( TUint32 aGrammarId, TUint32 aRuleId );
-
- /**
- * get tags based on their grammar id and rule id.
- * for use by VAS components, call back returns a list with one element.
- * @param aGrammarIdRuleIds array of grammarid-ruleid pairs
- * return array list. It is to be destroyed by the client
- */
- MNssTagListArray* GetTags( TNssGrammarIdRuleIdListArray& aGrammarIdRuleIds);
-
-
- /**
- * call back implementation from MNssVASDatabaseClient
- * @since 2.0
- * @param aContextList - list of contexts (not used in tag manager)
- * @param aTagList - list of tags
- * @param aCode - error code if failed
- * @return
- */
- void VASDatabaseComplete( CArrayPtrFlat<CNssContext>* aContextList,
- CArrayPtrFlat<CNssTag>* aTagList,
- CArrayPtrFlat<CNssTagReference>* aTagRefList,
- MNssVASDatabaseClient::TNssVASDBClientReturnCode aCode);
-
-
- /**
- * call back implementation from MNssCoreSrsDBEventHandler
- * @since 2.0
- * @param
- * @return
- */
- void HandleSaveSrsDBCompleted();
-
- /**
- * call back implementation from MNssCoreSrsDBEventHandler
- * @since 2.0
- * @param
- * @return
- */
- void HandleDeleteSrsDBCompleted();
-
- /**
- * Call back function from SRS DB, through interface MNssCoreSrsDBEventHandler
- * Called after deleting from SRS DB is successful
- * @since 2.8
- * @param
- * @return
- */
- void HandleResetSrsDBCompleted();
-
- /**
- * call back implementation from MNssCoreSrsDBEventHandler
- * @since 2.0
- * @param
- * @return
- */
- void HandleSrsDBError(MNssCoreSrsDBEventHandler::TNssSrsDBResult aResult);
-
- /**
- * utility function for CNssTag List to MNssTag List conversion, and call back to client
- * @since 2.0
- * @param aSourceList - CNssTag List
- * @return
- */
- void CNssTagListToMNssTagListConvertorL(CArrayPtrFlat<CNssTag>* aSourceList);
-
- /**
- * Cancel get tag, for use by inter component clients only, not provided for
- * external clients.
- * @since 2.0
- * @param none
- * @return none
- */
- void CancelGetTag();
-
- /**
- * gets a tagCount, implementation of interface MNssTagMgr
- * @since 2.0
- * @param aContext - context for which to get tag count.
- * @return synchronous error codes or tagCount
- */
- TInt TagCount(MNssContext* aContext);
-
- /**
- * get the tag(s) based on partial rrd int data and position
- * @since 2.0
- * @param aTInt - the rrd int value.
- * @param aPosition - the position of the int value in rrd int array
- * @return synchronous error codes or tagCount
- */
-
- TInt GetTagList(MNssGetTagClient* aTagClient,MNssContext* aContext,TInt aNum,TInt aPosition);
- /**
- * get the tag(s) based on partial rrd text data and position
- * @since 2.0
- * @param aTInt - the rrd text value.
- * @param aPosition - the position of the int value in rrd int array
- * @return synchronous error codes or tagCount
- */
-
- TInt GetTagList(MNssGetTagClient* aTagClient,MNssContext* aContext,TDesC& aText,TInt aPosition);
- /**
- * Get a list of tag references based on context.
- * @since 2.0
- * @param aTagReferenceClient - call back address
- * @param aContext - a context
- * @return asynchronous return error code
- */
- TInt GetTagReferenceList(MNssGetTagReferenceClient* aTagRefClient,MNssContext* aContext);
- /**
- * Get a tag based on tagreference.
- * @since 2.0
- * @param aTagClient - call back address
- * @param aTagReference - a tagreferenc
- * @return asynchronous return error code
- */
- TInt GetTag(MNssGetTagClient* aTagClient,MNssTagReference* aTagReference);
-
- void CNssTagRefListToMNssTagRefListConvertorL(CArrayPtrFlat<CNssTagReference>* aSourceList);
-
- /********************** ACTIVE OBJECT *******************/
- TInt RunError( TInt aError );
- void RunL();
- void DoCancel();
-
-private:
-
- enum TCallBackState
- {
- ENone,
- EGetTagClient,
- EDeleteTagClient,
- ESaveTagClient,
- EInterCompTagMgrClient,
- EGetTagReferenceClient
- };
-
- /**
- * C++ constructor
- * @param
- * @return
- */
- CNssTagMgr();
-
- /**
- * C++ constructor
- * @param aVasDatabase - pointer to the VAS Database
- * @param aContextManager - pointer to the context manager
- * @return
- */
- CNssTagMgr(CNssVASDatabase* aVasDatabase, CNssContextMgr *aContextManager);
-
- /**
- * EPOC constructor
- */
- void ConstructL();
-
-
-private:
-
- // pointer to the VAS Database
- CNssVASDatabase* iVasDatabase;
-
- // pointer to the speech item builder, tag manager owns this builder
- CNssSpeechItemBuilder* iSpeechItemBuilder;
-
- // pointer to a context manager, association
- CNssContextMgr* iContextManager;
-
- // state of the tag manager
- TCallBackState iState;
-
- // get tag client call back address
- MNssGetTagClient* iGetTagClient;
-
- // delete tag client call back address
- MNssDeleteTagClient* iDeleteTagClient;
-
- // save tag clienat call back address
- MNssSaveTagClient* iSaveTagClient;
-
- // internal VAS components as clients, call back address
- MNssInterCompTagMgrClient* iInterCompTagMgrClient;
-
- // local pointer to tag, for error handling
- CNssTag* iLocalTag;
-
- // local pointer to speech item, for error handling
- CNssSpeechItem* iLocalSpeechItem;
-
- // for error handling
- TBool iRecovery;
-
- // get tag reference client call back address
- MNssGetTagReferenceClient* iGetTagReferenceClient;
-
- // Tag array for GetTag[List]
- CArrayPtrFlat<MNssTag>* iTagList;
-
- // Tag array for GetTagReferenceList
- CArrayPtrFlat<MNssTagReference>* iTagRefList;
-};
-
-#endif // NSSVASCTAGMGR_H
-
-// End of file