omads/omadsextensions/adapters/mediads/inc/cmdemanager.h
branchRCL_3
changeset 52 4f0867e42d62
parent 51 8e7494275d3a
child 56 3e6957da2ff8
--- a/omads/omadsextensions/adapters/mediads/inc/cmdemanager.h	Tue Aug 31 15:05:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* 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:  CMdEManager declaration
-*
-*/
-
-
-#ifndef CMDEMANAGER_H
-#define CMDEMANAGER_H
-
-#include <e32base.h>
-#include <mdesession.h>
-#include <mdequery.h>
-
-#include "playlistitem.h"
-
-class MMdEManagerObserver
-    {
-public:
-    virtual void AlbumsReaded( TInt aError ) = 0;
-    virtual void AlbumReplaced( TInt aError ) = 0;
-    };
-
-class CMdEManager : public CBase,
-                        MMdESessionObserver,
-                        MMdEQueryObserver
-    {
-public:
-    // Cancel and destroy
-    ~CMdEManager();
-
-    // Two-phased constructor.
-    static CMdEManager* NewL( MMdEManagerObserver& aObserver );
-
-public:
-    
-    /**
-	 * Start enumerating albums. Calls MMdEManagerObserver::AlbumsReaded when ready.
-	 * This needs to be called before any other operations.
-	 */ 
-    void GetAlbumsL();
-    
-
-    RPointerArray<CPlaylistItem>& AlbumsArray(){ return iAlbums; };
-    const CPlaylistItem& AlbumL( TInt aAlbumId ) const;
-    
-    void CreateAlbumL( CPlaylistItem& aAlbum );
-    void ReplaceAlbumL( TInt aAlbumId, CPlaylistItem& aAlbum );
-    void DeleteAlbumL( TInt aAlbumId );
-    
-	/**
-	 * Cancels any outstanding request if any.
-	 */
-    void Cancel();
-    
-private:
-    void StartProcessingAlbumsL();
-    void ProcessNextAlbumL();
-    void FindItemsOnAlbumL( TItemId aAlbumObjectId );
-    
-private: // from MMdESessionObserver
-    /**
-     * Called to notify the observer that opening the session has been 
-     * completed and, if the opening succeeded, the session is ready for use.
-     *
-     * @param aSession session
-     * @param aError   <code>KErrNone</code>, if opening the session succeeded;
-     *                 or one of the system-wide error codes, if opening the 
-     *                 session failed
-     */
-    void HandleSessionOpened(CMdESession& aSession, TInt aError);
-
-    /**
-     * Called to notify the observer about errors, which are not a direct 
-     * consequence of the operations initiated by the client but caused by 
-     * some external source (e.g., other clients). The error cannot be 
-     * recovered and all on-going operations initiated by the client have been 
-     * aborted. Any attempts to continue using the session will cause a panic. 
-     * The client should close the session immediately and try to open a new 
-     * session, if it needs to continue using the metadata engine.
-     *
-     * @param aSession session
-     * @param aError one of the system-wide error codes
-     */
-    void HandleSessionError(CMdESession& aSession, TInt aError);
-
-private: // from MMdEQueryObserver
-    /**
-     * Called to notify the observer that new results have been received 
-     * in the query.
-     *
-     * @param aQuery              Query instance that received new results.
-     * @param aFirstNewItemIndex  Index of the first new item that was added
-     *                            to the result item array.
-     * @param aNewItemCount       Number of items added to the result item 
-     *                            array.
-     */
-    void HandleQueryNewResults(CMdEQuery& aQuery,
-                                       TInt aFirstNewItemIndex,
-                                       TInt aNewItemCount);
-
-
-            
-    /**
-     * Called to notify the observer that the query has been completed,
-     * or that an error has occured.
-     *
-     * @param aQuery  Query instance.
-     * @param aError  <code>KErrNone</code>, if the query was completed
-     *                successfully. Otherwise one of the system-wide error 
-     *                codes.
-     */
-    void HandleQueryCompleted(CMdEQuery& aQuery, TInt aError);
-private:
-    
-    CMdEManager( MMdEManagerObserver& aObserver );
-    
-    void ConstructL();
-    
-    void HandleAlbumQueryCompletedL( CMdEObjectQuery& aQuery );
-    void HandleObjectQueryCompletedL( CMdEObjectQuery& aQuery );
-    void HandleRelationQueryCompletedL( CMdERelationQuery& aQuery );
-    
-private:
-    enum TCMdEManagerState
-        {
-        EUninitialized,             // Uninitialized / initialization is ongoing
-        EWaitingToEnumerateAlbums,  // Initializing and starting collecting albums info
-        EEnumeratingAlbums,         // Album enumeration is ongoing
-        EReplacingAlbum,            // Replacing album (searching removed relation id:s)
-        EIdle                       // Ready for next operation
-        };
-
-private:
-    MMdEManagerObserver& iObserver;
-    TCMdEManagerState   iState;
-    
-    CMdESession*        iMde;
-    CMdEObjectQuery*    iAlbumQuery;
-    CMdEObjectQuery*    iObjectQuery;
-    CMdERelationQuery*  iContainmentQuery;
-    
-    RPointerArray<CPlaylistItem> iAlbumsInProgress;
-    RPointerArray<CPlaylistItem> iAlbums;
-    
-    };
-
-#endif // CMDEMANAGER_H