obex/obexprotocol/obexbttransport/src/ObexRfcommConnector.cpp
changeset 54 4dc88a4ac6f4
parent 52 866b4af7ffbe
child 57 f6055a57ae18
--- a/obex/obexprotocol/obexbttransport/src/ObexRfcommConnector.cpp	Tue Sep 28 20:14:08 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include <obex/transport/mobextransportnotify.h>
-#include <obexbttransportinfo.h>
-#include "ObexRfcommConnector.h"
-#include "ObexActiveRfcommConnector.h"
-#include "ObexListenerRfcommConnector.h"
-#include "logger.h"
-#include "obexbtfaults.h"
-
-#ifdef __FLOG_ACTIVE
-_LIT8(KLogComponent, "RFCOMM");
-#endif
-
-#ifdef _DEBUG
-_LIT(KPanicCat, "RfcommConnector");
-#endif
-
-CObexRfcommConnector* CObexRfcommConnector::NewL(MObexTransportNotify& aOwner, 
-						 TBTSockAddr& aAddr)
-	{
-	LOG_STATIC_FUNC_ENTRY
-
-	CObexRfcommConnector* self = new(ELeave) CObexRfcommConnector(aOwner, aAddr);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-CObexRfcommConnector::CObexRfcommConnector(MObexTransportNotify& aObserver, 
-										   TBTSockAddr& aAddr)
- :	CObexConnector(aObserver),
-	iAddr(aAddr)
-	{
-	LOG_FUNC
-	LOG(_L8("\taAddr:"));
-	LOGHEXDESC(aAddr);
-	}
-
-void CObexRfcommConnector::ConstructL()
-	{
-	LOG_FUNC
-
-	LEAVEIFERRORL(iSocketServ.Connect());
-	LEAVEIFERRORL(iSocketServ.FindProtocol(_L("RFCOMM"), iProtocolDesc));
-
-	iConnector = new(ELeave) CObexActiveRfcommConnector(*this, iSocketServ, iSocket, iProtocolDesc, iAddr);
-	iReceiver = new(ELeave) CObexListenerRfcommConnector(*this, iSocketServ, iSocket, iProtocolDesc, iAddr);
-
-	BaseConstructL();
-	}
-
-CObexRfcommConnector::~CObexRfcommConnector()
-	{
-	LOG_FUNC
-
-	delete iConnector;
-	delete iReceiver;
-	iSocket.Close();
-	iSocketServ.Close();
-	}
-
-void CObexRfcommConnector::ConnectL()
-	{
-	LOG_FUNC
-
-	__ASSERT_DEBUG(iConnector, PANIC(KPanicCat, ERfcommConnectorInternalError));
-	iConnector->ConnectL();
-	}
-
-void CObexRfcommConnector::CancelConnect()
-	{
-	LOG_FUNC
-
-	__ASSERT_DEBUG(iConnector, PANIC(KPanicCat, ERfcommConnectorInternalError));
-	iConnector->Cancel();
-	}
-
-void CObexRfcommConnector::AcceptL()
-	{
-	LOG_FUNC
-
-	__ASSERT_DEBUG(iReceiver, PANIC(KPanicCat, ERfcommConnectorInternalError));
-	iReceiver->AcceptL();
-	}
-
-void CObexRfcommConnector::CancelAccept()
-	{
-	LOG_FUNC
-
-	__ASSERT_DEBUG(iReceiver, PANIC(KPanicCat, ERfcommConnectorInternalError));
-	iReceiver->Cancel();
-	}
-
-TBool CObexRfcommConnector::BringTransportDown()
-	{
-	LOG_FUNC
-
-	// There's a nasty contract going on here- at most, only one of these AOs 
-	// should be active at any time. They each use this object's iSocket, 
-	// opening and closing it, and asserting its SubSessionHandle at various 
-	// points. They may be better designed as a single AO state machine.
-	__ASSERT_DEBUG(iConnector, PANIC(KPanicCat, ERfcommConnectorInternalError));
-	iConnector->Cancel();
-	__ASSERT_DEBUG(iReceiver, PANIC(KPanicCat, ERfcommConnectorInternalError));
-	iReceiver->Cancel();
-
-	// For cases where the underlying transport has gone we'll
-	// do an Immediate Shutdown to prevent Close() from blocking.
-	// This should stop dialogs from "freezing". 
-	//returns true as this transport proceeds with taking down the transport
-	if ( iTransportUp )
-		{
-		TRequestStatus status;
-		iSocket.Shutdown(RSocket::EImmediate, status);
-		User::WaitForRequest(status);
-		iTransportUp = EFalse;
-		}
-
-	iSocket.Close();
-	return ETrue;
-	}
-
-/** Used to set any link layer specific error condition flags. Bluetooth has 
-none, so the function is a stub. */
-void CObexRfcommConnector::SignalTransportError()
-	{
-	LOG_FUNC
-	}
-	
-/**
-Returns the socket instance iSocket
-@return RSocket
-*/
-RSocket& CObexRfcommConnector::GetSocket()
-	{
-	LOG_LINE
-	LOG_FUNC
-
-	return iSocket;
-	}
-	
-/**
-This method is used to field completed connections from both the active 
-connector and the listen/acceptor.
-*/
-void CObexRfcommConnector::ConnectComplete(TInt aError, TObexConnectionInfo& aSockinfo)
-	{
-	LOG_FUNC
-	LOG1(_L8("\taError = %d"), aError);
-
-	if ( aError == KErrNone )
-		{
-		Observer().TransportUp(aSockinfo);
-		iTransportUp = ETrue;
-		}
-	else
-		{
-		Observer().Error(aError);
-		__ASSERT_DEBUG(!iTransportUp, PANIC(KPanicCat, ERfcommConnectorInternalError));
-		}
-	}