--- a/btobexprofiles/obexsendservices/obexservicesendutils/src/BTSBPPObjectServer.cpp Tue Aug 31 15:25:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,372 +0,0 @@
-/*
-* Copyright (c) 2002 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: Server part of basic printing profile
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "BTServiceUtils.h"
-#include "BTSBPPObjectServer.h"
-#include "BTSBPPObjectRequest.h"
-#include "BTSUDebug.h"
-
-// CONSTANTS
-const TInt KBTSBPPObjectChannelStart = 15; // Start looking for free RFCOMM channel
-const TInt KBTSBPPObjectChannelStop = 30; // Last free RFCOMM channel
-
-_LIT8( KBTSBPPReferencedObjectsUUID, "\x00\x00\x11\x20\x00\x00\x10\x00\x80\x00\x00\x80\x5F\x9B\x34\xFB" );
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::CBTSBPPObjectServer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CBTSBPPObjectServer::CBTSBPPObjectServer(
- MBTSBPPObjectServerObserver* aObserver, CBTEngDiscovery* aBTEngDiscoveryPtr,
- const TBTDevAddr& aExpectedClient ) : iExpectedClientPtr( &aExpectedClient ),
- iBTEngDiscoveryPtr( aBTEngDiscoveryPtr ),
- iObserverPtr( aObserver )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CBTSBPPObjectServer::ConstructL()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::ConstructL()"));
-
- __ASSERT_DEBUG( iObserverPtr != NULL, BTSUPanic( EBTSUPanicNullPointer ) );
- __ASSERT_DEBUG( iBTEngDiscoveryPtr != NULL, BTSUPanic( EBTSUPanicNullPointer ) );
- __ASSERT_DEBUG( iExpectedClientPtr != NULL, BTSUPanic( EBTSUPanicNullPointer ) );
-
- TObexBluetoothProtocolInfo info;
- info.iTransport = KBTSProtocol;
-
- iObjectChannel = KBTSBPPObjectChannelStart;
- for ( ; iObjectChannel < KBTSBPPObjectChannelStop; iObjectChannel++ )
- {
- // Register security settings
- //
- TBTServiceSecurity sec;
- sec.SetAuthentication( EFalse );
- sec.SetAuthorisation( EFalse );
- sec.SetEncryption( EFalse );
-
- info.iAddr.SetSecurity( sec );
- info.iAddr.SetPort( iObjectChannel );
-
- // Try to start Obex Server on selected channel
- //
- TRAPD( error, iServer = CObexServer::NewL ( info ) );
-
- if ( !error )
- {
- error = iServer->Start( this );
-
- if ( !error )
- {
- // Initialize server
- //
- iServer->SetCallBack( *this );
- User::LeaveIfError ( iServer->SetLocalWho( KBTSBPPReferencedObjectsUUID ) );
-
- // Register SDP settings
- //
- User::LeaveIfError ( iBTEngDiscoveryPtr->RegisterSdpRecord(
- TUUID(KBTSdpBasicPrinting), iObjectChannel, iSDPHandle ));
-
- FTRACE(FPrint(_L("[BTSU]\t CBTSBPPObjectServer::ConstructL() services running on channel %d"), iObjectChannel ));
- break;
- }
- else
- {
- // Failed to start Obex server. Delete server and try again
- //
- delete iServer;
- iServer = NULL;
- }
- }
- }
-
- if ( !iServer )
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::ConstructL() ERROR, server did not start."));
- User::Leave( KErrGeneral );
- }
-
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::ConstructL() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CBTSBPPObjectServer* CBTSBPPObjectServer::NewL(
- MBTSBPPObjectServerObserver* aObserver, CBTEngDiscovery* aBTEngDiscoveryPtr,
- const TBTDevAddr& aExpectedClient )
- {
- CBTSBPPObjectServer* self = new( ELeave )
- CBTSBPPObjectServer( aObserver, aBTEngDiscoveryPtr, aExpectedClient );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-
-// Destructor
-CBTSBPPObjectServer::~CBTSBPPObjectServer()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::~CBTSBPPObjectServer()"));
-
- if ( iServer )
- {
- iServer->Stop();
- delete iServer;
- iServer = NULL;
- }
-
- delete iObjectRequest;
- //delete iPasskeyRequest;
-
- if ( iBTEngDiscoveryPtr )
- {
- iBTEngDiscoveryPtr->DeleteSdpRecord( iSDPHandle );
- }
-
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::~CBTSBPPObjectServer() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::SetReferencedObjectList
-// -----------------------------------------------------------------------------
-//
-void CBTSBPPObjectServer::SetReferencedObjectList( const CDesCArray* aRefObjectList )
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::SetReferencedObjectList()"));
-
- __ASSERT_DEBUG( aRefObjectList != NULL, BTSUPanic( EBTSUPanicNullPointer ) );
-
- iObjectListPtr = aRefObjectList;
-
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::SetReferencedObjectList() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::HasReferencedObjects
-// -----------------------------------------------------------------------------
-//
-TBool CBTSBPPObjectServer::HasReferencedObjects()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::HasReferencedObjects()"));
- __ASSERT_DEBUG( iObjectListPtr != NULL, BTSUPanic( EBTSUPanicNullPointer ) );
-
- return iObjectListPtr->MdcaCount() > 0;
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::GetUserPasswordL
-// -----------------------------------------------------------------------------
-//
-void CBTSBPPObjectServer::GetUserPasswordL( const TDesC& /*aRealm*/ )
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::GetUserPasswordL() NOT NEEDED"));
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::ErrorIndication
-// -----------------------------------------------------------------------------
-//
-void CBTSBPPObjectServer::ErrorIndication( TInt aError )
- {
- FTRACE(FPrint(_L("[BTSU]\t CBTSBPPObjectServer::ErrorIndication() error %d"), aError ));
-
- iObserverPtr->ServerError( aError );
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::TransportUpIndication
-// -----------------------------------------------------------------------------
-//
-void CBTSBPPObjectServer::TransportUpIndication()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::TransportUpIndication()"));
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::TransportDownIndication
-// -----------------------------------------------------------------------------
-//
-void CBTSBPPObjectServer::TransportDownIndication()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::TransportDownIndication()"));
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::ObexConnectIndication
-// -----------------------------------------------------------------------------
-//
-TInt CBTSBPPObjectServer::ObexConnectIndication(
- const TObexConnectInfo& /*aRemoteInfo*/, const TDesC8& /*aInfo*/ )
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::ObexConnectIndication()"));
-
- TInt error = KErrAccessDenied;
-
- // Check that remote device is the expected one.
- //
- TBTSockAddr remoteAddr;
- iServer->RemoteAddr( remoteAddr );
- if ( remoteAddr.BTAddr() == *iExpectedClientPtr )
- {
- error = KErrNone;
- iObserverPtr->ServerConnectionEstablished();
- }
-
- FTRACE(FPrint(_L("[BTSU]\t CBTSBPPObjectServer::ObexConnectIndication() completed with %d"), error ));
- return error;
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::ObexDisconnectIndication
-// -----------------------------------------------------------------------------
-//
-void CBTSBPPObjectServer::ObexDisconnectIndication( const TDesC8& /*aInfo*/ )
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::ObexDisconnectIndication()"));
-
- iObserverPtr->ServerConnectionClosed();
-
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::ObexDisconnectIndication() completed"));
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::PutRequestIndication
-// -----------------------------------------------------------------------------
-//
-CObexBufObject* CBTSBPPObjectServer::PutRequestIndication()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::PutRequestIndication()"));
-
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::PutPacketIndication
-// -----------------------------------------------------------------------------
-//
-TInt CBTSBPPObjectServer::PutPacketIndication()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::PutPacketIndication()"));
-
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::PutCompleteIndication
-// -----------------------------------------------------------------------------
-//
-TInt CBTSBPPObjectServer::PutCompleteIndication()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::PutCompleteIndication()"));
-
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::GetRequestIndication
-// -----------------------------------------------------------------------------
-//
-CObexBufObject* CBTSBPPObjectServer::GetRequestIndication(
- CObexBaseObject* aRequiredObject )
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::GetRequestIndication()"));
- __ASSERT_DEBUG( iObjectRequest == NULL, BTSUPanic( EBTSUPanicExistingObject ) );
-
- TInt error = KErrNone;
- CObexBufObject* object = NULL;
-
- TRAP( error, iObjectRequest = CBTSBPPObjectRequest::NewL( aRequiredObject, iObjectListPtr ) );
-
- if ( !error )
- {
- object = iObjectRequest->GetResponse();
- }
-
- FTRACE(FPrint(_L("[BTSU]\t CBTSBPPObjectServer::GetRequestIndication() completed with %d"), error ) );
-
- return object;
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::GetPacketIndication
-// -----------------------------------------------------------------------------
-//
-TInt CBTSBPPObjectServer::GetPacketIndication()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::GetPacketIndication()"));
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::GetCompleteIndication
-// -----------------------------------------------------------------------------
-//
-TInt CBTSBPPObjectServer::GetCompleteIndication()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::GetCompleteIndication()"));
-
- delete iObjectRequest;
- iObjectRequest = NULL;
-
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::GetCompleteIndication() completed"));
-
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::SetPathIndication
-// -----------------------------------------------------------------------------
-//
-TInt CBTSBPPObjectServer::SetPathIndication( const CObex::TSetPathInfo& /*aPathInfo*/,
- const TDesC8& /*aInfo*/ )
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::SetPathIndication()"));
-
- return KErrNotSupported;
- }
-
-// -----------------------------------------------------------------------------
-// CBTSBPPObjectServer::AbortIndication
-// -----------------------------------------------------------------------------
-//
-void CBTSBPPObjectServer::AbortIndication()
- {
- FLOG(_L("[BTSU]\t CBTSBPPObjectServer::AbortIndication()"));
-
- iObserverPtr->ServerError( KErrCancel );
- }
-
-// End of File