--- a/convergedconnectionhandler/cchserver/src/cchsession.cpp Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: CCCHSession implementation
-*
-*/
-
-
-// INCLUDE FILES
-#include "cchlogger.h"
-#include "cchsession.h"
-#include "cchserverbase.h"
-#include "cchsubsession.h"
-#include "cchclientserverinternal.h"
-
-// EXTERNAL DATA STRUCTURES
-// None
-
-// EXTERNAL FUNCTION PROTOTYPES
-// None
-
-// CONSTANTS
-// None
-
-// MACROS
-// None
-
-// LOCAL CONSTANTS AND MACROS
-// None
-
-// MODULE DATA STRUCTURES
-// None
-
-// LOCAL FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-// ============================= LOCAL FUNCTIONS =============================
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// CCCHSession::CCCHSession
-// C++ default constructor can NOT contain any code, that might leave.
-// ---------------------------------------------------------------------------
-//
-CCCHSession::CCCHSession( CCCHServerBase& aServer ) :
- CSession2(),
- iCCHServer( aServer )
- {
- TRAP_IGNORE( iCCHServer.NotifySessionCreatedL() );
- }
-
-// ---------------------------------------------------------------------------
-// CCCHSession::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CCCHSession::ConstructL()
- {
- iSubsessions = iCCHServer.ObjectContainerIx().CreateL();
- iObjectIx = CObjectIx::NewL();
- }
-
-// ---------------------------------------------------------------------------
-// CCCHSession::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CCCHSession* CCCHSession::NewL( CCCHServerBase& aServer )
- {
- CCCHSession* self = CCCHSession::NewLC( aServer );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CCCHSession::NewLC
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CCCHSession* CCCHSession::NewLC( CCCHServerBase& aServer )
- {
- CCCHSession* self = new (ELeave) CCCHSession( aServer );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// Destructor
-CCCHSession::~CCCHSession()
- {
- delete iObjectIx;
- iObjectIx = NULL;
-
- iCCHServer.ObjectContainerIx().Remove( iSubsessions );
- iCCHServer.NotifySessionClosed();
- }
-
-// ---------------------------------------------------------------------------
-// CCCHSession::ServiceL
-// Handles request received from client.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CCCHSession::ServiceL( const RMessage2& aMessage )
- {
- CCHLOGSTRING( "CCCHSession::ServiceL: IN" );
- TInt command = aMessage.Function();
- switch ( command )
- {
- case ECCHOpenSubSession:
- {
- CCCHSubsession* subsession = CCCHSubsession::NewLC( iCCHServer );
- iSubsessions->AddL( subsession );
- const TInt handle( iObjectIx->AddL( subsession ) );
- CleanupStack::Pop( subsession );
- TPckg<TInt> handlePckg( handle );
- TInt err = aMessage.Write( 3, handlePckg );
-
- if ( KErrNone != err )
- {
- // Panic client
- iObjectIx->Remove( handle );
- iCCHServer.PanicClient( aMessage, ECCHErrSubSessionOpen );
- }
- else
- {
- aMessage.Complete( KErrNone );
- }
- }
- break;
- case ECCHCloseSubSession:
- {
- const TInt handle( aMessage.Int3() );
- if ( iObjectIx->At( handle ) )
- {
- iObjectIx->Remove( handle );
- aMessage.Complete( KErrNone );
- }
- else
- {
- // Panic client. Handle was not valid
- iCCHServer.PanicClient( aMessage, ECCHErrSubSessionClose );
- }
- }
- break;
- /**
- * CCH subsession functions
- */
- case ECCHSubscribeToEvents:
- case ECCHSubscribeToEventsCancel:
- case ECCHGetServices:
- case ECCHGetServicesCancel:
- case ECCHGetServiceState:
- case ECCHEnableService:
- case ECCHEnableServiceCancel:
- case ECCHDisableService:
- case ECCHDisableServiceCancel:
- case ECCHGetServiceInfo:
- case ECCHGetPreferredService:
- case ECCHSetConnectionInfo:
- case ECCHSetConnectionInfoCancel:
- case ECCHGetConnectionInfo:
- case ECCHGetConnectionInfoCancel:
- case ECCHReserveService:
- case ECCHFreeService:
- case ECCHIsReserved:
- case ECCHServiceCount:
- case ECCHServerRegister:
- case ECCHServerRegisterCancel:
- {
- CCCHSubsession* subsession = static_cast<CCCHSubsession*>(
- iObjectIx->At( aMessage.Int3() ) );
- if ( subsession )
- {
- subsession->ServiceL( aMessage );
- }
- else
- {
- // Panic client.
- iCCHServer.PanicClient( aMessage, ECCHBadDescriptor );
- }
- }
- break;
- default:
- {
- iCCHServer.PanicClient( aMessage, ECCHBadRequest );
- }
-
- }
- CCHLOGSTRING( "CCCHSession::ServiceL: OUT" );
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =======================
-
-// End of File