--- 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__