omads/omadsextensions/adapters/mediads/inc/mediadsstore.h
branchRCL_3
changeset 52 4f0867e42d62
parent 51 8e7494275d3a
child 56 3e6957da2ff8
--- a/omads/omadsextensions/adapters/mediads/inc/mediadsstore.h	Tue Aug 31 15:05:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +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:  Part of SyncML Data Synchronization Plug In Adapter
-*
-*/
-
-
-
-#ifndef __MEDIADATASTORE_H__
-#define __MEDIADATASTORE_H__
-
-// INCLUDES
-#include <smldataprovider.h>
-#include <mpxcollectionobserver.h>
-
-#include "mediadsproviderdefs.h" 
-#include "changefinder.h"
-#include "mediamanager.h"
-#include "cmdemanager.h"
-
-// FORWARD DECLARATIONS
-class CNSmlDataItemUidSet;
-class MMPXHarvesterUtility;
-class MMPXCollectionUtility;  
-class CMPXCollectionMediator;
-
-
-/**
-* @brief This class is derived from ECom Data Store plugin-interface (CSmlDataStore).
-* It performs the actual synchronization commands, which are received from
-* the DS engine.
-*/
-class CMediaDsDataStore : public CSmlDataStore,
-                          public MMediaManagerObserver,
-                          public MMdEManagerObserver
-    {
-public:  
-    
-    /**
-    * Constructor
-	*
-	* @return CMediaDsDataStore* instance.
-    */
-    static CMediaDsDataStore* NewLC( RFs& aFs );
-    
-	/**
-    * Destructor
-    */
-    virtual ~CMediaDsDataStore();
-
-protected:
-   
-   	// Virtual functionality from CSmlDataStore, for comments see the CSmlDataStore header file
-	virtual void DoOpenL(const TDesC& aStoreName, MSmlSyncRelationship& aContext, TRequestStatus& aStatus);
-	virtual void DoCancelRequest();
-	virtual const TDesC& DoStoreName() const;
-	virtual void DoBeginTransactionL();
-	virtual void DoCommitTransactionL(TRequestStatus& aStatus);
-	virtual void DoRevertTransaction(TRequestStatus& aStatus);
-	virtual void DoBeginBatchL();
-	virtual void DoCommitBatchL(RArray<TInt>& aResultArray, TRequestStatus& aStatus);
-	virtual void DoCancelBatch();
-	virtual void DoSetRemoteStoreFormatL(const CSmlDataStoreFormat& aServerDataStoreFormat);
-	virtual void DoSetRemoteMaxObjectSize(TInt aServerMaxObjectSize);
-	virtual TInt DoMaxObjectSize() const;
-	virtual void DoOpenItemL(TSmlDbItemUid aUid, TBool& aFieldChange, TInt& aSize,
-	    TSmlDbItemUid& aParent, TDes8& aMimeType, TDes8& aMimeVer, TRequestStatus& aStatus);
-	virtual void DoCreateItemL(TSmlDbItemUid& aUid, TInt aSize, TSmlDbItemUid aParent,
-	    const TDesC8& aMimeType, const TDesC8& aMimeVer, TRequestStatus& aStatus);
-	virtual void DoReplaceItemL(TSmlDbItemUid aUid, TInt aSize, TSmlDbItemUid aParent,
-	    TBool aFieldChange, TRequestStatus& aStatus);
-	virtual void DoReadItemL(TDes8& aBuffer);
-	virtual void DoWriteItemL(const TDesC8& aData);
-	virtual void DoCommitItemL(TRequestStatus& aStatus);
-	virtual void DoCloseItem();
-	virtual void DoMoveItemL(TSmlDbItemUid aUid, TSmlDbItemUid aNewParent, TRequestStatus& aStatus);
-	virtual void DoDeleteItemL(TSmlDbItemUid aUid, TRequestStatus& aStatus);
-	virtual void DoSoftDeleteItemL(TSmlDbItemUid aUid, TRequestStatus& aStatus);
-	virtual void DoDeleteAllItemsL(TRequestStatus& aStatus);
-	virtual TBool DoHasSyncHistory() const;
-	virtual const MSmlDataItemUidSet& DoAddedItems() const;
-	virtual const MSmlDataItemUidSet& DoDeletedItems() const;
-	virtual const MSmlDataItemUidSet& DoSoftDeletedItems() const;
-	virtual const MSmlDataItemUidSet& DoModifiedItems() const;
-	virtual const MSmlDataItemUidSet& DoMovedItems() const;
-	virtual void DoResetChangeInfoL(TRequestStatus& aStatus);
-	virtual void DoCommitChangeInfoL(TRequestStatus& aStatus, const MSmlDataItemUidSet& aItems);
-	virtual void DoCommitChangeInfoL(TRequestStatus& aStatus);
-
-protected: // from MMPXCollectionObserver
-    void HandleCollectionMessage(CMPXMessage* aMsg, TInt /*aErr*/) ;
-    void HandleOpenL(const CMPXMedia& aEntries,
-          TInt aIndex,TBool aComplete,TInt aError);
-    void HandleOpenL(const CMPXCollectionPlaylist& aPlaylist,TInt aError);
-    void HandleCommandComplete(CMPXCommand* /*aCommandResult*/, 
-                                           TInt /*aError*/);
-    void HandleCollectionMediaL(const CMPXMedia& aMedia, 
-                                            TInt aError);
-    // from MMediaManagerObserver
-    void RegisterAllPlayListsCompleted( TInt aError );
-    void RegisterAllSongsCompleted( TInt aError );
-    
-protected: // from MMdEManagerObserver
-    void AlbumsReaded( TInt aError );
-    void AlbumReplaced( TInt aError );
-
-private: 
-
-	/**
-    * C++ Constructor.
-    */
-    CMediaDsDataStore( RFs& aFs );
-    
-	/**
-    * 2nd-phase Constructor.
-    *
-    * @param aMsvSession	IN: a session handle to message store
-    */    
-    void ConstructL();
-	
-	/**
-    * Registers snapshot to ChangeFinder.
-    */
-	void RegisterSnapshotL();
-
-	void RegisterFoldersL( CSnapshotArray& aItemArray );
-	
-	void FinalizeOpenStore();
-	
-	inline TInt MapSyncIdToAlbumId( TSmlDbItemUid aSyncId );
-	inline TSmlDbItemUid MapAlbumIdToSyncId( TInt aAlbumId );
-	
-private: // Data members
-
-	
-    enum TState
-        {
-        EClosed = 0,
-        EOpening,
-        EOpenAndWaiting,
-        EReplace,
-        ECreatePlaylist
-        };
-    
-    /**
-    * The state of the plugin.
-    */
-    TState iCurrentState;   
-    
-    /**
-	* A flag indicating the existence of synchronization history.
-	*/
-    TBool iHasHistory;
-    
-    /**
-	* Key that is used in sorting snapshot.
-	*/
-    const TKeyArrayFix iKey;
-
-    /**
-	* Change finder, used to determine db modifications.
-	*/
-    CChangeFinder* iChangeFinder;
-    
-    /**
-	* The location for temporary data
-	*/
-    CBufFlat* iDataBuffer;
-    
-    /**
-	* Current read position at the data chunk from MMS engine
-	*/      
-    TInt iReadPosition;
-    
-    /**
-	* Indicates wheter this was only status update
-	*/      
-    TInt iWrittenDataLength;
-
-    /**
-	* Stores the currently active message id.
-	*/
-    TSmlDbItemUid iCurrentId;
-    
-    /**
-	* Pointer to the variable, receiving the created Uid.
-	*/
-	TSmlDbItemUid* iCreatedUid;  
-
-    /**
-	* Stores the parent id of currently active message.
-	*/
-	TSmlDbItemUid iParentId;
-
-    /**
-	* Used to get asynchronous return values.
-	*/
-    TRequestStatus*  iCallerStatus;
-    
-    /**
-	* Used to store new items.
-	*/
-	CNSmlDataItemUidSet* iNewItems;
-
-    /**
-	* Used to store deleted items.
-	*/
-    CNSmlDataItemUidSet* iDeletedItems;
-
-    /**
-	* Used to store updated items.
-	*/
-    CNSmlDataItemUidSet* iUpdatedItems;
-
-    /**
-	* Used to store moved items.
-	*/
-    CNSmlDataItemUidSet* iMovedItems;
-
-    /**
-	* Used to store soft-deleted items (not supported).
-	*/
-    CNSmlDataItemUidSet* iSoftDeletedItems;
-    
-    /**
-     * Used to manage playlists and songs.
-     */
-    CMediaManager*  iMediaManager;
-    TBool           iMediaManagerReady;
-    
-    /**
-     * Used to manage photo albums.
-     */
-    CMdEManager*    iMdEManager;
-    TBool           iMdEManagerReady;
-    
-    TInt            iError;
-    
-    CMD5* iHasher;
-    
-    RFs&    iFs;
-    
-    CSnapshotArray* iSnapshot;
-    TSnapshotItem   iItemInReplacement;
-    };
-
-#endif // __MEDIADATASTORE_H__