sl@0: // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @test sl@0: @internalComponent - Internal Symbian test code sl@0: */ sl@0: sl@0: #ifndef __WSREDIR_H__ sl@0: #define __WSREDIR_H__ sl@0: sl@0: #include sl@0: sl@0: const TUint8 KRedirectorInfoSig = 0x7e; sl@0: sl@0: NONSHARABLE_STRUCT(TRedirectorInfo) sl@0: { sl@0: TUint8 iSignature; sl@0: TAny* iFrontBufferInterface; sl@0: TAny* iBackBufferInterface; sl@0: TAny* iScreenConfigInterface; sl@0: TInt iScreenBitmapHandle; sl@0: TInt iFlickerBitmapHandle; sl@0: TInt iUpdateCounter; sl@0: }; sl@0: sl@0: NONSHARABLE_CLASS(CWsRedir): public CWsGraphic sl@0: { sl@0: public: sl@0: enum TBufferType sl@0: { sl@0: EFrontBuffer, sl@0: EBackBuffer sl@0: }; sl@0: public: sl@0: IMPORT_C static CWsRedir* NewL(); sl@0: IMPORT_C static CWsRedir* NewL(TInt aScreenId); sl@0: IMPORT_C static CWsRedir* NewL(TInt aScreenId, TBool aDisableWin); sl@0: IMPORT_C ~CWsRedir(); sl@0: IMPORT_C TInt Redirect(TBufferType aWhich, TBool aHow); sl@0: IMPORT_C TInt RedirectUsingWsBackBuffer(TBool aHow); sl@0: IMPORT_C TInt QueryPlugin(TRedirectorInfo& aInfo); sl@0: IMPORT_C void SetCallBack(TCallBack aCallBack); sl@0: private: sl@0: // override CWsGraphic sl@0: virtual void HandleMessage(const TDesC8& aData); sl@0: virtual void OnReplace(); sl@0: private: sl@0: TBool iIsFrontRedirected; sl@0: TBool iIsBackRedirected; sl@0: TBool iIsReady; sl@0: TRedirectorInfo* iReq; sl@0: TCallBack iCallBack; sl@0: }; sl@0: sl@0: #endif