diff -r 89c329efa980 -r e48454f237ca hgcacheproxymodel/inc/hgbuffermanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hgcacheproxymodel/inc/hgbuffermanager.h Mon May 03 13:32:54 2010 +0300 @@ -0,0 +1,60 @@ +/* +* 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: +* +* Version : %version: 1 % +*/ +#ifndef HGBUFFERMANAGER_H_ +#define HGBUFFERMANAGER_H_ + +class HgBufferManagerObserver; + +class HgBufferManager +{ +public: + + HgBufferManager( + HgBufferManagerObserver* aObserver, + int aBufferSize, + int aBufferTreshold, + int aInitialPosition, + int aTotalCount ); + ~HgBufferManager(); + + void setPosition( int aIndex ); + void resetBuffer( int aPosition, int aTotalCount); + void itemCountChanged( int aIndex, bool aRemoved, int aNewTotalCount ); + void resizeCache(int newSize, int newTreshold); + +private: + void calculate(); + +private: + HgBufferManagerObserver* mObserver; + + int mBufferSize; + int mBufferTreshold; + int mBufferPosition; + int mDiff; + int mTotalCount; + + bool mResetOrdered; + + int mRequestStart; + int mRequestCount; + int mReleaseStart; + int mReleaseCount; +}; + +#endif // HGBUFFERMANAGER_H_