speechsrv_plat/vas_api/inc/nssvasmtagmgr.h
branchRCL_3
changeset 19 e36f3802f733
parent 0 bf1d17376201
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/speechsrv_plat/vas_api/inc/nssvasmtagmgr.h	Wed Sep 01 12:29:17 2010 +0100
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2002 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:  MNssTagMgr provides services for tag management. Clients obtain a
+*				 tag manager from the VAS DB Manager. VAS DB Manager owns the tag 
+*				 manager and is responsible for deleting it when the VAS DB manager is
+*				 deleted. Clienst should not directly delete the tag manager. Through
+*				 the tag manager, a client can create a tag, save it to the VAS DB, 
+*				 retreive a tag (or tag list) from the VAS DB, and delete tag from VAS DB.
+*
+*/
+
+
+#ifndef MNSSTAGMGR_H
+#define MNSSTAGMGR_H
+
+// INCLUDES
+#include <e32std.h>
+#include <nssvascoreconstant.h>
+
+
+//FORWARD DECLARATIONS
+class MNssGetTagClient;
+class MNssDeleteTagClient;
+class MNssSaveTagClient;
+class MNssTag;
+class MNssRRD;
+class MNssContext;
+class MNssGetTagReferenceClient;
+class MNssTagReference;
+
+// CLASS DECLARATIONS
+/**
+*  MNssTagMgr is the interface class for tag management. 
+*  @lib NssVASApi.lib
+*  @since 2.0
+*/
+class MNssTagMgr
+{
+public:
+   /**
+   * Creates a new tag. A context needs to be created prior to creating a tag.
+   * @since 2.0
+   * @param aContext - context for the tag
+   * @return newly created tag pointer
+   */
+   virtual MNssTag* CreateTagL(MNssContext* aContext)=0;
+   
+   /**
+   * Gets tag list associated with a context. Asynchronous.
+   * @since 2.0
+   * @param aTagClient - call back address
+   * @param aContext - context for which to get the tags
+   * @return synchronous return error code
+   */   
+   virtual TInt GetTagList(MNssGetTagClient* aTagClient, MNssContext* aContext)=0;
+
+   /**
+   * Gets tag list with a given name. Asynchronous.
+   * @since 2.0
+   * @param aTagClient - call back address
+   * @param aContext - context for which to get the tags
+   * @param aName - name for which to get the tags
+   * @return synchronous return error code
+   */   
+   virtual TInt GetTagList( MNssGetTagClient* aTagClient, MNssContext* aContext,
+                            const TDesC& aName)=0;
+      
+   /**
+   * Delete tag from VAS DB. Asynchronous.
+   * @since 2.0
+   * @param aTagClient - call back address
+   * @param aTag - tag to delete
+   * @return synchronous return error code
+   */   
+   virtual TInt DeleteTag(MNssDeleteTagClient* aTagClient,MNssTag* aTag)=0;
+
+   /**
+   * Save tag to VAS DB. Asynchronous.
+   * @since 2.0
+   * @param aTagClient - call back address
+   * @param aTag - tag to save
+   * @return synchronous return error code
+   */   
+   virtual TInt SaveTag(MNssSaveTagClient* aTagClient,MNssTag* aTag)=0;
+   
+   /**
+   * Get tag count from VAS DB. Synchronous.
+   * @since 2.0
+   * @param aContext - context for which to get tag count.
+   * @return synchronous return error code or tagCount
+   */   
+   virtual TInt TagCount(MNssContext* aContext)=0;
+
+   /**
+   * Get the tag(s) based on partial rrd int data. Asynchronous.
+   * @since 2.0
+   * @param aTagClient - call back address
+   * @param aTInt - a rrd int value
+   * @param aPosition - the rrd int value position in the rrd intarray 
+   * @return asynchronous return error code
+   */
+   virtual TInt GetTagList( MNssGetTagClient* aTagClient,MNssContext* aContext,
+                            TInt aNum,TInt aPosition )=0;
+   /**
+   * Get the tag(s) based on partial rrd text data. Asynchronous.
+   * @since 2.0
+   * @param aTagClient - call back address
+   * @param aTInt - a rrd text value
+   * @param aPosition - the rrd text value position in the rrd textarray
+   * @return asynchronous return error code
+   */
+   virtual TInt GetTagList( MNssGetTagClient* aTagClient,MNssContext* aContext,
+                            TDesC& aText,TInt aPosition )=0;
+                            
+   /**
+   * Get a list of tag references based on context. Asynchronous.
+   * @since 2.0
+   * @param aTagReferenceClient - call back address
+   * @param aContext - a context
+   * @return asynchronous return error code
+   */
+   virtual TInt GetTagReferenceList( MNssGetTagReferenceClient* aTagRefClient,
+                                     MNssContext* aContext )=0;
+   
+   /**
+   * Get a tag based on tagreference. Asynchronous.
+   * @since 2.0
+   * @param aTagClient - call back address
+   * @param aTagReference - a tagreferenc
+   * @return asynchronous return error code
+   */
+   virtual TInt GetTag(MNssGetTagClient* aTagClient,MNssTagReference* aTagReference)=0;
+};
+#endif