authorisation/userpromptservice/policies/inc/fingerprint.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 26 Jan 2010 13:18:49 +0200
changeset 34 721a5e5fe251
parent 8 35751d3474b7
permissions -rw-r--r--
Revision: 201004 Kit: 201004

/*
* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "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: 
*
*/


/**
 @file
 @publishedPartner
 @released
*/

#ifndef FINGERPRINT_H
#define FINGERPRINT_H

#include <e32base.h>
#include <e32cmn.h>

namespace UserPromptService
	{
	/**
	Class that represents the fingerprint data for a stored decision.
	
	The raw fingerprint data must be between one and  KMaxFingerprintLength bytes in 
	length and are typically created from selected parts of the destination and opaque fields.
	\n	
	E.g. Hash("GPRS") or Hash("+442071541000") or "ALL"\n

	Since hash functions are irreversible the fingerprint may also include a human readable
	string of up to KMaxDescriptionLength characters in length that describes the data used to 
	generate the hash. This may be used by a management user interface that allows a device user 
	to rescind individual decisions.

	This field is stored in the decision record but is otherwise unused by the User Prompt Service. 
	*/
	NONSHARABLE_CLASS(CFingerprint) : public CBase
		{
	public:		
		IMPORT_C static CFingerprint* NewL(const TDesC8& aFingerprint, const TDesC& aDescription);
		IMPORT_C static CFingerprint* NewLC(const TDesC8& aFingerprint, const TDesC& aDescription);

		IMPORT_C const TDesC8& Fingerprint() const;
		IMPORT_C const TDesC& Description() const;
		~CFingerprint();

	private:
		CFingerprint();
		void ConstructL(const TDesC8& aFingerprint, const TDesC& aDescription);
		
		HBufC8* iFingerprint;	///< The raw fingerprint data		
		HBufC* iDescription;	///< Describes the data used to generate the hash
		};
	}	

#endif // FINGERPRINT_H