diff -r fb3763350a08 -r 4d54b72983ae taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewprovider.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewprovider.h Tue Jan 26 11:48:23 2010 +0200 @@ -0,0 +1,129 @@ +/* +* 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 +* +*/ + + +#ifndef TSFASTSWAPPREVIEWPROVIDER_H +#define TSFASTSWAPPREVIEWPROVIDER_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CTsFastSwapPreviewProviderClient; +class MTsFastSwapPreviewObserver; + +/** + * Preview provider API class. Applications (window groups) must be + * registered before screenshots can be received. Also, closed apps + * should be unregistered to save resources. + * TakePreview() can be called to take a screenshot right away. + * A client needing notifications has to create an instance + * so that screenshots can be delivered to it via MTsFastSwapPreviewObserver. + * + * @see MTsFastSwapPreviewObserver + * @lib tspreviewprovider.lib + */ +NONSHARABLE_CLASS( CTsFastSwapPreviewProvider ) : public CBase + { +public: + + /** + * Two phased constructor. + * @see MTsFastSwapPreviewObserver + * + * @param aObs Observer. + */ + IMPORT_C static CTsFastSwapPreviewProvider* NewL( + MTsFastSwapPreviewObserver& aObs ); + + /** + * Destructor. + */ + IMPORT_C ~CTsFastSwapPreviewProvider(); + + /** + * Registers window group for screenshots. + * + * @param aWgId Window group id. + * @return Error code. + */ + IMPORT_C TInt Register( TInt aWgId ); + + /** + * Unregisters window group. + * + * @param aWgId Window group id. + * @return Error code. + */ + IMPORT_C TInt Unregister( TInt aWgId ); + + /** + * Change screen. + * + * @param aScreenId Screen id. + * @return Error code. + */ + IMPORT_C TInt ChangeScreen( TInt aScreenId ); + + /** + * Defines the dimensions and format of the screenshots. + * @see TDisplayMode. + * + * @param aSize Size to be used for the preview screenshots. + * @param aMode Color depth to be used for the preview screenshots. + * @return Error code. + */ + IMPORT_C TInt SetPreviewParam( const TSize& aSize, TDisplayMode aMode ); + + /** + * Takes a screenshot. + * + * @return Error code. + */ + IMPORT_C TInt TakePreview(); + + /** + * Ack preview ready message + */ + IMPORT_C void AckPreview( TInt aPreviewId ); + +private: + + /** + * C++ constructor. + */ + CTsFastSwapPreviewProvider(); + + /** + * 2nd phase constructor. + * + * @param aObs Observer. + */ + void ConstructL( MTsFastSwapPreviewObserver& aObs ); + +private: + + /** + * Implementation class. + */ + CTsFastSwapPreviewProviderClient* iClient; + }; + +#endif // TSFASTSWAPPREVIEWPROVIDER_H + +// End of file