authorisation/userpromptservice/policies/source/fingerprint.cpp
changeset 8 35751d3474b7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/authorisation/userpromptservice/policies/source/fingerprint.cpp	Thu Sep 10 14:01:51 2009 +0300
@@ -0,0 +1,106 @@
+/*
+* 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: 
+*
+*/
+
+
+#include <ups/fingerprint.h>
+#include <ups/upsconst.h>
+#include <ups/upserr.h>
+
+using namespace UserPromptService;
+
+
+EXPORT_C CFingerprint* CFingerprint::NewL(const TDesC8& aFingerprint, const TDesC& aDescription)
+/**
+Creates a new fingerprint object.
+@param	aFingerprint	  An 8-bit descriptor containing the raw fingerprint data.
+@param	aDescription	  A human readable description of the fingerprint.
+@return	A pointer to the new fingerprint object.
+@leave	KErrUpsBadFingerprintLength if the fingerprint is empty or exceeds 
+		KUpsMaxFingerprintLength bytes in length.
+*/
+	{
+	CFingerprint* self = CFingerprint::NewLC(aFingerprint, aDescription);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CFingerprint* CFingerprint::NewLC(const TDesC8& aFingerprint, const TDesC& aDescription)
+/**
+Creates a new fingerprint object.
+@param	aFingerprint	  An 8-bit descriptor containing the raw fingerprint data.
+@param	aDescription	  A human readable description of the fingerprint.
+@return A pointer to the new fingerprint object.
+@leave	KErrUpsBadFingerprintLength if the fingerprint is empty or exceeds 
+		KUpsMaxFingerprintLength bytes in length.
+*/
+	{
+	CFingerprint* self = new(ELeave) CFingerprint();
+	CleanupStack::PushL(self);
+	self->ConstructL(aFingerprint, aDescription);
+	return self;
+	}
+
+void CFingerprint::ConstructL(const TDesC8& aFingerprint, const TDesC& aDescription)
+/**
+Second phase constructor
+@param	aFingerprint The raw fingerprint data.
+@param	aDescription A description of the fingerprint data.
+@leave	KErrUpsBadFingerprintLength if the fingerprint exceeds 
+		KUpsMaxFingerprintLength bytes in length.
+*/
+	{
+	if (aFingerprint.Length() > KUpsMaxFingerprintLength)
+		{
+		User::Leave(KErrUpsBadFingerprintLength);
+		}
+	iFingerprint = aFingerprint.AllocL();
+	iDescription = aDescription.AllocL();
+	}
+	
+EXPORT_C const TDesC8& CFingerprint::Fingerprint() const
+/**
+Gets the raw fingerprint data.
+@return An 8-bit descriptor containing the raw fingerprint data.
+*/
+	{
+	return *iFingerprint;
+	}
+	
+EXPORT_C const TDesC& CFingerprint::Description() const
+/**
+Gets the description of the fingerprint.
+@return A 16-bit description containing the description of the fingerprint.
+*/
+	{
+	return *iDescription;
+	}
+
+CFingerprint::CFingerprint() 
+/**
+Constructor
+*/
+	{	
+	}
+
+CFingerprint::~CFingerprint() 
+/**
+Destructor
+*/
+	{
+	delete iFingerprint;
+	delete iDescription;
+	}