diff -r a2efdd544abf -r b47902b73a93 datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/src/Connecting/BTGPSSdpHandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datasourcemodules/bluetoothgpspositioningmodule/btgpspsy/src/Connecting/BTGPSSdpHandler.cpp Fri Jun 04 10:34:15 2010 +0100 @@ -0,0 +1,134 @@ +// 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 FILES +#include +#include "BTGPSSdpHandler.h" +#include "BTGPSConnectManagerExt.h" +#include "BTGPSDeviceManager.h" +#include "BTGPSHandlerFactory.h" +#include "BTGPSLogging.h" +#include "BTGPSLogging.h" + +// ============================ MEMBER FUNCTIONS =============================== + + +// ----------------------------------------------------------------------------- +// CBTGPSSdpHandler::NewL +// ----------------------------------------------------------------------------- +CBTGPSSdpHandler* CBTGPSSdpHandler::NewL(MBTGPSConnectManagerExt& aManagerExt) + { + CBTGPSSdpHandler* self = new (ELeave) CBTGPSSdpHandler( + aManagerExt); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +// ----------------------------------------------------------------------------- +// CBTGPSSdpHandler::~CBTGPSSdpHandler +// ----------------------------------------------------------------------------- +CBTGPSSdpHandler::~CBTGPSSdpHandler() + { + delete iBtGPSDiscovery; + } + + +// ----------------------------------------------------------------------------- +// CBTGPSSdpHandler::ConstructL +// ----------------------------------------------------------------------------- +void CBTGPSSdpHandler::ConstructL() + { + TRACESTRING("CBTGPSSdpHandler::ConstructL start...") + + CBTDevice* btDevice = &(iManagerExt.DeviceManager().BtDevice()); + + iChannelNumberErr = KErrNotFound; + iBtGPSDiscovery = CBTGPSDiscovery::NewL( this ); + iBtGPSDiscovery->RemoteProtocolChannelQueryL(btDevice->BDAddr(), KSerialPortUUID ); + + TRACESTRING("CBTGPSSdpHandler::ConstructL end") + } + +// ----------------------------------------------------------------------------- +// CBTGPSSdpHandler::CBTGPSSdpHandler +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +CBTGPSSdpHandler::CBTGPSSdpHandler(MBTGPSConnectManagerExt& aManagerExt) + : iManagerExt(aManagerExt) + { + } + + +// ----------------------------------------------------------------------------- +// CBTGPSSdpHandler::RunL +// ----------------------------------------------------------------------------- +//void CBTGPSSdpHandler::ServiceSearchComplete(const RSdpRecHandleArray& /*aResult*/, TUint /*aTotalRecordsCount*/, TInt /*aErr */) +// { + //do nothing +// } + +// ----------------------------------------------------------------------------- +// CBTGPSSdpHandler::AttributeSearchComplete +// ----------------------------------------------------------------------------- +//void CBTGPSSdpHandler::AttributeSearchComplete( TSdpServRecordHandle /*aHandle*/, const RSdpResultArray& /*aAttr*/, TInt /*aErr*/ ) +// { + //do nothing + // } + +// ----------------------------------------------------------------------------- +// CBTGPSSdpHandler::ServiceAttributeSearchComplete +// ----------------------------------------------------------------------------- +void CBTGPSSdpHandler::ServiceAttributeSearchComplete(TInt aErr ) + { + TRACESTRING2("CBTGPSSdpHandler::ServiceAttributeSearchComplete start...%d", + aErr ) + if( aErr == KErrNone || aErr == KErrEof) + { + TInt channel = KErrNotFound; + TInt err = iBtGPSDiscovery->ParseRfcommChannel(channel ); + if( err == KErrNone ) + { + TRACESTRING2("channel number:%d", channel) + iManagerExt.DeviceManager().SetPort(channel); + iChannelNumberErr = KErrNone; + } + } + // If the bluetooth device needs to be reinitialised it aErr will be EPageTimedOut (-6004) + if ((aErr < KErrNone )) + { + iManagerExt.HandlerComplete( + ESdpHandler, + iChannelNumberErr ); + } + TRACESTRING("CBTGPSSdpHandler::ServiceAttributeSearchComplete end") + } + +// ----------------------------------------------------------------------------- +// CBTGPSSdpHandler::DeviceSearchComplete +// ----------------------------------------------------------------------------- +//void CBTGPSSdpHandler::DeviceSearchComplete( CBTDevice* /*aDevice*/, TInt /*aErr*/ ) +// { + //do nothing + // } + +// End of File + + +