videoplayback/inc/mpxvideopdlplaybackview.h
branchRCL_3
changeset 57 befca0ec475f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoplayback/inc/mpxvideopdlplaybackview.h	Wed Sep 01 12:30:28 2010 +0100
@@ -0,0 +1,113 @@
+/*
+* 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:  MPX Video PDL playback view
+*
+*/
+
+
+// Version : %version: 10 %
+
+
+// This file defines the API for VideoPlaybackView.dll
+
+#ifndef __VIDEOPDLPLAYBACKVIEW_H__
+#define __VIDEOPDLPLAYBACKVIEW_H__
+
+//  Include Files
+#include <mpxplaybackcommanddefs.h>
+
+#include "mpxvideobaseplaybackview.h"
+
+//  Constants
+
+//  Forward Declarations
+
+//
+//  Class Definitions
+//
+class CMPXVideoPdlPlaybackView : public CMPXVideoBasePlaybackView
+{
+    public:
+        IMPORT_C static CMPXVideoPdlPlaybackView* NewL();
+        IMPORT_C static CMPXVideoPdlPlaybackView* NewLC();
+
+        ~CMPXVideoPdlPlaybackView();
+
+        void RetrievePdlInformationL();
+
+    protected:
+
+        /*
+         * From CAknView
+         * @return Views Uid
+         */
+        virtual TUid Id() const;
+
+        TUid ViewImplementationId() const;
+
+        void CloseEmbeddedPlaybackViewL();
+
+        void HandlePluginErrorL( TInt aError );
+
+        /*
+         *  Handle Download State Change
+         *  @param  aState  new state of the download
+         */
+        void HandlePdlStateChangeL( TInt aState );
+
+        /*
+         *  Handle transition to the stopped state
+         */
+        void HandleStoppedStateL();
+
+        void HandleBufferingStateL();
+
+        void HandleInitializingStateL( TMPXPlaybackState aLastState );
+
+        void SendWindowCommandL( TMPXVideoPlaybackCommand aCmd );
+
+        void HandlePdlReloadComplete();
+
+        void ResetPdlUserInputs();
+
+    private:
+
+        CMPXVideoPdlPlaybackView();
+
+        void ConstructL();
+
+        void SendPdlCustomCommandL( TMPXPlaybackPdCommand aCustomCmd );
+
+        TBool BringUpBrowserL();
+
+        void ClosePlaybackViewWithErrorL();
+
+        //
+        //  Functions to unblock user inputs after a timeout
+        //
+        static TInt HandleBlockInputsTimeOut( TAny* aPtr );
+        void DoHandleBlockInputsTimeOut();
+
+    private: // data
+
+        TMPXPlaybackPdDownloadState         iPdlState;
+        TInt                                iDownloadSize;
+        TBool                               iUserInputsBlocked;
+
+        CPeriodic*                          iBlockInputsTimer;
+};
+
+#endif  // __VIDEOPDLPLAYBACKVIEW_H__
+
+// EOF