bluetoothapitest/bluetoothsvs/T_BTUserAPI/src/T_BTAccessRequirementsData.cpp
changeset 0 29b1cd4cb562
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetoothapitest/bluetoothsvs/T_BTUserAPI/src/T_BTAccessRequirementsData.cpp	Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,414 @@
+/*
+* Copyright (c) 2005-2009 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:
+*
+*/
+
+#include "T_BTAccessRequirementsData.h"
+
+/*@{*/
+//Parameters
+_LIT(KAuthentication,										"authentication");
+_LIT(KAuthorisation,										"authorisation");
+_LIT(KEncryption,											"encryption");
+_LIT(KDenied,												"denied");
+_LIT(KPasskeyMinLength,										"passkeyminlength");
+_LIT(KExpected, 											"expected");
+
+//Commands
+_LIT(KCmdTBTAccessRequirements,								"TBTAccessRequirements");
+_LIT(KCmdSetAuthentication,									"SetAuthentication");
+_LIT(KCmdSetAuthorisation,									"SetAuthorisation");
+_LIT(KCmdSetEncryption,										"SetEncryption");
+_LIT(KCmdSetDenied,											"SetDenied");
+_LIT(KCmdSetPasskeyMinLength,								"SetPasskeyMinLength");
+_LIT(KCmdAuthenticationRequired,							"AuthenticationRequired");
+_LIT(KCmdAuthorisationRequired,								"AuthorisationRequired");
+_LIT(KCmdEncryptionRequired,								"EncryptionRequired");
+_LIT(KCmdDenied,											"Denied");
+_LIT(KCmdPasskeyMinLength,									"PasskeyMinLength");
+
+//	Logging
+_LIT(KLogMissingParameter,			"Missing parameter '%S'");
+/*@}*/
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_BTAccessRequirementsData* CT_BTAccessRequirementsData::NewL()
+	{
+	CT_BTAccessRequirementsData*	ret=new (ELeave) CT_BTAccessRequirementsData();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_BTAccessRequirementsData::CT_BTAccessRequirementsData()
+:	iData(NULL)
+	{
+	}
+
+void CT_BTAccessRequirementsData::ConstructL()
+	{
+	}
+
+CT_BTAccessRequirementsData::~CT_BTAccessRequirementsData()
+	{
+	DestroyData();
+	}
+
+//	Service methods
+TAny* CT_BTAccessRequirementsData::GetObject()
+	{
+	return iData;
+	}
+
+void CT_BTAccessRequirementsData::SetObjectL(TAny* aAny)
+	{
+	//called when loading up persistent data
+	DestroyData();
+	iData = static_cast<TBTAccessRequirements*> (aAny);
+	}
+
+
+void CT_BTAccessRequirementsData::DisownObjectL()
+	{
+	iData=NULL;
+	}
+
+void CT_BTAccessRequirementsData::DestroyData()
+	{
+	delete iData;
+	iData=NULL;	
+	}
+
+inline TCleanupOperation CT_BTAccessRequirementsData::CleanupOperation()
+	{
+	return CleanupOperation;
+	}
+
+void CT_BTAccessRequirementsData::CleanupOperation(TAny* aAny)
+	{
+	TBTAccessRequirements* arg=static_cast<TBTAccessRequirements*>(aAny);
+	delete arg;
+	}
+
+TBool CT_BTAccessRequirementsData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
+	{
+	TBool	ret = ETrue;
+	if ( aCommand==KCmdTBTAccessRequirements )
+		{
+		DoCmdTBTAccessRequirements();
+		}
+	else if ( aCommand==KCmdSetAuthentication )
+		{
+		DoCmdSetAuthentication(aSection);
+		}
+	else if ( aCommand==KCmdSetAuthorisation )
+		{
+		DoCmdSetAuthorisation(aSection);
+		}
+	else if ( aCommand==KCmdSetEncryption )
+		{
+		DoCmdSetEncryption(aSection);
+		}
+	else if ( aCommand==KCmdSetDenied )
+		{
+		DoCmdSetDenied(aSection);
+		}
+	else if ( aCommand==KCmdSetPasskeyMinLength )
+		{
+		DoCmdSetPasskeyMinLength(aSection);
+		}
+	else if ( aCommand==KCmdAuthenticationRequired )
+		{
+		DoCmdAuthenticationRequired(aSection);
+		}
+	else if ( aCommand==KCmdAuthorisationRequired )
+		{
+		DoCmdAuthorisationRequired(aSection);
+		}
+	else if ( aCommand==KCmdEncryptionRequired )
+		{
+		DoCmdEncryptionRequired(aSection);
+		}
+	else if ( aCommand==KCmdDenied )
+		{
+		DoCmdDenied(aSection);
+		}
+	else if ( aCommand==KCmdPasskeyMinLength )
+		{
+		DoCmdPasskeyMinLength(aSection);
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+
+/**
+Test TBTAccessRequirements()
+*/
+void CT_BTAccessRequirementsData::DoCmdTBTAccessRequirements()
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements Constructor Call"));
+	DestroyData();
+	iData = new (ELeave) TBTAccessRequirements();
+	}
+
+
+/**
+Test SetAuthentication()
+*/
+void CT_BTAccessRequirementsData::DoCmdSetAuthentication(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements SetAuthentication Call"));
+
+	TBool	authentication = EFalse;
+	if(GetBoolFromConfig(aSection, KAuthentication(), authentication) )
+		{
+		iData->SetAuthentication(authentication);
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KAuthentication());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+Test SetAuthorisation()
+*/
+void CT_BTAccessRequirementsData::DoCmdSetAuthorisation(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements SetAuthorisation Call"));
+
+	TBool	authorisation = EFalse;
+	if(GetBoolFromConfig(aSection, KAuthorisation(), authorisation) )
+		{
+		iData->SetAuthorisation(authorisation);
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KAuthorisation());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+Test SetEncryption()
+*/
+void CT_BTAccessRequirementsData::DoCmdSetEncryption(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements SetEncryption Call"));
+
+	TBool	encryption = EFalse;
+	if(GetBoolFromConfig(aSection, KEncryption(), encryption) )
+		{
+		iData->SetEncryption(encryption);
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KEncryption());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+Test SetDenied()
+*/
+void CT_BTAccessRequirementsData::DoCmdSetDenied(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements SetDenied Call"));
+
+	TBool	denied = EFalse;
+	if(GetBoolFromConfig(aSection, KDenied(), denied) )
+		{
+		iData->SetDenied(denied);
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KDenied());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+Test SetPasskeyMinLength()
+*/
+void CT_BTAccessRequirementsData::DoCmdSetPasskeyMinLength(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements SetPasskeyMinLength Call"));
+
+	TInt	passkeyMinLength = EFalse;
+	if(GetIntFromConfig(aSection, KPasskeyMinLength(), passkeyMinLength) )
+		{
+		TInt result = iData->SetPasskeyMinLength(passkeyMinLength);
+		if(result != KErrNone)
+			{
+			ERR_PRINTF2(_L("**** TBTAccessRequirements SetPasskeyMinLength failed with error %d"), result);
+			SetError(result);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KPasskeyMinLength());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+Test AuthenticationRequired()
+*/
+void CT_BTAccessRequirementsData::DoCmdAuthenticationRequired(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements AuthenticationRequired Call"));
+	
+	TBool authentification = iData->AuthenticationRequired();
+	INFO_PRINTF2(_L("TBTAccessRequirements AuthenticationRequired result: actual = %d"), authentification);
+	
+	TBool	expected = EFalse;
+	if(GetBoolFromConfig(aSection, KExpected(), expected) )
+		{
+		if( expected != authentification )
+			{
+			ERR_PRINTF1(_L("AuthenticationRequired not as expected!"));
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KExpected());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+Test AuthorisationRequired()
+*/
+void CT_BTAccessRequirementsData::DoCmdAuthorisationRequired(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements AuthorisationRequired Call"));
+	
+	TBool authorisation = iData->AuthorisationRequired();
+	INFO_PRINTF2(_L("TBTAccessRequirements AuthorisationRequired result: actual = %d"), authorisation);
+	
+	TBool	expected = EFalse;
+	if(GetBoolFromConfig(aSection, KExpected(), expected) )
+		{
+		if( expected != authorisation )
+			{
+			ERR_PRINTF1(_L("AuthorisationRequired not as expected!"));
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KExpected());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+Test EncryptionRequired()
+*/
+void CT_BTAccessRequirementsData::DoCmdEncryptionRequired(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements EncryptionRequired Call"));
+	
+	TBool encryption = iData->EncryptionRequired();
+	INFO_PRINTF2(_L("TBTAccessRequirements EncryptionRequired result: actual = %d"), encryption);
+	
+	TBool	expected = EFalse;
+	if(GetBoolFromConfig(aSection, KExpected(), expected))
+		{
+		if( expected != encryption )
+			{
+			ERR_PRINTF1(_L("EncryptionRequired not as expected!"));
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KExpected());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+Test Denied()
+*/
+void CT_BTAccessRequirementsData::DoCmdDenied(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements Denied Call"));
+	
+	TBool denied = iData->Denied();
+	INFO_PRINTF2(_L("TBTAccessRequirements Denied result: actual = %d"), denied);
+	
+	TBool	expected = EFalse;
+	if(GetBoolFromConfig(aSection, KExpected(), expected) )
+		{
+		if( expected != denied )
+			{
+			ERR_PRINTF1(_L("Denied not as expected!"));
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KExpected());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+Test PasskeyMinLength()
+*/
+void CT_BTAccessRequirementsData::DoCmdPasskeyMinLength(const TDesC& aSection)
+	{
+	INFO_PRINTF1(_L("TBTAccessRequirements PasskeyMinLength Call"));
+	
+	TUint passkeyMinLength = iData->PasskeyMinLength();
+	INFO_PRINTF2(_L("TBTAccessRequirements PasskeyMinLength result: actual = %d"), passkeyMinLength);
+	
+	TInt	expected = EFalse;
+	if(GetIntFromConfig(aSection, KExpected(), expected) )
+		{
+		if( expected != passkeyMinLength )
+			{
+			ERR_PRINTF1(_L("PasskeyMinLength not as expected!"));
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(KLogMissingParameter, &KExpected());
+		SetBlockResult(EFail);
+		}
+	}
+