diff -r fb3763350a08 -r 4d54b72983ae taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewprovider.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewprovider.cpp Tue Jan 26 11:48:23 2010 +0200 @@ -0,0 +1,151 @@ +/* +* Copyright (c) 2008 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: Preview provider API +* +*/ + + +#include "tspreviewprovider.h" +#include "previewproviderlogging.h" +#include "tspreviewproviderclient.h" + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::NewL +// -------------------------------------------------------------------------- +// +EXPORT_C CTsFastSwapPreviewProvider* CTsFastSwapPreviewProvider::NewL( + MTsFastSwapPreviewObserver& aObs) + { + CTsFastSwapPreviewProvider* p = new (ELeave) CTsFastSwapPreviewProvider(); + CleanupStack::PushL( p ); + p->ConstructL( aObs ); + CleanupStack::Pop( p ); + return p; + } + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::~CTsFastSwapPreviewProvider +// -------------------------------------------------------------------------- +// +EXPORT_C CTsFastSwapPreviewProvider::~CTsFastSwapPreviewProvider() + { + if ( iClient ) + { + iClient->Destroy(); + } + delete iClient; + } + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::Register +// -------------------------------------------------------------------------- +// +EXPORT_C TInt CTsFastSwapPreviewProvider::Register( TInt aWgId ) + { + iClient->Register( aWgId ); + return KErrNone; + } + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::Unregister +// -------------------------------------------------------------------------- +// +EXPORT_C TInt CTsFastSwapPreviewProvider::Unregister( TInt aWgId ) + { + iClient->Unregister( aWgId ); + return KErrNone; + } + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::ChangeScreen +// -------------------------------------------------------------------------- +// +EXPORT_C TInt CTsFastSwapPreviewProvider::ChangeScreen( TInt aScreenId ) + { + iClient->ChangeScreen( aScreenId ); + return KErrNone; + } + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::SetPreviewParam +// -------------------------------------------------------------------------- +// +EXPORT_C TInt CTsFastSwapPreviewProvider::SetPreviewParam(const TSize& aSize, + TDisplayMode aMode) + { + TSLOG_CONTEXT( SetPreviewParam, TSLOG_LOCAL ); + TSLOG_IN(); + + TInt error( KErrNone ); + + if ( aMode == ENone || aMode == EColor64K ) + { + iClient->SetPreviewParam( aSize, aMode ); + } + else + { + error = KErrNotSupported; + } + + TSLOG_OUT(); + return error; + } + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::TakePreview +// -------------------------------------------------------------------------- +// +EXPORT_C TInt CTsFastSwapPreviewProvider::TakePreview() + { + // Reset timer for screensaver (dismiss screensaver) + User::ResetInactivityTime(); + + iClient->TakePreview(); + return KErrNone; + } + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::AckPreview +// -------------------------------------------------------------------------- +// +EXPORT_C void CTsFastSwapPreviewProvider::AckPreview( TInt aPreviewId ) + { + iClient->AckPreview( aPreviewId ); + } + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::CTsFastSwapPreviewProvider +// -------------------------------------------------------------------------- +// +CTsFastSwapPreviewProvider::CTsFastSwapPreviewProvider() + { + } + +// -------------------------------------------------------------------------- +// CTsFastSwapPreviewProvider::ConstructL +// -------------------------------------------------------------------------- +// +void CTsFastSwapPreviewProvider::ConstructL( MTsFastSwapPreviewObserver& aObs ) + { + TSLOG_CONTEXT( ConstructL, TSLOG_LOCAL ); + TSLOG_IN(); + + iClient = new ( ELeave ) CTsFastSwapPreviewProviderClient( aObs ); + iClient->ConstructL(); + + TSLOG_OUT(); + } + +// End of file +