contentctrl_plat/adapter_customization_api/tsrc/DummyAdapter/inc/nsmldummydatastore.h
branchRCL_3
changeset 52 4f0867e42d62
parent 14 b922b9936679
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contentctrl_plat/adapter_customization_api/tsrc/DummyAdapter/inc/nsmldummydatastore.h	Wed Sep 01 12:30:02 2010 +0100
@@ -0,0 +1,114 @@
+/*
+* 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:  DS Dummy datastore
+*
+*/
+
+#ifndef CNSMLDUMMYDATASTORE_H
+#define CNSMLDUMMYDATASTORE_H
+
+//  EXTERNAL INCLUDES
+#include <NSmlContactsDataStore.h>
+
+// Device Info resource filenames
+_LIT( KNSmlDummyContactsStoreFormatRsc_1_1_2, "z:NSmlDummyDataStoreFormat_1_1_2.rsc" );
+_LIT( KNSmlDummyContactsStoreFormatRsc_1_2, "z:NSmlDummyDataStoreFormat_1_2.rsc" );
+
+//  CLASS DEFINITION
+/**
+ * Datastore class for Dummy adapters
+ * @lib nsmldummydataprovider.lib
+ * @since 3.23
+ */
+class CNSmlDummyDataStore : public CNSmlContactsDataStore
+    {
+    private:    // Friend class definitions
+        friend class CNSmlDummyDataStore_Test;
+        friend class CNSmlDummyDataStoreWaiter;
+        
+    public:     // Constructors and destructor
+
+        static CNSmlDummyDataStore* NewL();
+        static CNSmlDummyDataStore* NewLC();
+        ~CNSmlDummyDataStore();
+
+    protected:    // Constructors
+
+        CNSmlDummyDataStore();
+        void ConstructL();
+
+    protected:  // From CNSmlContactsDataStore
+
+        void DoOpenL( const TDesC& aStoreName, MSmlSyncRelationship& aContext,
+            TRequestStatus& aStatus );
+
+        void DoBeginBatchL();
+
+        void DoOpenItemL( TSmlDbItemUid aUid, TBool& aFieldChange,
+            TInt& aSize, TSmlDbItemUid& aParent, TDes8& aMimeType,
+            TDes8& aMimeVer, TRequestStatus& aStatus );
+
+        void DoCommitItemL( TRequestStatus& aStatus );
+
+        void DoDeleteItemL( TSmlDbItemUid aUid, TRequestStatus& aStatus );
+
+        TBool DoHasSyncHistory() const;
+
+        const MSmlDataItemUidSet& DoModifiedItems() const;
+
+        void DoResetChangeInfoL( TRequestStatus& aStatus );
+
+        void DoCommitChangeInfoL( TRequestStatus& aStatus,
+            const MSmlDataItemUidSet& aItems );
+
+        void DoCommitChangeInfoL( TRequestStatus& aStatus );
+
+        void LdoFetchItemL( TSmlDbItemUid& aUid, CBufBase& aItem );
+
+        void LdoAddItemL( const TDesC8& aItem, TInt aSize );
+
+        void LdoAddItemsL( CBufBase*& aItems,TInt aSize );
+
+        TInt ExecuteAddL();
+
+        void ExecuteDeleteL();
+
+        void ExecuteUpdateL();
+
+        void SingleContactOperationCompleteL( MVPbkStoreContact* aContact );
+
+        void StepComplete( MVPbkContactOperationBase& aOperation,
+            TInt aStepSize );
+
+        void OperationCompleteL();
+
+        void DoDeleteAllContactsL();
+
+        const TDesC& GetStoreFormatResourceFileL() const;
+
+        MContactsModsFetcher* CreateModsFetcherL();
+
+    protected:  // From MVPbkContactCopyObserver
+
+        void ContactsSaved( MVPbkContactOperationBase& aOperation,
+            MVPbkContactLinkArray* aResults );
+
+        void ContactsSavingFailed( MVPbkContactOperationBase& aOperation,
+            TInt aError );
+
+    };
+
+#endif      //  CNSMLDUMMYDATASTORE_H
+
+// End of file