videoplayback/videohelix/inc/mpxvideoposterframesetter.h
branchRCL_3
changeset 15 8f0df5c82986
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoplayback/videohelix/inc/mpxvideoposterframesetter.h	Tue May 25 12:44:54 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* 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:   Poster Frame Setter
+ *
+*/
+
+// Version : %version:  ou1cpsw#2 %
+
+
+
+#ifndef _MPXVIDEOPOSTERFRAMESETTER_H
+#define _MPXVIDEOPOSTERFRAMESETTER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <thumbnailmanager.h>
+#include <thumbnailobjectsource.h>
+#include <thumbnailmanagerobserver.h>
+
+
+// FORWARD DECLARATIONS
+class CMPXVideoPlaybackController;
+class CThumbnailManager;
+
+// CLASS DECLARATION
+NONSHARABLE_CLASS(CMPXVideoPosterFrameSetter) : public CBase,
+                                                public MThumbnailManagerObserver
+{
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        */
+        static CMPXVideoPosterFrameSetter* NewL( CMPXVideoPlaybackController* aVideoPlaybackCtlr );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CMPXVideoPosterFrameSetter();
+
+    public: 
+        
+        void RequestPosterFrame();
+        
+        void HandlePosterFrameReady(TInt aError);
+        
+        // from MThumbnailManagerObserver
+        void ThumbnailPreviewReady( MThumbnailData& aThumbnail,
+                                    TThumbnailRequestId aId );
+        
+        // from MThumbnailManagerObserver
+        void ThumbnailReady( TInt aError, 
+                             MThumbnailData& aThumbnail,
+                             TThumbnailRequestId aId );
+
+        
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CMPXVideoPosterFrameSetter( CMPXVideoPlaybackController* aVideoPlaybackCtlr );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();        
+
+    private:    // Data        
+
+        CMPXVideoPlaybackController*    iVideoPlaybackCtlr;
+        TThumbnailRequestId             iRequestId;
+        CThumbnailManager*              iTNManager;
+};
+
+#endif      // _MPXVIDEOPOSTERFRAMESETTER_H
+            
+// End of File