diff -r 4096754ee773 -r 52a167391590 localconnectivityservice/dun/client/src/dunactive.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/localconnectivityservice/dun/client/src/dunactive.cpp Wed Sep 01 12:20:40 2010 +0100 @@ -0,0 +1,150 @@ +/* +* 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: Controls asynchronous requests between LOCOD and DUN server +* +*/ + + +#include "dunactive.h" +#include "dunplugin.h" +#include "DunDebug.h" + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// Two-phased constructor. +// --------------------------------------------------------------------------- +// +CDunActive* CDunActive::NewL( CDunPlugin* aPlugin, + TLocodBearer aBearer, + TBool aBearerStatus) + { + CDunActive* self = CDunActive::NewLC( aPlugin, aBearer, aBearerStatus ); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------------------------- +// Two-phased constructor. +// --------------------------------------------------------------------------- +// +CDunActive* CDunActive::NewLC( CDunPlugin* aPlugin, + TLocodBearer aBearer, + TBool aBearerStatus ) + { + CDunActive* self = new (ELeave) CDunActive( aPlugin, + aBearer, + aBearerStatus ); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// --------------------------------------------------------------------------- +// Destructor. +// --------------------------------------------------------------------------- +// +CDunActive::~CDunActive() + { + FTRACE(FPrint( _L("CDunActive::~CDunActive()") )); + Cancel(); + FTRACE(FPrint( _L("CDunActive::~CDunActive() complete") )); + } + +// --------------------------------------------------------------------------- +// Request function +// --------------------------------------------------------------------------- +// +TInt CDunActive::ServiceRequest() + { + FTRACE(FPrint( _L("CDunActive::ServiceRequest()") )); + TInt err = KErrNone; + + iStatus = KRequestPending; + err = (iPlugin->Server()).ManageService( this, iStatus ); + SetActive(); + FTRACE(FPrint( _L("CDunActive::ServiceRequest() complete") )); + return err; + } + +// --------------------------------------------------------------------------- +// CDunActive::CDunActive +// --------------------------------------------------------------------------- +// +CDunActive::CDunActive( CDunPlugin* aPlugin, + TLocodBearer aBearer, + TBool aBearerStatus ) + : CActive( EPriorityStandard ), + iPlugin( aPlugin ), + iBearer( aBearer ), + iBearerStatus( aBearerStatus ) + { + } + +// --------------------------------------------------------------------------- +// CDunActive::ConstructL +// --------------------------------------------------------------------------- +// +void CDunActive::ConstructL() + { + FTRACE(FPrint( _L("CDunActive::ConstructL()") )); + CActiveScheduler::Add( this ); + FTRACE(FPrint( _L("CDunActive::ConstructL() complete") )); + } + +// --------------------------------------------------------------------------- +// From class CActive. +// Cancel current activity. +// --------------------------------------------------------------------------- +// +void CDunActive::DoCancel() + { + } + +// --------------------------------------------------------------------------- +// From class CActive +// Called when read or write operation is ready. +// --------------------------------------------------------------------------- +// +void CDunActive::RunL() + { + FTRACE(FPrint( _L("CDunActive::RunL()") )); + TInt retVal = iStatus.Int(); + iPlugin->ServiceCompleted( this, retVal ); + FTRACE(FPrint( _L("CDunActive::RunL() complete (%d)"), retVal )); + } + +// --------------------------------------------------------------------------- +// From class MDunActive. +// Bearer +// --------------------------------------------------------------------------- +// +TLocodBearer CDunActive::Bearer() + { + FTRACE(FPrint( _L("CDunActive::Bearer()") )); + FTRACE(FPrint( _L("CDunActive::Bearer() complete") )); + return iBearer; + } + +// --------------------------------------------------------------------------- +// From class MDunActive. +// Bearer status +// --------------------------------------------------------------------------- +// +TBool CDunActive::BearerStatus() + { + FTRACE(FPrint( _L("CDunActive::BearerStatus()") )); + FTRACE(FPrint( _L("CDunActive::BearerStatus() complete") )); + return iBearerStatus; + }