bluetoothapitest/bluetoothsvs/T_BTSockAPI/scripts/BT-USER-SOCK-PublicApi-Active-Slave.script
author William Roberts <williamr@symbian.org>
Fri, 30 Jul 2010 12:03:17 +0100
branchGCC_SURGE
changeset 38 f43c97523090
parent 0 29b1cd4cb562
permissions -rw-r--r--
Remove spurious "inline" which hides an exported function from elf2e32 in GCC builds - added to bug 3012

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


RUN_UTILS	MkDir	${SYSDRIVE}\bluetooth\
RUN_UTILS	MkDir	${SYSDRIVE}\bluetooth\tbtsockAPI\

LOAD_SUITE	T_BTSockAPI -SharedData
DELAY		2000


//! @file
//! @SYMTestSuiteName		BT-USER-SOCK-PublicAPI-Active-Slave
//! @SYMScriptTestEnvironment	This test script requires a basic ROM with bluetooth dongle.


START_TESTCASE BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0001command3NewL
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetFamily		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0001command6SetFamily
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0001command7SetPort
			COMMAND		CBluetoothSocket1	Bind		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0001command9Bind
			COMMAND		CBluetoothSocket1	Listen		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0001command10Listen
			COMMAND		CBluetoothSessionSocket	SetRsocketServerFromCBTSocket		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0001command12SetRsocketServerFromCBTSocket
			COMMAND		CBluetoothSessionSocket	NewL		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0001command13NewL
			STORE	CBluetoothSocket1	
			STORE	CBluetoothSessionSocket	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
			CREATE_OBJECT	TBTDevAddr	TBTDevAddrLocal	
			COMMAND		TBTDevAddrLocal	Construct
			COMMAND		TBTDevAddrLocal	OpenHostResolver		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0002command3OpenHostResolver
			COMMAND		TBTDevAddrLocal	SetHostNameL		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0002command4SetHostNameL
			COMMAND		TBTDevAddrLocal	SetDiscoverable
			STORE	CBluetoothSocket1	
			STORE	CBluetoothSessionSocket	
			STORE	TBTDevAddrLocal	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0003
	START_TEST_BLOCK	300	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
			COMMAND		CBluetoothSocket1	Accept		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0003command1Accept
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE	CBluetoothSessionSocket	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrLocal	
			CREATE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSessionSocket	Recv		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0004command1Recv
			OUTSTANDING
			COMMAND		TBTDevAddrLocal	SetBTAddr		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0004command3SetBTAddr
			COMMAND		TBTDevAddrRemote	Construct
			COMMAND		TBTDevAddrRemote	SetBTAddr		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0004command6SetBTAddr
			STORE	CBluetoothSocket1	
			STORE	CBluetoothSessionSocket	
			STORE	TBTDevAddrLocal	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0004

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0005
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSessionSocket	Shutdown		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0005command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSessionSocket	~
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses-0005command4Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0005

