videoplayerapp/videoplayerengine/src/videoservices.cpp
changeset 36 8aed59de29f9
parent 30 4f111d64a341
child 20 b9e04db066d4
--- a/videoplayerapp/videoplayerengine/src/videoservices.cpp	Thu Apr 01 23:32:44 2010 +0300
+++ b/videoplayerapp/videoplayerengine/src/videoservices.cpp	Fri Apr 16 18:13:14 2010 +0300
@@ -15,10 +15,15 @@
 *
 */
 
-#include <videoplayerengine.h>
-#include <videoservices.h>
-#include <videoserviceurifetch.h>
-#include <videoserviceplay.h>
+// Version : %version: %
+
+#include "videoplayerengine.h"
+#include "videoservices.h"
+#include "videoserviceurifetch.h"
+#include "videoserviceplay.h"
+#include "videoserviceview.h"
+#include "videoservicebrowse.h"
+#include "mpxvideo_debug.h"
 
 VideoServices *VideoServices::mInstance = 0;
 
@@ -28,11 +33,13 @@
 //
 VideoServices* VideoServices::instance(QVideoPlayerEngine* engine)
 {
-    if(!mInstance)
+    MPX_ENTER_EXIT(_L("VideoServices::instance()"));
+    
+    if ( ! mInstance )
     {
         mInstance = new VideoServices(engine);
     }
-    else if(engine && !mInstance->engine())
+    else if ( engine && ! mInstance->engine() )
     {
     	mInstance->setEngine(engine);
     }
@@ -46,9 +53,11 @@
 //
 void VideoServices::decreaseReferenceCount()
 {
-    if(mInstance)
+    MPX_ENTER_EXIT(_L("VideoServices::decreaseReferenceCount()"));
+    
+    if ( mInstance )
     {
-        if(--mInstance->mReferenceCount == 0)
+        if( --mInstance->mReferenceCount == 0 )
         {
             delete mInstance;
             mInstance = NULL;
@@ -62,11 +71,20 @@
 //
 void VideoServices::setEngine(QVideoPlayerEngine* engine)
 {
-    if (mServicePlay)
+    MPX_ENTER_EXIT(_L("VideoServices::setEngine()"));
+    
+    if ( mServicePlay )
     {
     	mEngine = engine;
     	mServicePlay->setEngine(engine);
     }
+    
+    if ( mServiceView )
+    {
+    	mEngine = engine;
+    	mServiceView->setEngine(engine);    	
+    }
+    		
 }
 
 // ----------------------------------------------------------------------------
@@ -75,6 +93,8 @@
 //
 QVideoPlayerEngine* VideoServices::engine()
 {
+    MPX_DEBUG(_L("VideoServices::engine"));
+	
 	return mEngine;
 }
 
@@ -82,13 +102,17 @@
 // VideoServices()
 // ----------------------------------------------------------------------------
 //
-VideoServices::VideoServices(QVideoPlayerEngine* engine) :
-mReferenceCount(0),
-mEngine(engine),
-mCurrentService(VideoServices::ENoService)
+VideoServices::VideoServices( QVideoPlayerEngine* engine ) 
+    : mReferenceCount( 0 )
+    , mEngine( engine )
+    , mCurrentService( VideoServices::ENoService )
 {
+    MPX_ENTER_EXIT(_L("VideoServices::VideoServices()"));
+    
     mServiceUriFetch = new VideoServiceUriFetch(this);
 	mServicePlay     = new VideoServicePlay(this, engine);
+	mServiceView     = new VideoServiceView(this, engine);
+	mServiceBrowse   = new VideoServiceBrowse(this);
 }
 
 // ----------------------------------------------------------------------------
@@ -97,8 +121,12 @@
 //
 VideoServices::~VideoServices()
 {
+    MPX_ENTER_EXIT(_L("VideoServices::~VideoServices()"));
+    
 	delete mServiceUriFetch;
 	delete mServicePlay;
+	delete mServiceView;
+	delete mServiceBrowse;
 }
 
 // ----------------------------------------------------------------------------
@@ -107,24 +135,60 @@
 //
 VideoServices::TVideoService VideoServices::currentService()
 {
+    MPX_DEBUG(_L("VideoServices::currentService() ret %d"), mCurrentService );
+	
 	return mCurrentService;
 }
 
 // ----------------------------------------------------------------------------
+// getBrowseCategory()
+// ----------------------------------------------------------------------------
+//
+int VideoServices::getBrowseCategory() const
+{
+    MPX_DEBUG(_L("VideoServices::getBrowseCategory()"));
+	
+    int category = 0;
+    
+    if ( mServiceBrowse )
+    {
+        category = mServiceBrowse->getBrowseCategory();
+    }
+    
+    return category;
+}
+
+// ----------------------------------------------------------------------------
 // setCurrentService()
 // ----------------------------------------------------------------------------
 //
 void VideoServices::setCurrentService(VideoServices::TVideoService service)
 {
-	mCurrentService = service;
+    MPX_DEBUG(_L("VideoServices::setCurrentService(%d)"), service );
+	
+	mCurrentService = service;	
 }
+
 // ----------------------------------------------------------------------------
 // contextTitle()
 // ----------------------------------------------------------------------------
 //
 QString VideoServices::contextTitle() const
 {
-    return mServiceUriFetch->contextTitle();
+    MPX_DEBUG(_L("VideoServices::contextTitle()") );
+	
+    QString title;
+    
+    if ( mCurrentService == VideoServices::EUriFetcher )
+    {
+        title = mServiceUriFetch->contextTitle();
+    }
+    else if ( mCurrentService == VideoServices::EBrowse )
+    {
+        title = mServiceBrowse->contextTitle();
+    }
+    
+    return title;
 }
 
 // ----------------------------------------------------------------------------
@@ -133,8 +197,26 @@
 //
 void VideoServices::itemSelected(const QString& item)
 {
+    MPX_ENTER_EXIT(_L("VideoServices::itemSelected()"),
+                   _L("item = %s"), item.data() );
+    
     QStringList list;
-    list.append(item);
-    mServiceUriFetch->complete(list);
+    list.append( item );
+    mServiceUriFetch->complete( list );
 }
 
+// ----------------------------------------------------------------------------
+// browsingEnded()
+// ----------------------------------------------------------------------------
+//
+void VideoServices::browsingEnded()
+{
+    MPX_ENTER_EXIT(_L("VideoServices::browsingEnded()"));
+	
+    if ( mServiceBrowse )
+    {
+        mServiceBrowse->complete();
+    }
+}
+
+// End of file