ui/uiengine/medialistwrapper/src/glxmlgenericobserver.cpp
changeset 23 74c9f037fd5d
child 33 1ee2af37811f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/uiengine/medialistwrapper/src/glxmlgenericobserver.cpp	Fri Mar 19 09:28:59 2010 +0200
@@ -0,0 +1,208 @@
+/*
+* 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: 
+*
+*/
+
+
+/*glxmlgenericobserver.cpp*/
+
+// INCLUDE FILES
+
+//Gallery Headers
+#include <glxtracer.h>                                 // For TRACER
+#include <glxlog.h>                                     // For Glx Logging
+#include <glxerrormanager.h>                        //?    // For CGlxErrormanager
+#include <glxuistd.h>
+#include <mglxmedialist.h>                              // CGlxMedialist
+#include <glxthumbnailattributeinfo.h>              //?   // KGlxMediaIdThumbnail
+#include <glxdrmutility.h>                              // DRM utility class to provide DRM-related functionality
+#include <mpxmediadrmdefs.h>                            // KMPXMediaDrmProtected
+
+
+#include "glxmlgenericobserver.h"
+#include "glxmlwrapper_p.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CGlxMLGenericObserver* CGlxMLGenericObserver::NewL(
+        MGlxMediaList& aMediaList,GlxMLWrapperPrivate* aMLWrapperPrivate)
+    {
+    TRACER("CGlxMLGenericObserver::NewLC()");
+    CGlxMLGenericObserver* self = 
+            new (ELeave) CGlxMLGenericObserver(aMediaList , aMLWrapperPrivate);
+    //CleanupStack::PushL(self); //To:Do remove the comment later
+    self->ConstructL();
+    //CleanupStack::Pop(self);
+    return self;
+    }
+// ---------------------------------------------------------------------------
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CGlxMLGenericObserver::CGlxMLGenericObserver(MGlxMediaList& aMediaList,
+        GlxMLWrapperPrivate* aMLWrapperPrivate  ) :
+    iMediaList(aMediaList), iMLWrapperPrivate(aMLWrapperPrivate)
+    {
+    TRACER("CGlxMLGenericObserver::CGlxMLGenericObserver");
+    }
+
+// ---------------------------------------------------------------------------
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------------------------
+//  
+void CGlxMLGenericObserver::ConstructL()
+    {
+    TRACER("CGlxMLGenericObserver::ConstructL");
+    iMediaList.AddMediaListObserverL(this);
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CGlxMLGenericObserver::~CGlxMLGenericObserver()
+    {
+    TRACER("CGlxMLGenericObserver::~CGlxMLGenericObserver");
+    iMediaList.RemoveMediaListObserver( this );
+    }
+
+// ----------------------------------------------------------------------------
+// HandleItemAddedL
+// ----------------------------------------------------------------------------
+// 
+void CGlxMLGenericObserver::HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, 
+     MGlxMediaList* aList )
+    {
+    TRACER("CGlxMLGenericObserver::HandleItemAddedL()");
+    GLX_DEBUG3("CGlxMLGenericObserver::HandleItemAddedL() aStartIndex(%d),"
+            " aEndIndex(%d)", aStartIndex, aEndIndex);
+
+    //Forward call to the MLWrapperPrivate
+    iMLWrapperPrivate->HandleItemAddedL( aStartIndex,aEndIndex,aList );
+    }
+
+// ----------------------------------------------------------------------------
+// HandleItemRemoved
+// ----------------------------------------------------------------------------
+//  
+void CGlxMLGenericObserver::HandleItemRemovedL( TInt aStartIndex, 
+        TInt aEndIndex, MGlxMediaList* aList )
+    {
+    TRACER("CGlxMLGenericObserver::HandleItemRemovedL()");
+	 //Forward call to the MLWrapperPrivate
+    iMLWrapperPrivate->HandleItemRemovedL( aStartIndex,aEndIndex,aList );
+    }
+
+// ----------------------------------------------------------------------------
+// HandleAttributesAvailableL
+// ----------------------------------------------------------------------------
+//  
+void CGlxMLGenericObserver::HandleAttributesAvailableL( TInt aItemIndex, 
+    const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList )
+    {
+    TRACER("CGlxMLGenericObserver::HandleAttributesAvailableL()");
+	 //Forward call to the MLWrapperPrivate
+    iMLWrapperPrivate->HandleAttributesAvailableL(aItemIndex,aAttributes,aList);
+    }
+    
+// ----------------------------------------------------------------------------
+// HandleFocusChangedL
+// ----------------------------------------------------------------------------
+//  
+void CGlxMLGenericObserver::HandleFocusChangedL( NGlxListDefs::
+    TFocusChangeType aType, TInt aNewIndex, TInt aOldIndex, 
+    MGlxMediaList* aList )
+    {
+    TRACER("CGlxMLGenericObserver::HandleFocusChangedL()");
+	//Forward call to the MLWrapperPrivate
+    iMLWrapperPrivate->HandleFocusChangedL(aType,aNewIndex,aOldIndex,aList );
+    }
+
+// ----------------------------------------------------------------------------
+// HandleItemSelected
+// ----------------------------------------------------------------------------
+//  
+void CGlxMLGenericObserver::HandleItemSelectedL(TInt /*aIndex*/, 
+    TBool /*aSelected*/, MGlxMediaList* /*aList*/ )
+    {
+    TRACER("CGlxMLGenericObserver::HandleItemSelectedL");
+	//Forward call to the MLWrapperPrivate
+   // iMLWrapperPrivate->HandleFocusChangedL((int)aIndex,(int)aSelected,aList );
+    }
+
+// ----------------------------------------------------------------------------
+// HandleMessageL
+// ----------------------------------------------------------------------------
+//    
+ void CGlxMLGenericObserver::HandleMessageL( const CMPXMessage& /*aMessage*/, 
+    MGlxMediaList* /*aList*/ )
+    {
+    TRACER("CGlxMLGenericObserver::HandleMessageL()");
+	//Forward call to the MLWrapperPrivate
+   // iMLWrapperPrivate->HandleFocusChangedL(aMessage,aList );
+    }
+  
+// ----------------------------------------------------------------------------
+// HandleError
+// ----------------------------------------------------------------------------
+//
+void CGlxMLGenericObserver::HandleError( TInt aError ) 
+    {
+    TRACER("CGlxMLGenericObserver::HandleError()");
+    //Forward call to the MLWrapperPrivate
+    iMLWrapperPrivate->HandleError(aError);
+    }
+
+// ----------------------------------------------------------------------------
+// HandleCommandCompleteL
+// ----------------------------------------------------------------------------
+//  
+void CGlxMLGenericObserver::HandleCommandCompleteL( CMPXCommand* /*aCommandResult*/, 
+    TInt /*aError*/, MGlxMediaList* /*aList*/ )
+    {
+    TRACER("CGlxMLGenericObserver::HandleCommandCompleteL()");
+	//Forward call to the MLWrapperPrivate
+    //todo remove comment iMLWrapperPrivate->HandleCommandCompleteL(aCommandResult,aError,aList);
+    }
+  
+// ----------------------------------------------------------------------------
+// HandleMediaL
+// ----------------------------------------------------------------------------
+//  
+void CGlxMLGenericObserver::HandleMediaL( TInt aListIndex, MGlxMediaList* aList )
+    {
+    TRACER("CGlxMLGenericObserver::HandleMediaL()");
+	//Forward call to the MLWrapperPrivate
+    iMLWrapperPrivate->HandleMediaL(aListIndex,aList);
+
+    }
+  
+// ----------------------------------------------------------------------------
+// HandleItemModifiedL
+// ----------------------------------------------------------------------------
+//  
+void CGlxMLGenericObserver::HandleItemModifiedL( const RArray<TInt>& aItemIndexes,
+    MGlxMediaList* aList)
+    {
+    TRACER("CGlxMLGenericObserver::HandleItemModifiedL()");
+	//Forward call to the MLWrapperPrivate
+    iMLWrapperPrivate->HandleItemModifiedL(aItemIndexes, aList);
+    }
+