END_TESTCASE BT-USER-SOCK-PublicAPI-Passive-SetBTAddresses



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0001
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0001
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		27/03/2006
//! @SYMTestCaseDesc		Send data over a BT socket changing the event notifier 
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, SetNotifier, Send()1, 
//!				HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Use SetNotifier to change the notifier of events (A special notifier implementation will be used)
//!				15. Send data to the socket using Send()1
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0001-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0001-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0001-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0001-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0001-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0001-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	SetNotifier		BT-USER-SOCK-PublicAPI-Active-0001-0002command1SetNotifier
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0001-0002command2Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0001-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0001-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0001-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0001-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0001-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0001-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0001-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0001


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0002
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0002
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		27/03/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewLC()1, Connect()2, HandleConnectCompleteL, Send()2, HandleSendCompleteL, LocalName(), RemoteName()
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewLC()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect()2 of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Get the address of the local device
//!				15. Get the address of the remote device
//!				16. Send data to the socket using Send()2
//!				17. HandleSendCompleteL gets called verify that there is no error code
//!				18. Get result from slave
//!				19. Order slave to cleanup
//!				20. Wait for slave 
//!				21. Do socket cleanup
//!				22. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewLC		BT-USER-SOCK-PublicAPI-Active-0002-0001command2NewLC
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0002-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0002-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0002-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0002-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0002-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	SetOpt		BT-USER-SOCK-PublicAPI-Active-0002-0002command1SetOpt
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0002-0002command2Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0002-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0002-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrLocal	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	LocalName		BT-USER-SOCK-PublicAPI-Active-0002-0003command1LocalName
			COMMAND		CBluetoothSocket1	RemoteName		BT-USER-SOCK-PublicAPI-Active-0002-0003command2RemoteName
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0002-0003command3Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE	TBTDevAddrLocal	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0002-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0002-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0002-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0002


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0004
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0004
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		27/03/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0004-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0004-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0004-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0004-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0004-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0004-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0004-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0004-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0004-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0004-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0004-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0004-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0004-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0004-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0004


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0006
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0006
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Configure Outgoing MTU
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Ioctl()2,  
//!				HandleIoctlCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Call Ioctl()2 with KL2CAPOutgoingMTUIoctl, Buffer, KSolBtL2CAP
//!				18. HandleIoctlCompleteL gets called when operation completes
//!				19. Order slave to cleanup
//!				20. Wait for slave 
//!				21. Do socket cleanup
//!				22. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and MTU configured
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0006-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0006-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0006-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0006-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0006-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0006-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0006-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0006-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0006-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0006-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0006-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0006-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Ioctl		BT-USER-SOCK-PublicAPI-Active-0006-0004command1Ioctl
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
		DELAY		2000
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0006-0005command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0006-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0006


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0007
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0007
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Configure Outgoing MTU, followed by cancel
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Ioctl()2, 
//!				CancelIoctl, HandleIoctlCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Call Ioctl()2 with KL2CAPOutgoingMTUIoctl, Buffer, KSolBtL2CAP
//!				17. Call CancelIoctl (Bundle with Ioctl()2 to make sure it is cancelled?)
//!				18. HandleIoctlCompleteL gets called when Ioctl operation is cancelled
//!				19. Get result from slave
//!				20. Order slave to cleanup
//!				21. Wait for slave 
//!				22. Do socket cleanup
//!				23. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and Ioctlt request cancelled
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0007-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0007-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0007-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0007-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0007-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0007-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0007-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0007-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0007-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0007-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0007-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0007-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			DELAY	1000
			COMMAND		CBluetoothSocket1	Ioctl		BT-USER-SOCK-PublicAPI-Active-0007-0004command2Ioctl
			COMMAND		CBluetoothSocket1	CancelIoctl
            OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
		DELAY		2000
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0007-0005command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0007-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0007


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0008
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0008
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Configure Outgoing MTU 
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Ioctl()1, 
//!				HandleIoctlCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Call Ioctl()1 with KSolBtL2CAP, KL2CAPOutgoingMTUIoctl, Buffer, 
//!				18. HandleIoctlCompleteL gets called when operation completes
//!				19. Order slave to cleanup
//!				20. Wait for slave 
//!				21. Do socket cleanup
//!				22. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully Ioctl request successful
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0008-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0008-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0008-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0008-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0008-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0008-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0008-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0008-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0008-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0008-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0008-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0008-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0008-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0008-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0008


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0009
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0009
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Client side to Configure Incoming MTU on server side
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Ioctl()1, 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//!				Synchronization point
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully Ioctl request successful on slave side
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0009-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0009-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0009-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0009-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0009-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0009-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0009-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0009-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0009-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0009-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0009-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0009-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0009-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0009-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0009


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0010
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0010
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Test low power switching
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, AllowLowPowerModes,
//!				CancelLowPowerModeRequester, PreventLowPowerModes 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call AllowLowPowerModes
//!				15. Call CancelLowPowerModeRequester
//!				16. Call PreventLowPowerModes 
//!				17. Send data to the socket using Send()1
//!				18. HandleSendCompleteL gets called verify that there is no error code
//!				19. Get result from slave
//!				20. Order slave to cleanup
//!				21. Wait for slave 
//!				22. Do socket cleanup
//!				23. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and lowpower switching is successful
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0010-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0010-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0010-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0010-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0010-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0010-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0010-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0010-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0010-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	AllowLowPowerModes
			COMMAND		CBluetoothSocket1	CancelLowPowerModeRequester
			COMMAND		CBluetoothSocket1	PreventLowPowerModes
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0010-0003command4Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0010-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0010-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0010-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0010-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0010


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0011
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0011
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Verify Baseband notifier functionality
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, 
//!				ActivateBasebandEventNotifier, HandleActivateBasebandEventNotifierCompleteL, 
//!				PhysicalLinkState, CancelBasebandEventNotifier
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call ActivateBasebandEventNotifier
//!				15. HandleActivateBasebandEventNotifierCompleteL will get called with status info
//!				16. Call PhysicalLinkState
//!				17. HandleActivateBasebandEventNotifierCompleteL will get called with status info
//!				18. Call CancelBasebandEventNotifier
//!				19. Call PhysicalLinkState
//!				20. HandleActivateBasebandEventNotifierCompleteL should not get called (see if this can be verified here, otherwise separate test)
//!				21. Get result from slave
//!				22. Order slave to cleanup
//!				23. Wait for slave 
//!				24. Do socket cleanup
//!				25. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and baseband notification switching is successful
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0011-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0011-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0011-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0011-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0011-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0011-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0011-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0011-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0011-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0011-0003command1Send
			OUTSTANDING
			COMMAND		CBluetoothSocket1	ActivateBasebandEventNotifier		BT-USER-SOCK-PublicAPI-Active-0011-0003command2ActivateBasebandEventNotifier
			OUTSTANDING
			COMMAND		CBluetoothSocket1	PhysicalLinkState		BT-USER-SOCK-PublicAPI-Active-0011-0003command3PhysicalLinkState
			COMMAND		CBluetoothSocket1	CancelBasebandEventNotifier
			COMMAND		CBluetoothSocket1	PhysicalLinkState
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0011-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0011-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0011-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0011-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0011


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0012
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0012
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Verify role switching functionality
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, PreventRoleSwitch,
//!				AllowRoleSwitch, RequestSlaveRole, RequestMasterRole 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				11. Call PreventRoleSwitch and verify return value
//!				12. Call AllowRoleSwitch and verify return value
//!				13. Call RequestSlaveRole and verify return value
//!				14. Call RequestMasterRole and verify return value
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and role switching is correct
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0012-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0012-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0012-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0012-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0012-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0012-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0012-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0012-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0012-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0012-0003command1Send
			OUTSTANDING
			COMMAND		CBluetoothSocket1	PreventRoleSwitch
			COMMAND		CBluetoothSocket1	AllowRoleSwitch
			COMMAND		CBluetoothSocket1	RequestSlaveRole
			COMMAND		CBluetoothSocket1	RequestMasterRole
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0012-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0012-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0012-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0012-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0012


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0013
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0013
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Verify park and sniff requester calls
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, 
//!				ActivateSniffRequester, ActivateParkRequester 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call ActivateParkRequester  and verify return value
//!				15. Call ActivateSniffRequester and verify return value//!				16. Get result from slave
//!				16. Order slave to cleanup
//!				17. Wait for slave 
//!				18. Do socket cleanup
//!				19. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully, park and sniff requester calls correctly
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0013-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0013-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0013-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0013-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0013-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0013-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0013-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0013-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0013-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0013-0003command1Send
			OUTSTANDING
			COMMAND		CBluetoothSocket1	ActivateParkRequester
			COMMAND		CBluetoothSocket1	ActivateSniffRequester
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0013-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0013-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0013-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0013-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0013


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0014
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0014
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Cancel send of data over a BT socket
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Send()1, CancelSend, 
//!				HandleSendCompleteL   
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. Call CancelSend before the send operation is completed
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data send is cancelled
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0014-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0014-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0014-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0014-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0014-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0014-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0014-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0014-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0014-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			DELAY	1000
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0014-0003command2Send
			COMMAND		CBluetoothSocket1	CancelSend
            OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0014-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0014-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0014-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0014-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0014


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0015
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0015
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Cancel send of data over a BT socket
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Send()1, CancelAll,
//!				HandleSendCompleteL 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. Call CancelAll before the send operation is completed
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data send is cancelled
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0015-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0015-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0015-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0015-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0015-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0015-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0015-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0015-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0015-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			DELAY	10000
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0015-0003command2Send
			COMMAND		CBluetoothSocket1	CancelAll
            OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0015-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0015-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0015-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0015-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0015


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0016
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0016
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Send data over a BT socket, recovery is cancelled on passive side
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Send()1, 
//!				HandleSendCompleteL 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully, recovery is cancelled on passive side
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0016-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0016-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0016-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0016-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0016-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0016-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0016-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0016-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0016-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0016-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0016-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0016-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0016-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0016-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0016


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0017
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0017
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Write, 
//!				HandleSendCompleteL 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using write
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0017-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0017-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0017-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0017-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0017-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0017-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0017-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0017-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0017-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Write		BT-USER-SOCK-PublicAPI-Active-0017-0003command1Write
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0017-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0017-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0017-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0017-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0017


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0018
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0018
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Cancel send of data over a BT socket
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Write, CancelWrite,
//!				HandleSendCompleteL 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Write
//!				15. Call CancelWrite to cancel the write operation
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data send cancelled successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0018-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0018-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0018-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0018-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0018-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0018-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0018-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0018-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0018-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			DELAY	1000
			COMMAND		CBluetoothSocket1	Write		BT-USER-SOCK-PublicAPI-Active-0018-0003command2Write
			COMMAND		CBluetoothSocket1	CancelWrite
            OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0018-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0018-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0018-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0018-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0018


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0019
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0019
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Send data over a BT socket, read will be cancelled on passive side
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Write, 
//!				HandleSendCompleteL 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using write
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully, read will be cancelled on passive side
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0019-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0019-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0019-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0019-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0019-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0019-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0019-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0019-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0019-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Write		BT-USER-SOCK-PublicAPI-Active-0019-0003command1Write
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0019-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0019-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0019-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0019-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0019


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0020
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0020
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		05/04/2006
//! @SYMTestCaseDesc		Send data over a BT socket so that RecvOneOrMore can be verified on passive side
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Send()1, 
//!				HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0020-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0020-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0020-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0020-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0020-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0020-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0020-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0020-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0020-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0020-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0020-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0020-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0020-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0020-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0020


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0021
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0021
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		06/04/2006
//! @SYMTestCaseDesc		Connection setup successfully to test GetDisconnectData method
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, GetDisconnectData 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Call GetDisconnectData to see if any disconnect data is available (protocol specific if there is or not)
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully to test GetDisconnectData method
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0021-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0021-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0021-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0021-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0021-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0021-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0021-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0021-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0021-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0021-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0021-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0021-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		!Error=-5 CBluetoothSocket1	GetDisconnectData
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0021-0004command2Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0021-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0021


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0022
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0022
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		06/04/2006
//! @SYMTestCaseDesc		Test RequestChangeSupportedPacketTypes method
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, 
//!				RequestChangeSupportedPacketTypes, GetDisconnectData 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call RequestChangeSupportedPacketTypes with a bad packet type
//!				15. Send data to the socket using Send()1
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults	RequestChangeSupportedPacketTypes fails with error KErrArgument (-6)
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0022-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0022-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0022-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0022-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0022-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0022-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0022-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0022-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0022-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND	!Error=-6	CBluetoothSocket1	RequestChangeSupportedPacketTypes		BT-USER-SOCK-PublicAPI-Active-0022-0003command1RequestChangeSupportedPacketTypes
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0022-0003command2Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0022-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0022-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0022-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0022-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0022


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0023
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0023
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to send data over a BT socket while already sending
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. Immediately send data to the socket again, using Send()1
//!				16. HandleSendCompleteL gets called verify that there is error code KErrInUse
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully but second send returns KErrInUse (-14)
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0023-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0023-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0023-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0023-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0023-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0023-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0023-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0023-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0023-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		!Error=-14  CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0023-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0023-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0023-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0023-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0023-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0023


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0024
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0024
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to send data over a BT socket while already sending
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()2, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()2
//!				15. Immediately send data to the socket again, using Send()2
//!				16. HandleSendCompleteL gets called verify that there is error code KErrInUse
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully but second send returns KErrInUse (-14)
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0024-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0024-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0024-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0024-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0024-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0024-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0024-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0024-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0024-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		!Error=-14  CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0024-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0024-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0024-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0024-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0024-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0024


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0025
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0025
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Cancel send of data over a BT socket without first sending any data
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Send()1, CancelSend, 
//!				HandleSendCompleteL   
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call CancelSend before calling the send operation
//!				15. Send data to the socket using Send()1
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0025-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0025-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0025-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0025-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0025-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0025-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0025-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0025-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0025-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	CancelSend
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0025-0003command2Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0025-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0025-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0025-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0025-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0025


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0026
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0026
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0026-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0026-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0026-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0026-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0026-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0026-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0026-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0026-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0026-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0026-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0026-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0026-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0026-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0026-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0026


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0027
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0027
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0027-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0027-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0027-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0027-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0027-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0027-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0027-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0027-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0027-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0027-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0027-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0027-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0027-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0027-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0027


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0028
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0028
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0028-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0028-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0028-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0028-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0028-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0028-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0028-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0028-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0028-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0028-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0028-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0028-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0028-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0028-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0028


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0029
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0029
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0029-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0029-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0029-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0029-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0029-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0029-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0029-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0029-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0029-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0029-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0029-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0029-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0029-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0029-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0029


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0030
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0030
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0030-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0030-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0030-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0030-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0030-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0030-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0030-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0030-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0030-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0030-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0030-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0030-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0030-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0030-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0030


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0031
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0031
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0031-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0031-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0031-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0031-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0031-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0031-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0031-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0031-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0031-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0031-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0031-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0031-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0031-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0031-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0031


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0032
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0032
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to send data over a BT socket while already sending
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Write(), HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Write()
//!				15. Immediately send data to the socket again, using Write()
//!				16. HandleSendCompleteL gets called verify that there is error code KErrInUse
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully but second send returns KErrInUse (-14)
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0032-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0032-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0032-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0032-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0032-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0032-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0032-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0032-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0032-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		!Error=-14  CBluetoothSocket1	Write		BT-USER-SOCK-PublicAPI-Active-0032-0003command1Write
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0032-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0032-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0032-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0032-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0032


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0033
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0033
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Cancel send of data over a BT socket without first sending any data
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Write(), CancelWrite, 
//!				HandleSendCompleteL   
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call CancelWrite before calling the write operation
//!				15. Send data to the socket using Write()
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0033-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0033-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0033-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0033-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0033-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0033-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0033-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0033-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0033-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	CancelWrite
			COMMAND		CBluetoothSocket1	Write		BT-USER-SOCK-PublicAPI-Active-0033-0003command2Write
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0033-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0033-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0033-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0033-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0033


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0034
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0034
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to connect to a BT device while already connected
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object, using Connect()1
//!				12. Immediately connect again, using Connect()1
//!				13. HandleConnectCompleteL gets called indicating that connecting the BT connection completed with KErrInUse
//!				14. Get result from slave
//!				15. Send data to the socket using Send()1
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully but second connect returns KErrInUse (-14)
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0034-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0034-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0034-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0034-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0034-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0034-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0034-0002command1Connect
			COMMAND		!Error=-14 CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0034-0002command2Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0034-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0034-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0034-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0034-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0034-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0034-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0034-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0034


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0035
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0035
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to connect to a BT device while already connected
//!				Uses API elements: NewL()1, Connect()2, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object, using Connect()1
//!				12. Immediately connect again, using Connect()2
//!				13. HandleConnectCompleteL gets called indicating that connecting the BT connection completed with KErrInUse
//!				14. Get result from slave
//!				15. Send data to the socket using Send()1
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully but second connect returns KErrInUse (-14)
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0035-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0035-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0035-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0035-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0035-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0035-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0035-0002command1Connect
			COMMAND !Error=-14	CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0035-0002command2Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0035-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0035-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0035-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0035-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0035-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0035-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0035-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0035


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0036
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0036
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to connect to a BT device while already connected
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object, using Connect()1
//!				12. Immediately connect again, using Connect()3
//!				13. HandleConnectCompleteL gets called indicating that connecting the BT connection completed with KErrInUse
//!				14. Get result from slave
//!				15. Send data to the socket using Send()1
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully but second connect returns KErrAlreadyExists (-11)
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0036-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0036-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0036-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0036-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0036-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0036-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0036-0002command1Connect
			COMMAND !Error=-11	CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0036-0002command2Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0036-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0036-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0036-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0036-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0036-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0036-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0036-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0036


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0037
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0037
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to cancel connect to a BT device without already being connected
//!				Uses API elements: NewL()1, CancelConnect(), Connect()1, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Try to cancel connection
//!				12. Use the TRfcommSockAddr in the connect of the CBluetooth object, using Connect()1
//!				13. HandleConnectCompleteL gets called indicating that connecting the BT connection completed with no error
//!				14. Get result from slave
//!				15. Send data to the socket using Send()1
//!				16. HandleSendCompleteL gets called verify that there is no error code
//!				17. Get result from slave
//!				18. Order slave to cleanup
//!				19. Wait for slave 
//!				20. Do socket cleanup
//!				21. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0037-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0037-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0037-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0037-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0037-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0037-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	CancelConnect
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0037-0002command2Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0037-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0037-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0037-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0037-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0037-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0037-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0037-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0037


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0040
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0040
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0040-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0040-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0040-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0040-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0040-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0040-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0040-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0040-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0040-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0040-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0040-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0040-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0040-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0040-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0040


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0041
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0041
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to apply an asynchronous control operation on a socket while another ioctl command is still being used
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Ioctl()2,  
//!				HandleIoctlCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Call Ioctl()2 with KL2CAPOutgoingMTUIoctl, Buffer, KSolBtL2CAP
//!				18. Immediately call Ioctl()2 again, with KL2CAPOutgoingMTUIoctl, Buffer, KSolBtL2CAP
//!				19. HandleIoctlCompleteL gets called when operation completes with KErrInUse
//!				20. Order slave to cleanup
//!				21. Wait for slave 
//!				22. Do socket cleanup
//!				23. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and MTU configured, but second Ioctl() returns KErrInUse (-14)
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0041-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0041-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0041-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0041-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0041-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0041-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0041-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0041-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0041-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0041-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0041-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0041-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		!Error=-14  CBluetoothSocket1	Ioctl		BT-USER-SOCK-PublicAPI-Active-0041-0004command1Ioctl
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
		DELAY		2000
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0041-0005command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0041-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0041


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0042
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0042
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to cancel an asynchronous control operation on a socket without applying one first
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, Ioctl()2,  
//!				HandleIoctlCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Call CancelIoctl(), without calling Ioctl() first
//!				18. Call Ioctl()2 with KL2CAPOutgoingMTUIoctl, Buffer, KSolBtL2CAP
//!				19. HandleIoctlCompleteL gets called when operation completes
//!				20. Order slave to cleanup
//!				21. Wait for slave 
//!				22. Do socket cleanup
//!				23. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and MTU configured
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0042-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0042-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0042-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0042-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0042-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0042-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0042-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0042-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0042-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0042-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0042-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0042-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	CancelIoctl
			COMMAND		CBluetoothSocket1	Ioctl		BT-USER-SOCK-PublicAPI-Active-0042-0004command2Ioctl
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
		DELAY		2000
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0042-0005command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0042-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0042


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0043
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0043
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to set up notification of baseband events while baseband event notifier is already being used
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, 
//!				ActivateBasebandEventNotifier, HandleActivateBasebandEventNotifierCompleteL, 
//!				PhysicalLinkState, CancelBasebandEventNotifier
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call ActivateBasebandEventNotifier
//!				15. Immediately call ActivateBasebandEventNotifier again
//!				16. HandleActivateBasebandEventNotifierCompleteL will get called with error KErrInUse
//!				17. Call PhysicalLinkState
//!				18. HandleActivateBasebandEventNotifierCompleteL will get called with status info
//!				19. Call CancelBasebandEventNotifier
//!				20. Call PhysicalLinkState
//!				21. HandleActivateBasebandEventNotifierCompleteL should not get called (see if this can be verified here, otherwise separate test)
//!				22. Get result from slave
//!				23. Order slave to cleanup
//!				24. Wait for slave 
//!				25. Do socket cleanup
//!				26. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and baseband notification switching is successful, but second call returns KErrInUse (-14)
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0043-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0043-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0043-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0043-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0043-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0043-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0043-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0043-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0043-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0043-0003command1Send
			OUTSTANDING
			DELAY	1
			COMMAND		CBluetoothSocket1	ActivateBasebandEventNotifier		BT-USER-SOCK-PublicAPI-Active-0043-0003command3ActivateBasebandEventNotifier
            OUTSTANDING
			COMMAND		!Error=-14  CBluetoothSocket1	ActivateBasebandEventNotifier		BT-USER-SOCK-PublicAPI-Active-0043-0003command4ActivateBasebandEventNotifier
			OUTSTANDING
			COMMAND		CBluetoothSocket1	PhysicalLinkState
			COMMAND		CBluetoothSocket1	CancelBasebandEventNotifier
			COMMAND		CBluetoothSocket1	PhysicalLinkState
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0043-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0043-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0043-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0043-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0043


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0044
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0044
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Try to cancel notification of baseband events without setting one up first
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, 
//!				ActivateBasebandEventNotifier, CancelBasebandEventNotifier(), HandleActivateBasebandEventNotifierCompleteL, 
//!				PhysicalLinkState, CancelBasebandEventNotifier
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call CancelBasebandEventNotifier() with calling ActivateBasebandEventNotifier() first
//!				15. Call ActivateBasebandEventNotifier
//!				16. HandleActivateBasebandEventNotifierCompleteL will get called with no error
//!				17. Call PhysicalLinkState
//!				18. HandleActivateBasebandEventNotifierCompleteL will get called with status info
//!				19. Call CancelBasebandEventNotifier
//!				20. Call PhysicalLinkState
//!				21. HandleActivateBasebandEventNotifierCompleteL should not get called (see if this can be verified here, otherwise separate test)
//!				22. Get result from slave
//!				23. Order slave to cleanup
//!				24. Wait for slave 
//!				25. Do socket cleanup
//!				26. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and baseband notification switching is successful
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0044-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0044-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0044-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0044-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0044-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0044-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0044-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0044-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0044-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0044-0003command1Send
			OUTSTANDING
			COMMAND		CBluetoothSocket1	CancelBasebandEventNotifier
			COMMAND		CBluetoothSocket1	ActivateBasebandEventNotifier		BT-USER-SOCK-PublicAPI-Active-0044-0003command3ActivateBasebandEventNotifier
			OUTSTANDING
			COMMAND		CBluetoothSocket1	PhysicalLinkState
			COMMAND		CBluetoothSocket1	CancelBasebandEventNotifier
			COMMAND		CBluetoothSocket1	PhysicalLinkState
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0044-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0044-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0044-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0044-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0044


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0003
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0003
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		27/03/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect()1 of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection failed at connect due to cancellation at server
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0003-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0003-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0003-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0003-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0003-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0003-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			DELAY	1000000
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0003-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0003-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0003-0003

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0003



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0005
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0005
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			Johan Eriksson
//! @SYMCreationDate		27/03/2006
//! @SYMTestCaseDesc		Cancel BT connect
//!				Uses API elements: NewL()1, Connect()1, CancelConnect, HandleConnectCompleteL 
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. Call CancelConnect (Bundle with connect to make sure it is cancelled?)
//!				13. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				14. Get result from slave
//!				15. Order slave to cleanup
//!				16. Wait for slave 
//!				17. Do socket cleanup
//!				18. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection failed at connect due to cancellation at client
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0005-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0005-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0005-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0005-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0005-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0005-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0005-0002command2Connect
			COMMAND		CBluetoothSocket1	CancelConnect		BT-USER-SOCK-PublicAPI-Active-0005-0002command3CancelConnect
            OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0005-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0005-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0005-0003

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0005


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0051
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0051
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		11/08/2006
//! @SYMTestCaseDesc		Verify SetAutomaticSniffMode() calls
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, 
//!				SetAutomaticSniffMode1, SetAutomaticSniffMode2
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call SetAutomaticSniffMode1
//!				15. Call SetAutomaticSniffMode2
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully, SetAutomaticSniffMode calls correctly
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0051-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0051-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0051-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0051-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0051-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0051-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0051-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0051-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0051-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0051-0003command1Send
			OUTSTANDING
			COMMAND		CBluetoothSocket1	SetAutomaticSniffMode		BT-USER-SOCK-PublicAPI-Active-0051-0003command2SetAutomaticSniffMode
			COMMAND		CBluetoothSocket1	SetAutomaticSniffMode		BT-USER-SOCK-PublicAPI-Active-0051-0003command3SetAutomaticSniffMode
			COMMAND		CBluetoothSocket1	SetAutomaticSniffMode		BT-USER-SOCK-PublicAPI-Active-0051-0003command4SetAutomaticSniffMode
			COMMAND		CBluetoothSocket1	SetAutomaticSniffMode		BT-USER-SOCK-PublicAPI-Active-0051-0003command5SetAutomaticSniffMode
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0051-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0051-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0051-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0051-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0051


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0052
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0052
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		11/08/2006
//! @SYMTestCaseDesc		Try using bad SetAutomaticSniffMode() calls
//!				Uses API elements: NewL()1, Connect()1, HandleConnectCompleteL, 
//!				SetAutomaticSniffMode1, SetAutomaticSniffMode2
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Call SetAutomaticSniffMode2 with invalid delay
//!				15. Get result from slave
//!				16. Order slave to cleanup
//!				17. Wait for slave 
//!				18. Do socket cleanup
//!				19. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	SetAutomaticSniffMode returns KErrArgument
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0052-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0052-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0052-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0052-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0052-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0052-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0052-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0052-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0052-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0052-0003command1Send
			OUTSTANDING
			COMMAND		!Error=-6   CBluetoothSocket1	SetAutomaticSniffMode		BT-USER-SOCK-PublicAPI-Active-0052-0003command2SetAutomaticSniffMode
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0052-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0052-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0052-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0052-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0052


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0045
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0045
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		10/08/2006
//! @SYMTestCaseDesc		Send blank data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0045-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0045-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0045-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0045-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0045-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0045-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0045-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0045-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0045-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0045-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0045-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0045-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0045-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0045-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0045


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0049
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0049
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		10/08/2006
//! @SYMTestCaseDesc		Send blank data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()2, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()2
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0049-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0049-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0049-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0049-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0049-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0049-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0049-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0049-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0049-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0049-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0049-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0049-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0049-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0049-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0049


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0050
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0050
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		10/08/2006
//! @SYMTestCaseDesc		Send blank data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Write(), HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Write()
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0050-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0050-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0050-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0050-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0050-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0050-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0050-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0050-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0050-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Write		BT-USER-SOCK-PublicAPI-Active-0050-0003command1Write
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0050-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0050-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0050-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0050-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0050


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0046
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0046
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		10/08/2006
//! @SYMTestCaseDesc		Send data over a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0046-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0046-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0046-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0046-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0046-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0046-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0046-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0046-0002

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0046-0003
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0046-0003command1Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0046-0003

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0046-0004
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0046-0004command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0046-0004

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0046




