srsf/nssvasapi/nssvascore/inc/nssvascrrd.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:29:17 +0100
branchRCL_3
changeset 23 e36f3802f733
parent 0 bf1d17376201
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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:  CNssRRD class encapsulated a RRD. It implements MNssRRD.
*
*/


#ifndef NSSVASCRRD_H
#define NSSVASCRRD_H

//  INCLUDES
#include "nssvasmrrd.h"
#include "nssvascoreconstant.h"

// CLASS DECLARATION

/**
*  CNssRRD encapsulates result recognition data. 
*  It is the implementation class for MNssRRD. In addition to methods in MNssRRD, 
*  it also provides methods for internal use by VAS components.
*  @lib NssVASApi.lib
*  @since 2.8
*/

class CNssRRD: public  CBase, public MNssRRD
{
public:

    /**
    * C++ destructor.
    */
	~CNssRRD();

    /**
    * 2 phase construction
    */
	static CNssRRD* NewL(); 

    /**
    * 2 phase construction
    */
	static CNssRRD* NewLC();

    /**
    * Set the tag id for this context
	* @param aTagId tag id for the context
    * @return 
    */
	void SetTagId(TInt aTagId);

	 /**
    * Get the tag id for this context
    * @since 2.0
    * @param 
    * @return tag id
    */  
	TInt TagId();

	/**
    * Creates a deep copy of the RRD object and returns a pointer
	* to the newly created RRD. A client calling calling
	* this method takes the responsibility of deleting the new RRD object.
	* For internal use by by VAS components.
	* @since 2.0
    * @param 
    * @return pointer to newly created rrd
    */
	CNssRRD *CopyL();

public: // from MNssRRD

	/**
    * Get the text array for this RRD
	* @since 2.0
    * @param 
    * @return pointer to text array
    */  
	 CArrayFixFlat<NssRRDText>* TextArray();

	/**
    * Get the integer array this RRD
	* @since 2.0
    * @param 
    * @return pointer to integer array
    */  
	 CArrayFixFlat<TInt>* IntArray();

	/**
    * Set the text array for this RRD
	* @since 2.0
    * @param pointer to text array
    * @return 
    */  
	 void SetTextArrayL(CArrayFixFlat<NssRRDText>* aTextArray);

	/**
    * Set the integer array this RRD
	* @since 2.0
    * @param pointer to integer array
    * @return 
    */  
	 void SetIntArrayL(CArrayFixFlat<TInt>* aIntArray);

private:

	/**
    * C++ constructor.
    */
	CNssRRD();

	/**
    * EPOC constructor.
    */
	void ConstructL();

private:

	// text array
	CArrayFixFlat<NssRRDText>* iTextArray;

	// integer array
	CArrayFixFlat<TInt>*	iIntArray;

	// tag id, for internal use by VAS DB
	TInt					iTagId; 
};


#endif // NSSVASCRRD_H  
            
// End of File