diff -r 5aadd1120515 -r b57382753122 notepad/notepad1/SyncMLAdapter/inc/NSmlNotepadModsFetcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/notepad/notepad1/SyncMLAdapter/inc/NSmlNotepadModsFetcher.h Wed Nov 03 17:12:22 2010 +0530 @@ -0,0 +1,131 @@ +/* +* Copyright (c) 2005 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 notepad datastore. +* +*/ + + +#ifndef __NSMLNOTEPADMODSFETCHER_H__ +#define __NSMLNOTEPADMODSFETCHER_H__ + + +//Forward declaraations +class CNSmlChangeFinder; +class CNSmlNotepadDatabase; +class TNSmlSnapshotItem; + +// CONSTANTS +const TInt KNSmlSnapshotSize = 56; +const TInt KNSmlSnapshotSmallSize = 8; +const TInt KNSmlSnapshotItemCount = 20; + +// CLASS DECLARATION + +// ------------------------------------------------------------------------------------------------ +// CNSmlnotepadModsFetcher +// +// @lib nsmlnotepaddataprovider.lib +// ------------------------------------------------------------------------------------------------ +class CNSmlNotepadModsFetcher : public CActive + { + public: + /** + * two phase constructor + * @param aSnapshotRegistered Is snapshot registered. + * @param aCntDb Pointer to opened database. + * @param aKey Key array. + * @param aChangeFinder Pointer to Changefinder. + */ + static CNSmlNotepadModsFetcher* NewL(TBool& aSnapshotRegistered, + CNSmlNotepadDatabase* aNpdDb, + TKeyArrayFix& aKey, + CNSmlChangeFinder& aChangeFinder ); + /** + * two phase constructor + * @param aSnapshotRegistered Is snapshot registered. + * @param aCntDb Pointer to opened database. + * @param aKey Key array. + * @param aChangeFinder Pointer to Changefinder. + */ + static CNSmlNotepadModsFetcher* NewLC(TBool& aSnapshotRegistered, + CNSmlNotepadDatabase* aNpdDb, + TKeyArrayFix& aKey, + CNSmlChangeFinder& aChangeFinder ); + /** + * C++ constructor. + * @param aSnapshotRegistered Is snapshot registered. + * @param aCntDb Pointer to opened database. + * @param aKey Key array. + * @param aChangeFinder Pointer to Changefinder. + */ + + /** + * ~CCNSmlNotepadModsFetcher() desctructor. + */ + virtual ~CNSmlNotepadModsFetcher(); + + private: + CNSmlNotepadModsFetcher( TBool& aSnapshotRegistered, + CNSmlNotepadDatabase* aNpdDb, + TKeyArrayFix& aKey, + CNSmlChangeFinder& aChangeFinder ); + /** + * Second phase constructor. + */ + void ConstructL(); + + + public: + /** + * Reads all modifications from clients notepad databse. + * @param aStatus On completion of the operation, contains the result code. + */ + TInt FetchModificationsL( TRequestStatus& aStatus ); + + /** + * Reset the flag to avoid duplication of snapshotitem. + */ + void Reset(); + + private: + /** + * Fetches next chunk of data (client notepad data changes). + */ + void FetchNextChunkL(); + + /** + * From CActive. Called when asynchronous operation completes. + */ + void RunL(); + + /** + * From CActive. Cancels operation. + */ + void DoCancel(); + + private: // data + TRequestStatus* iCallerStatus; + TBool iBeginning; + TBool iEnd; + CArrayFixSeg* iSnapshot; + TBool& iSnapshotRegistered; + CNSmlNotepadDatabase* iNpdDb; + TKeyArrayFix& iKey; + CNSmlChangeFinder& iChangeFinder; + TInt iCurrentSnapshotCounter; + }; + +#endif // __NSMLNOTEPADMODSFETCHER_H__ + +// End of File