START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0038
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0038
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Connect to a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0038-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0038-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0038-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0038-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0038-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0038-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0038-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
		DELAY		2000
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0038-0003command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0038-0002

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0038


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0039
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Slave-0039
//! @SYMAPI			CBluetoothSocket
//! @SYMAuthor			James Mechen
//! @SYMCreationDate		07/08/2006
//! @SYMTestCaseDesc		Connect to a BT socket
//!				Uses API elements: NewL()1, Connect()3, HandleConnectCompleteL, Send()1, HandleSendCompleteL
//! @SYMTestActions		1. Order slave to set up connection   
//!				2. Get result from slave to wait for it to be ready		
//!				3. Create a connection to the RSocket server
//!				4. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
//!				5. Create an empty TBTServiceSecurity object
//!				6. Create a TRfcommSockAddr object
//!				7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
//!				8. Set the BT address of the TRfcommSockAddr to the one of the Casira pod of the slave that we connect to
//!				9. Set the port to the specific one of the protocol we use
//!				10. Verify the set BT Address
//!				11. Use the TRfcommSockAddr in the connect of the CBluetooth object
//!				12. HandleConnectCompleteL gets called indicating that connecting the BT connection completed
//!				13. Get result from slave
//!				14. Send data to the socket using Send()1
//!				15. HandleSendCompleteL gets called verify that there is no error code
//!				16. Get result from slave
//!				17. Order slave to cleanup
//!				18. Wait for slave 
//!				19. Do socket cleanup
//!				20. delete CBluetoothSocket object
//! @SYMTestStatus		Implemented
//! @SYMTestPriority		Critical
//! @SYMTestExpectedResults  	Connection setup successfully and data sent successfully
//! @SYMTestType		CIT

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-0039-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-0039-0001command7SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-0039-0001command8SetBTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-0039-0001command9SetPort
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-0039-0001command10BTAddr
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	START_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0039-0002
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-0039-0002command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
		DELAY		2000
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Slave.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-0039-0003command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	END_SYNCHRONISED_TESTCASE BT-USER-SOCK-PublicAPI-Passive-Master-0039-0002

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-Slave-0039