bluetoothapitest/bluetoothsvs/T_BTSdpAPI/scripts/BTSDP-Lists-PublicApi-Active-Slave.script
changeset 0 29b1cd4cb562
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetoothapitest/bluetoothsvs/T_BTSdpAPI/scripts/BTSDP-Lists-PublicApi-Active-Slave.script	Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,3668 @@
+//
+// 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:
+//
+///////////////////////////////////////////////////////////////////////////////
+//! @file
+//! @SYMTestSuiteName			T_BTSdpAPI
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM with bluetooth dongle.
+//! @SYMScriptDescription		Tests all public elements of the RSdpDatabase class
+//! 							as a means of confidence that the API works as expected. 
+//!								The purpose is to provide a regression test suite of PublishedAll APIs for 
+//!								BT SDP related classes.
+//! 							Negative testing is performed to confirm that correct errors are returned 
+//!								when incorrect parameters are given. The tests are fully automated.
+//! @SYMAuthor					Symbio
+//! @SYMCreationDate			16/01/2006
+///////////////////////////////////////////////////////////////////////////////
+
+RUN_UTILS	MkDir	${SYSDRIVE}\bluetooth\
+RUN_UTILS	MkDir	${SYSDRIVE}\bluetooth\sdp\
+
+LOAD_SUITE	T_BTSdpAPI	-SharedData
+DELAY		500
+
+// ****************************************************************************
+// Set up BT Addresses
+// ****************************************************************************
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Passive-SetBTAddresses
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Passive-SetBTAddresses-0001
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			COMMAND		CBluetoothSocket1	RSocketServerConnect
+			COMMAND		CBluetoothSocket1	NewL		BTSDP-Lists-PublicApi-Active-SetBTAddresses-0001command2NewL
+			COMMAND		TBTServiceSecurity1	Construct
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Passive-SetBTAddresses-0001
+	START_SYNCHRONISED_TESTCASE BTSDP-Lists-PublicApi-Passive-SetBTAddresses-0002		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
+			CREATE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			COMMAND		TBTDevAddrRemote	Construct
+			COMMAND		TBTDevAddrRemote	OpenHostResolver		BTSDP-Lists-PublicApi-Active-SetBTAddresses-0002command3OpenHostResolver
+			COMMAND		TBTDevAddrRemote	SetHostNameL		BTSDP-Lists-PublicApi-Active-SetBTAddresses-0002command4SetHostNameL
+			COMMAND		TBTDevAddrRemote	GetDeviceAddress		BTSDP-Lists-PublicApi-Active-SetBTAddresses-0002command5GetDeviceAddress
+			OUTSTANDING
+			COMMAND		TRfcommSockAddr1	Construct
+			COMMAND		TRfcommSockAddr1	SetSecurity		BTSDP-Lists-PublicApi-Active-SetBTAddresses-0002command8SetSecurity
+			COMMAND		TRfcommSockAddr1	SetBTAddr		BTSDP-Lists-PublicApi-Active-SetBTAddresses-0002command9SetBTAddr
+			COMMAND		TRfcommSockAddr1	BTAddr		BTSDP-Lists-PublicApi-Active-SetBTAddresses-0002command10BTAddr
+			COMMAND		TRfcommSockAddr1	SetPort		BTSDP-Lists-PublicApi-Active-SetBTAddresses-0002command11SetPort
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Passive-SetBTAddresses-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Passive-SetBTAddresses
+
+
+// ****************************************************************************
+// Agent Side - CSdpAttrVAlueString API tests
+// ****************************************************************************	
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1001
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1001
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), Type(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object and verify object type itself
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1001-0001
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1001-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1001-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	Type		BTSDP-Lists-PublicApi-Active-1001-0001command10Type
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1001-0001command12NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1001-0001command13SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1001-0001command14NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1001-0001command16AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1001-0001command19AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1001-0001command20AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1001-0001
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1001-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1001-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1001
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1002
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1002
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), StartListL(), EndListL(), BuildBooleanL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object and add some boolean values to the object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1002-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1002-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1002-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildBooleanL		BTSDP-Lists-PublicApi-Active-1002-0001command11BuildBooleanL
+			COMMAND		TBTAttrValueDEA1	BuildBooleanL		BTSDP-Lists-PublicApi-Active-1002-0001command12BuildBooleanL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1002-0001command15NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1002-0001command16SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1002-0001command17NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1002-0001command19AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1002-0001command22AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1002-0001command23AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1002-0001
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1002-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1002-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1002
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1003
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1003
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), BuildDEAL(), StartListL(), EndListL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Add a DEA element to the list. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1003-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1003-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1003-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1003-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1003-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1003-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1003-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildDEAL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1003-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1003-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1003-0001
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1003-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1003-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1003
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1004
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1004
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), StartListL(), EndListL(), BuildDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Add a DES element to the list. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1004-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1004-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1004-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1004-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1004-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1004-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1004-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildDESL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1004-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1004-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1004-0001
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1004-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1004-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1004
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1005
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1005
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), BuildEncodedL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Encode the list with unicode value. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1005-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1005-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1005-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1005-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1005-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1005-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1005-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	BuildEncodedL		BTSDP-Lists-PublicApi-Active-1005-0001command18BuildEncodedL
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1005-0001command19AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1005-0001command20AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1005-0001
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1005-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1005-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1005
+
+// ****************************************************************************
+// Agent Side - CSdpAttrValueDES API tests
+// ****************************************************************************
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1006
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1006
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), BuildIntL(), StartListL(), EndListL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object and add a signed value to the list
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1006-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1006-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1006-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildIntL		BTSDP-Lists-PublicApi-Active-1006-0001command11BuildIntL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1006-0001command14NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1006-0001command15SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1006-0001command16NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1006-0001command18AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1006-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1006-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1006-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1006-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1006-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1006
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1007
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1007
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), StartListL(), EndListL(), BuildNilL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Add a NILL type of element to the list. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1007-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1007-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1007-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1007-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1007-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1007-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1007-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildNilL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1007-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1007-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1007-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1007-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1007-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1007
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1008
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1008
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), StartListL(), EndListL(), BuildStringL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Add a string type of element to the list. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1008-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1008-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1008-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1008-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1008-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1008-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1008-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildStringL		BTSDP-Lists-PublicApi-Active-1008-0001command19BuildStringL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1008-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1008-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1008-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1008-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1008-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1008
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1009
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1009
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), StartListL(), EndListL(), BuildURLL(), , DataSize(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object and add an URL type of element to the list.
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!								15. Verify the list size as expected.
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1009-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1009-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1009-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildURLL		BTSDP-Lists-PublicApi-Active-1009-0001command11BuildURLL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1009-0001command14NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1009-0001command15SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1009-0001command16NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1009-0001command18AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1009-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1009-0001command22AcceptVisitorL
+			COMMAND		TBTAttrValueDEA1	DataSize		BTSDP-Lists-PublicApi-Active-1009-0001command23DataSize
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1009-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1009-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1009-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1009
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1010
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1010
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), StartListL(), EndListL(), BuildUUIDL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object and add a UUID type of element to the list.
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1010-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1010-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1010-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildUUIDL		BTSDP-Lists-PublicApi-Active-1010-0001command11BuildUUIDL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1010-0001command14NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1010-0001command15SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1010-0001command16NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1010-0001command18AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1010-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1010-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1010-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1010-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1010-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1010
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1011
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1011
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), StartListL(), EndListL(), BuildUintL() AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDEA data wrapper. Add an unsigned integer type of element to the list. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1011-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1011-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1011-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1011-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1011-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1011-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1011-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildUintL		BTSDP-Lists-PublicApi-Active-1011-0001command19BuildUintL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1011-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1011-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1011-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1011-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1011-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1011
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1012
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1012
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), StartListL(), EndListL(), BuildUnknownL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Add a user-defined type of element to the list. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1012-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1012-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1012-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildUnknownL		BTSDP-Lists-PublicApi-Active-1012-0001command11BuildUnknownL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1012-0001command14NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1012-0001command15SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1012-0001command16NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1012-0001command18AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1012-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1012-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1012-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1012-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1012-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1012
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1013
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1013
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDE object and create another CSdpAttrValueDEA object. Add the first object as an element to the second CSdpAttrValueDEA object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1013-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA2	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1013-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1013-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA2	NewDEAL		BTSDP-Lists-PublicApi-Active-1013-0001command11NewDEAL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1013-0001command13NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1013-0001command14SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1013-0001command15NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1013-0001command17AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA2	AppendValueL		BTSDP-Lists-PublicApi-Active-1013-0001command20AppendValueL
+			COMMAND		TBTAttrValueDEA2	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1013-0001command21AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1013-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1013-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1013-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1013
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1014
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1014
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create two CSdpAttrValueDES objects and add the first object as an element to the second object.
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1014-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES2	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1014-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1014-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTAttrValueDES2	NewDESL		BTSDP-Lists-PublicApi-Active-1014-0001command11NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1014-0001command13NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1014-0001command14SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1014-0001command15NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1014-0001command17AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1014-0001command20AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1014-0001command21AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1014-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1014-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1014-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1014
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1015
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1015
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), DataSize(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!								14. Verify the CSdpAttrValueDES data size if it's as expected
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1015-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1015-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1015-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1015-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1015-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1015-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1015-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1015-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1015-0001command19AcceptVisitorL
+			COMMAND		TBTAttrValueDES1	DataSize		BTSDP-Lists-PublicApi-Active-1015-0001command20DataSize
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1015-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1015-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1015-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1015
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1016
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1016
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), StartListL(), EndListL(), BuildUnknownL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDES object and add a user defined type of element to the list.
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1016-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1016-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1016-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTAttrValueDES1	StartListL
+			COMMAND		TBTAttrValueDES1	BuildUnknownL		BTSDP-Lists-PublicApi-Active-1016-0001command11BuildUnknownL
+			COMMAND		TBTAttrValueDES1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1016-0001command14NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1016-0001command15SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1016-0001command16NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1016-0001command18AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1016-0001command21AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1016-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1016-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1016-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1016-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1016
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1017
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1017
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), StartListL(), EndListL(), BuildUintL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDES object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDES data wrapper. Add an unsigned integer type of element to the list. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1017-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1017-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1017-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1017-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1017-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1017-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1017-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	StartListL
+			COMMAND		TBTAttrValueDES1	BuildUintL		BTSDP-Lists-PublicApi-Active-1017-0001command19BuildUintL
+			COMMAND		TBTAttrValueDES1	EndListL
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1017-0001command21AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1017-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1017-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1017-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1017-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1017
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1018
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1018
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), StartListL(), EndListL(), BuildUUIDL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDES object and add an UUID type of element to the list.
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1018-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1018-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1018-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTAttrValueDES1	StartListL
+			COMMAND		TBTAttrValueDES1	BuildUUIDL		BTSDP-Lists-PublicApi-Active-1018-0001command11BuildUUIDL
+			COMMAND		TBTAttrValueDES1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1018-0001command14NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1018-0001command15SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1018-0001command16NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1018-0001command18AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1018-0001command21AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1018-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1018-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1018-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1018-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1018
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1019
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1019
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), StartListL(), EndListL(), BuildURLL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDES object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDES data wrapper. Add a URL type of element to the list. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1019-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1019-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1019-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1019-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1019-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1019-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1019-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	StartListL
+			COMMAND		TBTAttrValueDES1	BuildURLL		BTSDP-Lists-PublicApi-Active-1019-0001command19BuildURLL
+			COMMAND		TBTAttrValueDES1	EndListL
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1019-0001command21AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1019-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1019-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1019-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1019-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1019
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1020
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1020
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), StartListL(), EndListL(), BuildIntL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDES object.
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDES data wrapper. Add a signed integer value to the list. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1020-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1020-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1020-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTAttrValueDES1	StartListL
+			COMMAND		TBTAttrValueDES1	BuildIntL		BTSDP-Lists-PublicApi-Active-1020-0001command11BuildIntL
+			COMMAND		TBTAttrValueDES1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1020-0001command14NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1020-0001command15SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1020-0001command16NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1020-0001command18AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1020-0001command21AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1020-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1020-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1020-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1020-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1020
+
+
+// ****************************************************************************
+// Agent Side - CSdpAttrValueDEA API tests
+// ****************************************************************************
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1021
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-10021
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), StartListL(), EndListL(), BuildNilL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDES object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDES data wrapper. Add a NILL type of element to the list. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1021-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1021-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1021-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1021-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1021-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1021-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1021-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	StartListL
+			COMMAND		TBTAttrValueDES1	BuildNilL
+			COMMAND		TBTAttrValueDES1	EndListL
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1021-0001command21AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1021-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1021-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1021-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1021-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1021
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1022
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1022
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1022-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1022-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1022-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1022-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1022-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1022-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1022-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1022-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1022-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1022-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1022-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1022-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1022
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1023
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1023
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1023-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1023-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1023-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1023-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1023-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1023-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1023-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1023-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1023-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1023-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1023-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1023-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1023
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1024
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1024
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1024-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1024-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1024-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1024-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1024-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1024-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1024-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1024-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1024-0001command19AcceptVisitorL
+			COMMAND		TBTAttrValueDES1	DataSize		BTSDP-Lists-PublicApi-Active-1024-0001command20DataSize
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1024-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1024-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1024-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1024
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1025
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1025
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1025-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1025-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1025-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1025-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1025-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1025-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1025-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1025-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1025-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1025-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1025-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1025-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1025
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1026
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1026
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1026-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1026-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1026-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1026-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1026-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1026-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1026-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1026-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1026-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1026-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1026-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1026-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1026
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1027
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1027
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1027-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1027-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1027-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1027-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1027-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1027-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1027-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1027-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1027-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1027-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1027-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1027-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1027
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1028
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1028
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1028-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1028-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1028-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1028-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1028-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1028-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1028-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1028-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1028-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1028-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1028-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1028-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1028
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1029
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1029
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1029-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1029-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1029-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1029-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1029-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1029-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1029-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1029-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1029-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1029-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1029-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1029-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1029
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1030
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1030
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1030-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1030-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1030-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1030-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1030-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1030-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1030-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1030-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1030-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1030-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1030-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1030-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1030
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1031
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1031
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1031-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1031-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1031-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1031-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1031-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1031-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1031-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1031-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1031-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1031-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1031-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1031-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1031
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1032
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Master-1032
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1032-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1032-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1032-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1032-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1032-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1032-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1032-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1032-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1032-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1032-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1032-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1032-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1032
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1033
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1033
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1033-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1033-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1033-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1033-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1033-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1033-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1033-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1033-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1033-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1033-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1033-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1033-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1033
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1034
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1034
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1034-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1034-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1034-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1034-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1034-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1034-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1034-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1034-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1034-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1034-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1034-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1034-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1034
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1035
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1035
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1035-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1035-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1035-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1035-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1035-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1035-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1035-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1035-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1035-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1035-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1035-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1035-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1035
+
+// ****************************************************************************
+// Agent Side - CSdpAttrValueUUID API Test
+// ****************************************************************************
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1036
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1036
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1036-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1036-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1036-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1036-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1036-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1036-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1036-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1036-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1036-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1036-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1036-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1036-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1036
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1037
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1037
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, CSdpAttrValueDES, MSdpAttributeValueVisitor, MSdpAgentNotifier
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													NewDESL() from CSdpAttrValueDES
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAttrValueDES to hold attribute search result of step 12
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify that the service record has been retrieved.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!									Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() is executed when 
+//!									the result of attribute request comes back. Result will be put into CSdpAttrValueDES object.
+//!								12. AcceptVisitorL() is called on the CSdpAttrValueDES object to get the attribute values. 
+//!									Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Critical
+//! @SYMTestExpectedResults		CSdpAgent object was created successfully
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1037-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1037-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1037-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1037-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1037-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1037-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1037-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1037-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1037-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1037-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1037-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1037-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1037
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1038
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1038
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								12. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								13. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1038-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1038-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1038-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1038-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1038-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1038-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1038-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1038-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1038-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1038-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1038-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1038-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1038
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1039
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1039
+//! @SYMAPI						CSdpAgent, CSdpSearchPattern, CSdpAttrValueDES, MSdpAttributeValueVisitor, MSdpAgentNotifier
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													NewDESL() from CSdpAttrValueDES
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpSearchPattern object
+//!								2. Add service UUID into searchpattern
+//!								3. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object
+//!								   Verify the resulting err code is KErrNone.
+//!								4. Set the service record filter with the serchpattern
+//!								5. Call NextRecordRequestL() to get service record of slave device which matches the search pattern
+//!								   Verify the resulting err code is KErrNone.
+//!								6. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify that the service record has been retrieved.
+//!								7. Search for a particular service attribute of the service
+//!								8. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!								   the result of attribute request comes back in the form of a list.
+//!								9. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								11. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!								12. Make another service attribute request
+//!								13. Cancel the request 
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Critical
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1039-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1039-0001command4AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1039-0001command8NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1039-0001command9SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1039-0001command12AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1039-0001command15AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1039-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1039-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1039-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1039
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1040
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1040
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL(), SetAttributePredictorListL() from CSdpAgent
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the attridmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern
+//!								   Verify the resulting err code is KErrNone.
+//!								8. Set the predictor list with the attridmatchlist of step 1 
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify that the service record has been retrieved.
+//!								10. Search for a particular service attribute of the service 
+//!									Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list.
+//!								12. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1040-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1040-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1040-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1040-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1040-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1040-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1040-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1040-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1040-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1040-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1040-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1040-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1040
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1041
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1041
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), Cancel(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the attridmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern
+//!								   Verify the resulting err code is KErrNone.
+//!								8. Set the predictor list with the attridmatchlist of step 1 
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify that the service record has been retrieved.
+//!								10. Search for a particular service attribute of the service 
+//!									Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list.
+//!								12. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Medium
+//! @SYMTestExpectedResults		Service record and attributes are found as expected. AttributeRequest is cancelled as expected.
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1041-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1041-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1041-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1041-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1041-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1041-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1041-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1041-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1041-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1041-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1041-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1041-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1041
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1042
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1042
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewLC(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the attridmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern
+//!								   Verify the resulting err code is KErrNone.
+//!								8. Set the predictor list with the attridmatchlist of step 1 
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify that the service record has been retrieved.
+//!								10. Search for a particular service attribute of the service 
+//!									Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list.
+//!								12. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Medium
+//! @SYMTestExpectedResults		Attribute values are retrieved from slave device and the result is as expected.
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1042-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1042-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1042-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewLC		BTSDP-Lists-PublicApi-Active-1042-0001command11NewLC
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1042-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1042-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1042-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1042-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1042-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1042-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1042-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1042-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1042
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1043
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1043
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewLC(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the attridmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern
+//!								   Verify the resulting err code is KErrNone.
+//!								8. Set the predictor list with the attridmatchlist of step 1 
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify that the service record has been retrieved.
+//!								10. Search for a particular service attribute of the service 
+//!									Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list.
+//!								12. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Function is executed without error
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1043-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1043-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1043-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewLC		BTSDP-Lists-PublicApi-Active-1043-0001command11NewLC
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1043-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1043-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1043-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1043-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1043-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1043-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1043-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1043-0002
+
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1043
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1044
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1044
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDES
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewLC(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//!													NewDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDES
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the attridmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern
+//!								   Verify the resulting err code is KErrNone.
+//!								8. Set the predictor list with the attridmatchlist of step 1 
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify that the service record has been retrieved.
+//!								10. Search for a particular service attribute of the service 
+//!									Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list.
+//!								12. Switch to CSdpAttrValueDES data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDES object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDES::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Function is executed without error
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1044-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1044-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1044-0001command7AddL
+			COMMAND		TBTAttrValueDES1	NewDESL
+			COMMAND		TBTSdpagent	NewLC		BTSDP-Lists-PublicApi-Active-1044-0001command11NewLC
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1044-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1044-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1044-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDES1	AppendValueL		BTSDP-Lists-PublicApi-Active-1044-0001command18AppendValueL
+			COMMAND		TBTAttrValueDES1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1044-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1044-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1044-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1044-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1044
+
+// ****************************************************************************
+// Agent Side - TSdpIntBuf<8, 16, 32> API Test
+// ****************************************************************************
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1045
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1045
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object.
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Function is executed without error
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1045-0001	
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1045-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1045-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1045-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1045-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1045-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1045-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1045-0001command18AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1045-0001command19AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1045-0001	
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1045-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1045-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1045
+
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1046
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1046
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), BuildBooleanL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Create a CSdpAttrValueDEA object and add some boolean values to the object
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Switch to CSdpAttrValueDEA data wrapper. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Function is executed without error
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1046-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1046-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1046-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildBooleanL		BTSDP-Lists-PublicApi-Active-1046-0001command11BuildBooleanL
+			COMMAND		TBTAttrValueDEA1	BuildBooleanL		BTSDP-Lists-PublicApi-Active-1046-0001command12BuildBooleanL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1046-0001command15NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1046-0001command16SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1046-0001command17NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1046-0001command19AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1046-0001command22AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1046-0001command23AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1046-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1046-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1046-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1046
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1047
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1047
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA,
+//!								TSdpIntBuf<8>, TSdpIntBuf<16> and TSdpIntBuf<32>
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewIntBuf() from TSdpIntBuf<8>, TSdpIntBuf<16> and TSdpIntBuf<32>
+//!													NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), BuildUintL(), BuildIntL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Convert some integers to 8-bit, 16-bit and 32-bit unsigned integers using NewIntBuf()
+//!								2. Construct a CSdpAttrIdMatchList object
+//!								3. Add some attribute ids into the idmatchlist
+//!								4. Construct a CSdpSearchPattern object
+//!								5. Add service UUID into searchpattern
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Create a CSdpAttrValueDEA list and add the 8-bit, 16-bit and 32-bit unsigned integers to the list
+//!								13. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								14. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								15. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Function is executed without error
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1047-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			CREATE_OBJECT	TSdpIntBuf8	attrIntBuf8	
+			CREATE_OBJECT	TSdpIntBuf16	attrIntBuf16	
+			CREATE_OBJECT	TSdpIntBuf32	attrIntBuf32	
+			COMMAND		attrIntBuf8	NewIntBuf		BTSDP-Lists-PublicApi-Active-1047-0001command2NewIntBuf
+			COMMAND		attrIntBuf16	NewIntBuf		BTSDP-Lists-PublicApi-Active-1047-0001command4NewIntBuf
+			COMMAND		attrIntBuf32	NewIntBuf		BTSDP-Lists-PublicApi-Active-1047-0001command6NewIntBuf
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1047-0001command9AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1047-0001command13AddL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1047-0001command15NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1047-0001command16SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1047-0001command17NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1047-0001command19AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	BuildUintL		BTSDP-Lists-PublicApi-Active-1047-0001command23BuildUintL
+			COMMAND		TBTAttrValueDEA1	BuildUintL		BTSDP-Lists-PublicApi-Active-1047-0001command24BuildUintL
+			COMMAND		TBTAttrValueDEA1	BuildUintL		BTSDP-Lists-PublicApi-Active-1047-0001command25BuildUintL
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1047-0001command26AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1047-0001command27AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1047-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1047-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1047-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1047
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1048
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1048
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	
+//!													NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), StartListL(), EndListL(), BuildDESL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								6. Set the service record filter with the serchpattern
+//!								7. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								9. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								10. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								11. Create a CSdpAttrValueDEA object and add a DES list onto it.
+//!								12. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								13. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								14. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Function is executed without error
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1048-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1048-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1048-0001command7AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1048-0001command11NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1048-0001command12SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1048-0001command13NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1048-0001command15AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildDESL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1048-0001command21AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1048-0001command22AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1048-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1048-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1048-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1048
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1049
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1049
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA,
+//!								TSdpIntBuf<8> and TSdpIntBuf<16> 
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewIntBuf() from TSdpIntBuf<8>, TSdpIntBuf<16> and TSdpIntBuf<32>
+//!													NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), BuildDESL(), StartListL(), BuildUintL(), BuildIntL(), EndListL(), AppendValueL(), 
+//!													AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Convert some integers to 8-bit and 16-bit unsigned integers using NewIntBuf()
+//!								2. Construct a CSdpAttrIdMatchList object
+//!								3. Add some attribute ids into the idmatchlist
+//!								4. Construct a CSdpSearchPattern object
+//!								5. Add service UUID into searchpattern
+//!								6. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								7. Set the service record filter with the serchpattern
+//!								8. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								9. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								10. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								11. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								12. Create a CSdpAttrValueDEA list and add some 8-bit and 16-bit unsigned integers to the list.
+//!								13. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								14. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								15. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Function is executed without error
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1049-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			CREATE_OBJECT	TSdpIntBuf8	attrIntBuf8	
+			CREATE_OBJECT	TSdpIntBuf16	attrIntBuf16	
+			COMMAND		attrIntBuf8	NewIntBuf		BTSDP-Lists-PublicApi-Active-1049-0001command2NewIntBuf
+			COMMAND		attrIntBuf16	NewIntBuf		BTSDP-Lists-PublicApi-Active-1049-0001command4NewIntBuf
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1049-0001command7AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1049-0001command11AddL
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildDESL
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildIntL		BTSDP-Lists-PublicApi-Active-1049-0001command17BuildIntL
+			COMMAND		TBTAttrValueDEA1	BuildIntL		BTSDP-Lists-PublicApi-Active-1049-0001command18BuildIntL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTAttrValueDEA1	BuildDESL
+			COMMAND		TBTAttrValueDEA1	StartListL
+			COMMAND		TBTAttrValueDEA1	BuildUintL		BTSDP-Lists-PublicApi-Active-1049-0001command22BuildUintL
+			COMMAND		TBTAttrValueDEA1	BuildUintL		BTSDP-Lists-PublicApi-Active-1049-0001command23BuildUintL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTAttrValueDEA1	EndListL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1049-0001command27NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1049-0001command28SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1049-0001command29NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1049-0001command31AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1049-0001command34AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1049-0001command35AcceptVisitorL
+			STORE	CBluetoothSocket1	
+			STORE	TBTServiceSecurity1	
+			STORE	TBTDevAddrRemote	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1049-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1049-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1049-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1049
+
+START_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1050
+//! @SYMTestCaseID				BTSDP-Lists-PublicApi-Active-Slave-1050
+//! @SYMAPI						CSdpAgent, CSdpAttrIdMatchList, CSdpSearchPattern, MSdpAttributeValueVisitor, MSdpAgentNotifier, CSdpAttrValueDEA,
+//!								TSdpIntBuf<8>, TSdpIntBuf<16> and TSdpIntBuf<32>
+//! @SYMTestCaseDesc			Search for service on slave device, search for service attributes and retrieve attribute values
+//!								Uses API elements: 	NewIntBuf() from TSdpIntBuf<8>, TSdpIntBuf<16> and TSdpIntBuf<32>
+//!													NewL(), AddL() from CSdpAttrIdMatchList
+//!													NewL(), ConstructL(), AddL() from CSdpSearchPattern
+//!													VisitAttributeValueL() from MSdpAttributeValueVisitor
+//!													NewDEAL(), BuildIntL(), AppendValueL(), AcceptVisitorL() from CSdpAttrValueDEA
+//!													AttributeRequestComplete(), AttributeRequestResult(), NextRecordRequestComplete() from MSdpAgentNotifier
+//!													NewL(), SetRecordFilterL(), NextRecordRequestL(), AttributeRequestL() from CSdpAgent
+//! @SYMTestActions				1. Construct a CSdpAttrIdMatchList object
+//!								2. Add some attribute ids into the idmatchlist
+//!								3. Construct a CSdpSearchPattern object
+//!								4. Add service UUID into searchpattern
+//!								5. Convert some integers to 8-bit, 16-bit and 32-bit unsigned integers using NewIntBuf().
+//!								6. Create a CSdpAttrValueDEA object and add the unsigned integers to the list.
+//!								7. Construct a CSdpAgent object with the bt-address of the slave device provided by the TBTDevAddr object.
+//!								   Verify the resulting err code is KErrNone.
+//!								8. Set the service record filter with the serchpattern
+//!								9. Call NextRecordRequestL() to get service record of slave device which matches the search pattern.
+//!								   Verify the resulting err code is KErrNone.
+//!								10. The call back function NextRecordRequestComplete() is executed if the results comes back.
+//!								   Verify the number of service records being found.
+//!								11. Search for service attributes of the service we've found using the attridmatchlist.
+//!								    Verify the resulting err code is KErrNone.
+//!								12. The call back functions AttributeRequestComplete() and AttributeRequestResult() are executed when 
+//!									the result of attribute request comes back in the form of a list. 
+//!								13. Append the request results of CSdpAgent onto CSdpAttrValueDEA object.
+//!									Verify the resulting err code is KErrNone.
+//!								14. Call CSdpAttrValueDEA::AcceptVisitorL to retrieve the data. Verify the resulting err code is KErrNone.
+//!								15. Check the result by comparing the result string generated by VisitAttributeValueL().
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			Low
+//! @SYMTestExpectedResults		Function is executed without error
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1050-0001		
+	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Lists-PublicApi-Active-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			CREATE_OBJECT	CSdpAttrIdMatchList	TBTAttridmatchlist1	
+			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
+			CREATE_OBJECT	CSdpAttrValueDEA	TBTAttrValueDEA1	
+			CREATE_OBJECT	TSdpIntBuf8	attrIntBuf8	
+			CREATE_OBJECT	TSdpIntBuf16	attrIntBuf16	
+			CREATE_OBJECT	TSdpIntBuf32	attrIntBuf32	
+			COMMAND		TBTAttridmatchlist1	NewL
+			COMMAND		TBTAttridmatchlist1	AddL		BTSDP-Lists-PublicApi-Active-1050-0001command3AddL
+			COMMAND		TBTSearchpattern1	NewL
+			COMMAND		TBTSearchpattern1	ConstructL
+			COMMAND		TBTSearchpattern1	AddL		BTSDP-Lists-PublicApi-Active-1050-0001command7AddL
+			COMMAND		attrIntBuf8	NewIntBuf		BTSDP-Lists-PublicApi-Active-1050-0001command9NewIntBuf
+			COMMAND		attrIntBuf16	NewIntBuf		BTSDP-Lists-PublicApi-Active-1050-0001command11NewIntBuf
+			COMMAND		attrIntBuf32	NewIntBuf		BTSDP-Lists-PublicApi-Active-1050-0001command13NewIntBuf
+			COMMAND		TBTAttrValueDEA1	NewDEAL
+			COMMAND		TBTAttrValueDEA1	BuildIntL		BTSDP-Lists-PublicApi-Active-1050-0001command16BuildIntL
+			COMMAND		TBTAttrValueDEA1	BuildIntL		BTSDP-Lists-PublicApi-Active-1050-0001command17BuildIntL
+			COMMAND		TBTAttrValueDEA1	BuildIntL		BTSDP-Lists-PublicApi-Active-1050-0001command18BuildIntL
+			COMMAND		TBTSdpagent	NewL		BTSDP-Lists-PublicApi-Active-1050-0001command20NewL
+			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Lists-PublicApi-Active-1050-0001command21SetRecordFilterL
+			COMMAND		TBTSdpagent	NextRecordRequestL		BTSDP-Lists-PublicApi-Active-1050-0001command22NextRecordRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTSdpagent	AttributeRequestL		BTSDP-Lists-PublicApi-Active-1050-0001command24AttributeRequestL
+			OUTSTANDING	1000000
+			COMMAND		TBTAttrValueDEA1	AppendValueL		BTSDP-Lists-PublicApi-Active-1050-0001command27AppendValueL
+			COMMAND		TBTAttrValueDEA1	AcceptVisitorL		BTSDP-Lists-PublicApi-Active-1050-0001command28AcceptVisitorL
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1050-0001		
+	START_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1050-0002
+	END_SYNCHRONISED_TESTCASE	BTSDP-Lists-PublicApi-Active-1050-0002
+END_TESTCASE	BTSDP-Lists-PublicApi-Active-Slave-1050
+
+DELAY		2000