omads/omadsextensions/adapters/contactsgroup/inc/contactsgrpdatastore.h
branchRCL_3
changeset 25 4f0867e42d62
parent 24 8e7494275d3a
child 26 3e6957da2ff8
--- a/omads/omadsextensions/adapters/contactsgroup/inc/contactsgrpdatastore.h	Tue Aug 31 15:05:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
-* Copyright (c) 2009-2010 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 ContactGroup DS adapter
-*
-*/
-
-
-#ifndef __CONTACTSGRPDATASTORE_H__
-#define __CONTACTSGRPDATASTORE_H__
-
-#include <SmlDataProvider.h>
-#include <f32file.h>
-#include <cntdef.h>
-
-class CNSmlDataItemUidSet;
-class CContactsGrpConverter;
-class CChangeFinder;
-class TSnapshotItem;
-class CContactDatabase;
-
-class CContactsGrpDataStore : public CSmlDataStore
-	{
-private:
-
-	CContactsGrpDataStore();
-	~CContactsGrpDataStore();	
-	
-public:
-
-	static CContactsGrpDataStore* NewL();
-	static CContactsGrpDataStore* NewLC();
-	void ConstructL();	
-	
-	// Transactions (optional)
-	void DoBeginTransactionL();
-	void DoCommitTransactionL(TRequestStatus& aStatus);
-	void DoRevertTransaction(TRequestStatus& aStatus);
-
-	// Batching (optional)
-	void DoBeginBatchL();
-	void DoCommitBatchL(RArray<TInt>& aResultArray, TRequestStatus& aStatus);
-	void DoCancelBatch();
-
-	// Opens data store asynchronously	
-	void DoOpenL(const TDesC& aStoreName, MSmlSyncRelationship& aContext, TRequestStatus& aStatus);
-	// Cancels current asynchronous request
-	void DoCancelRequest();
-	// Returns the name of open database, empty if OpenL hasn't been called
-	const TDesC& DoStoreName() const;
-	// Sets remote server data format
-	void DoSetRemoteStoreFormatL(const CSmlDataStoreFormat& aServerDataStoreFormat);
-	// Sets the remote server maximum object size
-	void DoSetRemoteMaxObjectSize(TInt aServerMaxObjectSize);
-	// Returns maximum object size, reported by remote server
-	TInt DoMaxObjectSize() const;
-
-	// Opens item for reading
-	void DoOpenItemL(TSmlDbItemUid aUid, TBool& aFieldChange, TInt& aSize,
-	    TSmlDbItemUid& aParent, TDes8& aMimeType, TDes8& aMimeVer, TRequestStatus& aStatus);
-	// Initializes new item to data store
-	void DoCreateItemL(TSmlDbItemUid& aUid, TInt aSize, TSmlDbItemUid aParent,
-	    const TDesC8& aMimeType, const TDesC8& aMimeVer, TRequestStatus& aStatus);
-	// Initializes replace of item in data store
-	void DoReplaceItemL(TSmlDbItemUid aUid, TInt aSize, TSmlDbItemUid aParent,
-	    TBool aFieldChange, TRequestStatus& aStatus);
-	// Reads data from opened item
-	void DoReadItemL(TDes8& aBuffer);
-	// Writes data to created or replaced item
-	void DoWriteItemL(const TDesC8& aData);
-	// Commits the created or replaced item to database
-	void DoCommitItemL(TRequestStatus& aStatus);
-	// Closes the opened item
-	void DoCloseItem();
-	// Moves item in the database
-	void DoMoveItemL(TSmlDbItemUid aUid, TSmlDbItemUid aNewParent, TRequestStatus& aStatus);
-	// Deletes item from the database
-	void DoDeleteItemL(TSmlDbItemUid aUid, TRequestStatus& aStatus);
-	// Soft deletes item (if supported by plugin adapter), can be equal to DoDeleteItemL
-	void DoSoftDeleteItemL(TSmlDbItemUid aUid, TRequestStatus& aStatus);
-	// Deletes all items from the database
-	void DoDeleteAllItemsL(TRequestStatus& aStatus);
-
-	// Returns, whether data store has history info. EFalse means slow sync
-	TBool DoHasSyncHistory() const;
-	// Returns ids of items, which are added after previous synchronization
-	const MSmlDataItemUidSet& DoAddedItems() const;
-	// Returns ids of items, which are deleted after previous synchronization
-	const MSmlDataItemUidSet& DoDeletedItems() const;
-	// Returns ids of items, which are soft-deleted after previous synchronization
-	const MSmlDataItemUidSet& DoSoftDeletedItems() const;
-	// Returns ids of items, which are modified after previous synchronization
-	const MSmlDataItemUidSet& DoModifiedItems() const;
-	// Returns ids of items, which are moved after previous synchronization
-	const MSmlDataItemUidSet& DoMovedItems() const;
-	// Resets change information of items (makes all items new from DS point of view)
-	void DoResetChangeInfoL(TRequestStatus& aStatus);
-	// Commits the changes, that are sent into the remote server
-	void DoCommitChangeInfoL(TRequestStatus& aStatus, const MSmlDataItemUidSet& aItems);
-	// Commits the changes, that are sent into the remote server
-	void DoCommitChangeInfoL(TRequestStatus& aStatus);
-	
-
-private:
-    TContactItemId CreateNewGroupL( const TDesC& aLabel,
-            const CContactIdArray& aContactArray/*, const TDesC& aRingtone*/ );
-    
-    void ReplaceGroupL( TContactItemId aGroupId, const TDesC& aLabel,
-            const CContactIdArray& aContactArray/*, const TDesC& aRingtone*/ );
-    
-    // Create and save snapshot from items on database
-    void RegisterSnapshotL();
-    
-    void AssignString( TDes8& aDestination, const TDesC8& aSource );
-    
-    // Updates contacts last modified time.
-    void UpdateContactLastMod( TContactItemId aContactId, const TTime& aLastModified );
-    
-    // Checks does group name already exists.
-    TBool GroupNameExistsL( const TDesC& aLabel );
-    
-    // Data store states
-    enum TState
-        {
-        EClosed = 0,
-        EOpenAndWaiting,
-        EContactGrpOpening,
-        EContactGrpCreating,
-        EContactGrpUpdating
-        }; 	
-        
-    TState iCurrentState;    
-
-    RFs                 iFs;
-	
-	CContactDatabase*   iContactsDb;
-	
-	TRequestStatus*     iCallerStatus;
-
-    /**
-	* Key that is used in sorting snapshot.
-	*/
-    const TKeyArrayFix  iKey;
-    
-    /**
-	* Change finder, used to determine db modifications.
-	*/
-    CChangeFinder*      iChangeFinder;
-
-    /**
-	* VCard item converter
-	*/
-    CContactsGrpConverter* iConverter;
-	
-    TSmlDbItemUid* iCurrentItem;
-    TSmlDbItemUid  iItemToBeReplaced;
-	
-	CBufFlat*  iDataBuffer;
-	TInt       iWriterPosition;
-	TInt       iReaderPosition;
-	
-	TBool      iHasHistory;
-	
-	CNSmlDataItemUidSet* iNewItems;
-    CNSmlDataItemUidSet* iDeletedItems;
-    CNSmlDataItemUidSet* iUpdatedItems;
-    CNSmlDataItemUidSet* iEmptyList;
-	};
-
-#endif // __CONTACTSGRPDATASTORE_H__
\ No newline at end of file