bluetoothapitest/bluetoothsvs/T_BTSdpAPI/scripts/BTSDP-Lists-PublicApi-Active-Slave.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 27 Apr 2010 17:48:21 +0300
branchRCL_3
changeset 14 f8503e232b0c
parent 0 29b1cd4cb562
permissions -rw-r--r--
Revision: 201011 Kit: 201017

//
// 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