diff -r f15ac8e65a02 -r 779871d1e4f4 vtuis/videotelui/src/features/cvtuifeaturebase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vtuis/videotelui/src/features/cvtuifeaturebase.cpp Wed Sep 01 12:29:12 2010 +0100 @@ -0,0 +1,116 @@ +/* +* Copyright (c) 2006 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: CVtUiFeatureBase implementation. +* +*/ + + +// INCLUDE FILES + +#include "cvtuifeaturebase.h" +#include "mvtuifeature.h" +#include "cvtuicommandpolicymanager.h" +#include +#include "cvtuifeaturemanager.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CVtUiFeatureBase::CVtUiFeatureBase +// C++ constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CVtUiFeatureBase::CVtUiFeatureBase( TVtUiFeatureId aId, + CVtUiFeatureManager& aFeatureManager ) : iId( aId ), + iFeatureManager ( aFeatureManager ), + iFeatureState ( EUnprepared ) + { + __VTPRINTENTER( "CVtUiFeatureBase.CVtUiFeatureBase" ) + __VTPRINTEXIT( "CVtUiFeatureBase.CVtUiFeatureBase" ) + } + +// ----------------------------------------------------------------------------- +// CVtUiFeatureBase::BaseConstructL +// ----------------------------------------------------------------------------- +// +void CVtUiFeatureBase::StartL() + { + if ( iFeatureState == EUnprepared ) + { + iAsyncCallback->Cancel(); + InitFeatureL(); + } + } + +// ----------------------------------------------------------------------------- +// CVtUiFeatureBase::BaseConstructL +// ----------------------------------------------------------------------------- +// +void CVtUiFeatureBase::BaseConstructL() + { + __VTPRINTENTER( "CVtUiFeatureBase.BaseConstructL" ) + iAsyncCallback = + new ( ELeave ) CAsyncCallBack ( CActive::EPriorityLow ); + iAsyncCallback->Set( TCallBack( &DoInitFeaturesL, this ) ); + iAsyncCallback->CallBack(); + __VTPRINTEXIT( "CVtUiFeatureBase.BaseConstructL" ) + } + +// ----------------------------------------------------------------------------- +// CVtUiFeatureBase::~CVtUiFeatureBase +// Destructor. +// ----------------------------------------------------------------------------- +// +CVtUiFeatureBase::~CVtUiFeatureBase() + { + __VTPRINTENTER( "CVtUiFeatureBase.~" ) + delete iAsyncCallback; + __VTPRINTEXIT( "CVtUiFeatureBase.~" ) + } + +// ----------------------------------------------------------------------------- +// CVtUiFeatureBase::State +// ----------------------------------------------------------------------------- +// +MVtUiFeature::TVtUiFeatureState CVtUiFeatureBase::State() const + { + __VTPRINTENTER( "CVtUiFeatureBase.State" ) + __VTPRINTEXITR( "CVtUiFeatureBase.State. %d", (TInt)iFeatureState ) + return iFeatureState; + } + +// ----------------------------------------------------------------------------- +// CVtUiFeatureBase::Id +// ----------------------------------------------------------------------------- +// +TVtUiFeatureId CVtUiFeatureBase::Id() const + { + __VTPRINTENTER( "CVtUiFeatureBase.Id" ) + __VTPRINTEXITR( "CVtUiFeatureBase.Id %d", iId ) + return iId; + } + +// ----------------------------------------------------------------------------- +// CVtUiFeatureBase::DoInitFeaturesL +// ----------------------------------------------------------------------------- +// +TInt CVtUiFeatureBase::DoInitFeaturesL( TAny* aAny ) + { + __VTPRINTENTER( "CVtUiFeatureBase.DoInitFeaturesL" ) + CVtUiFeatureBase* self = static_cast< CVtUiFeatureBase* >( aAny ); + self->InitFeatureL(); + __VTPRINTEXIT( "CVtUiFeatureBase.DoInitFeaturesL" ) + return KErrNone; + }