videoplayerapp/inc/videoplayerengine.h
branchRCL_3
changeset 22 839377eedc2b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoplayerapp/inc/videoplayerengine.h	Tue Aug 31 15:15:55 2010 +0300
@@ -0,0 +1,119 @@
+/*
+* Copyright (c) 2009 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:  Implementation of VideoPlayerEngine
+*
+*/
+
+// Version : %version: 20 %
+
+#ifndef VIDEOPLAYERENGINE_H
+#define VIDEOPLAYERENGINE_H
+
+#include <qobject.h>
+#include <mpxviewpluginqt.h>
+
+#include <f32file.h>
+
+#include "mpxhbvideocommondefs.h"
+#include "videoplayerappexport.h"
+
+//FORWARD CLASS DECLARATION
+
+class MpxViewPlugin;
+class VideoServices;
+class VideoPlaybackWrapper;
+
+/**
+ *  VideoPlayerEngine
+ * 
+ */
+class VIDEOPLAYERAPP_DLL_EXPORT VideoPlayerEngine : public QObject
+{
+    Q_OBJECT
+
+    public:
+        /**
+         * Constructor
+         */
+        VideoPlayerEngine( bool isService = false );
+
+        /**
+        * Destructor.
+        */
+        virtual ~VideoPlayerEngine();
+    
+    public:
+        void initialize();
+        void playMedia( QString filePath );
+		void playURI( QString uri );
+        void playMedia( RFile file );
+        void setEmbedded();
+    signals:
+        void applicationReady();
+    
+    public slots:
+        void handleCommand( int commandCode );
+        void viewReadySlot();
+
+    private slots:
+        void handleQuit();
+        void serviceQuit();
+
+    private:
+        void activateView( MpxHbVideoCommon::MpxHbVideoViewType viewType );
+
+        void connectView();
+        void disconnectView();
+    
+        void switchView();    
+    
+        void loadPluginAndCreateView( MpxHbVideoCommon::MpxHbVideoViewType viewType );
+        
+        void doDelayedLoad();
+        
+        void createMissingViews();
+        
+        void createPlaybackView();
+        
+        void setCurrentView();
+        
+        bool isPlayServiceInvoked();  
+        
+        bool shouldExit();
+        
+        bool shouldActivateCollectionView();
+        
+        void handlePlaybackFailure(int errorCode);
+
+    private:
+        bool                      mIsService;
+        bool                      mEmbedded;
+        bool                      mDelayedLoadDone;
+        bool                      mIsPlayService;
+
+        MpxViewPlugin*            mCurrentViewPlugin;
+        MpxViewPlugin*            mPlaybackViewPlugin; 
+        MpxViewPlugin*            mCollectionViewPlugin; 
+        MpxViewPlugin*            mFileDetailsViewPlugin;
+        
+
+        VideoPlaybackWrapper      *mPlaybackWrapper;
+
+        VideoServices*            mVideoServices;
+
+};
+
+#endif // VIDEOPLAYERENGINE_H
+
+// EOF