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

//
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
//


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

LOAD_SUITE	UCCControlTE
LOAD_SUITE	T_BTSockAPI -SharedData
DELAY		2000


RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncService
RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartTDService
RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini BuildRunPassiveSlave
DELAY		20000
//! @file
//! @SYMTestSuiteName		BT-USER-SOCK-PublicAPI-Active-Master
//! @SYMScriptTestEnvironment	This test script requires a basic ROM with bluetooth dongle.


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-SetBTAddresses

	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			COMMAND		CBluetoothSocket1	RSocketServerConnect
			COMMAND		CBluetoothSocket1	NewL		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0001command2NewL
			COMMAND		TBTServiceSecurity1	Construct
			STORE	CBluetoothSocket1	
			STORE	TBTServiceSecurity1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			CREATE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
			COMMAND		TBTDevAddrRemote	Construct
			COMMAND		TBTDevAddrRemote	OpenHostResolver		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0002command3OpenHostResolver
			COMMAND		TBTDevAddrRemote	SetHostNameL		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0002command4SetHostNameL
			COMMAND		TBTDevAddrRemote	GetDeviceAddress		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0002command5GetDeviceAddress
			OUTSTANDING
			COMMAND		TRfcommSockAddr1	Construct
			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0002command8SetSecurity
			COMMAND		TRfcommSockAddr1	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0002command9SetBTAddr
			COMMAND		TRfcommSockAddr1	BTAddr		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0002command10BTAddr
			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0002command11SetPort
			STORE	CBluetoothSocket1	
			STORE	TRfcommSockAddr1	
			STORE	TBTDevAddrRemote	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			COMMAND		CBluetoothSocket1	Connect		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0003command1Connect
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			CREATE_OBJECT	TBTDevAddr	TBTDevAddrLocal	
			COMMAND		TBTDevAddrLocal	Construct
			COMMAND		TBTDevAddrLocal	SetBTAddr		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0004command3SetBTAddr
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0004command5Send
			OUTSTANDING
			STORE	CBluetoothSocket1	
			STORE	TBTDevAddrLocal	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-SOCK-PublicAPI-Active-SetBTAddresses-0005command1Shutdown
			OUTSTANDING
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

END_TESTCASE BT-USER-SOCK-PublicAPI-Active-SetBTAddresses


DELAY		2000


// ****************************************************************************
// CBluetoothSocket
// **************************************************************************** 

//Connected tests



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0001
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0002
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0004
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0006
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0007
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0008
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0009
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0010
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		7000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0011
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0012
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0013
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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 ActivateSniffRequester and verify return value
//!				15. Call ActivateParkRequester 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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	Send		BT-USER-SOCK-PublicAPI-Active-0013-0003command1Send
			OUTSTANDING
			COMMAND		CBluetoothSocket1	ActivateSniffRequester
			COMMAND		CBluetoothSocket1	ActivateParkRequester
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0014
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0015
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0016
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0017
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0018
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0019
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0020
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0021
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0022
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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



DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0023
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0024
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0025
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0026
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0027
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0028
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0029
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0030
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0031
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0032
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0033
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0034
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0035
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0036
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0037
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0040
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0041
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0042
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0043
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0044
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0003
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			RESTORE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
			DELAY	1000000
			STORE	CBluetoothSocket1	
			STORE_ACTIVE_SCHEDULER
	END_TEST_BLOCK
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0005
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.ini
			SHARED_ACTIVE_SCHEDULER
			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
			COMMAND		CBluetoothSocket1	~
			COMMAND		CBluetoothSocket1	RSocketServerClose
	END_TEST_BLOCK
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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



DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0051
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0052
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0045
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0049
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0050
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0046
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000


START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0038
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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


DELAY		2000



START_TESTCASE BT-USER-SOCK-PublicAPI-Active-Master-0039
//! @SYMTestCaseID		BT-USER-SOCK-PublicAPI-Active-Master-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-Master.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

	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StartSyncTestCase
	START_TEST_BLOCK	100	T_BTSockAPI	\bluetooth\BT-USER-SOCK-PublicApi-Active-Master.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-Master.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
	RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveSyncTestCaseResult

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



RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini RetrieveExecutionResultPassiveSlave
RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StopTDService
RUN_TEST_STEP -1 UCCControlTE RunCommand \UccControlChannelConfig.ini StopSyncService