diff -r b818131c88a3 -r e1b6d78dfe6a tsrc/consoleplayer/player/inc/consoleplayer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tsrc/consoleplayer/player/inc/consoleplayer.h Fri Sep 03 19:37:02 2010 -0500 @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2010 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: + * The header for the main class of the ConsolePlayer test app. + * + */ + +#ifndef __CONSOLE_PLAYER_H__ +#define __CONSOLE_PLAYER_H__ + +#include + +#include "testappbase.h" +#include "timercallback.h" +#include "playerwindow.h" +#include "externalplayer.h" + +class CPlayerWindow; + +enum TOperations + { + EOperation_ChangeDisplayMode = KOperation_FirstCustomIndex, + EOperation_AbnormalTermination, + EOperation_ToggleSecondVideo, + EOperation_ToggleThirdVideo, + EOperation_ToggleExternalPlayer, + EOperation_ToggleExternalPlayer2, + EOperation_ObscureWindow, + EOperation_DragWindow, + EOperation_ToggleOrdinalPositions, + EOperation_LaunchAllWindows + }; + +const TInt KMaxHistoryEntries = 10; +_LIT( KHistoryFilename, "c:\\console_player_history.txt" ); + +_LIT( KUrlListFilename, "c:\\data\\urls.txt" ); + +class CConsolePlayer : public CTestAppBase, + private MPlayerWindowObserver, + private ITimerCallbackClient, + private MPlayerCommands + +{ +public: // Methods + + static void ExecuteL(); + +private: // Methods + + enum TActionToPerform + { + EAction_None = 0x0000, + EAction_PlayLocalFile = 0x0001, + EAction_PlayUrl = 0x0002, + EAction_SameAsMainPlayer = 0x0008 + }; + + enum TApiToUse + { + EApi_VideoPlayer = 0x1, + EApi_OpenMaxAl = 0x2 + }; + + CConsolePlayer(); + + ~CConsolePlayer(); + + void InitL(); + + void Main(); + + void MainL(); + + bool SelectUrlL( TDes& aUrl ); + + void UpdateVideoWindow(); + + void UpdateWindowOrdinalPositions(); + + void EnableDragging(); + + void DisableDragging(); + + void SelectAction( TUint aActionMask, + TUint aApiMask, + bool aPresentPerformanceModeOption, + TActionToPerform& aAction, + TApiToUse& aApi, + bool& aPerformanceMode, + TFileName& aLocation ); + + void DoSelectAction( TUint aActionMask, + bool aPresentPerformanceModeOption, + TActionToPerform& aAction, + bool& aPerformanceMode ); + + bool DoSelectApi( TUint aApiMask, + TApiToUse& aApi ); + + CPlayerWindow* PlayerWindowNewL( TApiToUse aApi, + TPoint aTopLeft, + TSize aSize, + bool aTransparent, + TRgb aBackgroundColor, + bool aSuppressGraphicsContext ); + + TInt CreateAnotherPlayer( CPlayerWindow** aPlayerWindow, + CExternalPlayer** aExternalPlayer, + const TDesC& aExternalPlayerExeName, + TSize aSize, + TPoint aTopLeft ); + + MPlayerCommands* CurrentPlayer(); + + void SendOperationToAllPlayers( TInt aOperation ); + + void DrawBorderAroundActiveWindows(); + + // inherited from CTestAppBase + virtual void SoftkeyFunctionUpdated(); + virtual bool ConsumeKeyEvent( TInt aKeyCode ); + virtual void ExecuteOperation( TInt aOperation, const TDesC& aOperationText ); + virtual void HandlePointerEvent( const TAdvancedPointerEvent& aEvent ); + + // inherited from MPlayerWindowObserver + virtual void PlayInitiated(); + virtual void PlayStateChanged(); + virtual void Error(TInt aError); + + // inherited from MPlayerCommands + virtual TInt ExecuteOperation( TInt aOperation ); + virtual void MoveWindow( TPoint aNewCenter ); + virtual void SetOrdinalPosition( TInt aPosition ); + + // inherited from ITimerCallbackClient + void TimerCallback(); + +private: // Attributes + + CTimerCallback* iTimerCallback; + TBuf<120> iBuffer; + TInt iLastError; + TInt iVideoWindowTextMode; + TBuf<120> iSelectedOptionText; + TInt iSelectedOptionTextCounter; + TInt iOrdinalIndex; + bool iVideoWindow2Transparent; + CPlayerWindow* iVideoPlayer; + CPlayerWindow* iVideoPlayer2; + CPlayerWindow* iVideoPlayer3; + CExternalPlayer* iExternalPlayer; + CExternalPlayer* iExternalPlayer2; + MPlayerCommands* iActivePlayer; + MPlayerCommands* iPlayerBeingDragged; + RWindow* iFullScreenWindow; + bool iObscured; + TInt iFinalResult; + TActionToPerform iMainPlayerAction; + TApiToUse iMainPlayerApi; + + }; + +#endif