sl@0: // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #include "D32Assert.h" sl@0: sl@0: // Class CDbStoreDatabase sl@0: inline CStreamStore& CDbStoreDatabase::Store() sl@0: { sl@0: return *iStore; sl@0: } sl@0: sl@0: inline MDbStreamFilter* CDbStoreDatabase::Filter() sl@0: { sl@0: return iFilter; sl@0: } sl@0: sl@0: // Class TDbStoreIndexStats sl@0: inline TDbStoreIndexStats::TDbStoreIndexStats() : sl@0: iRefresh(EInvalid), sl@0: iFlags(0) sl@0: { sl@0: } sl@0: sl@0: inline TBool TDbStoreIndexStats::IsValid() const sl@0: { sl@0: return iRefresh>=ERefresh; sl@0: } sl@0: sl@0: // Class CDbStoreIndexDef sl@0: inline void CDbStoreIndexDef::SetTokenId(TStreamId anId) sl@0: { sl@0: iTokenId=anId; sl@0: } sl@0: sl@0: inline TStreamId CDbStoreIndexDef::TokenId() const sl@0: { sl@0: return iTokenId; sl@0: } sl@0: sl@0: // Class TRecordSize sl@0: inline TInt TRecordSize::Clustering() const sl@0: { sl@0: return iClustering; sl@0: } sl@0: sl@0: inline TInt TRecordSize::InlineLimit() const sl@0: { sl@0: return iInlineLimit; sl@0: } sl@0: sl@0: inline TInt TRecordSize::FixedFieldSize(TDbColType aType) sl@0: { sl@0: __ASSERT(aType>EDbColBit&&aType>4; sl@0: } sl@0: sl@0: inline TInt RecordIndex(TDbRecordId aRecordId) sl@0: { sl@0: return aRecordId.Value()&0xfu; sl@0: } sl@0: sl@0: inline TDbRecordId RecordId(TClusterId aId,TInt aIndex) sl@0: { sl@0: __ASSERT(TUint(aIndex)<16u); sl@0: return (aId<<4)+aIndex; sl@0: } sl@0: sl@0: inline TClusterId ClusterId(TStreamId aStreamId) sl@0: { sl@0: return aStreamId.Value(); sl@0: } sl@0: sl@0: // Class RClusterMap sl@0: inline RClusterMap::RClusterMap() sl@0: { sl@0: __ASSERT(iMap==0 && iAlloc==0); sl@0: } sl@0: sl@0: inline void RClusterMap::Close() sl@0: { sl@0: User::Free(iMap); sl@0: } sl@0: sl@0: inline TClusterId RClusterMap::LastBound() const sl@0: { sl@0: return iLastBound; sl@0: } sl@0: sl@0: inline void RClusterMap::Complete(TClusterId aLastCluster) sl@0: { sl@0: if (aLastCluster==iLastBound) sl@0: { sl@0: iComplete=ETrue; sl@0: } sl@0: } sl@0: sl@0: inline TBool RClusterMap::IsComplete() const sl@0: { sl@0: return iComplete; sl@0: } sl@0: sl@0: inline void RClusterMap::BindL(TClusterId aPrevious,TClusterId aCluster) sl@0: { sl@0: if (aPrevious==iLastBound) sl@0: { sl@0: AddL(aCluster); sl@0: } sl@0: } sl@0: sl@0: // Class TClusterLinkCache sl@0: inline void TClusterLinkCache::Invalidate() sl@0: { sl@0: iEnd=NULL; sl@0: } sl@0: sl@0: void TClusterLinkCache::Reset(TClusterId aBaseId) sl@0: { sl@0: *(iEnd=iMap)=aBaseId; sl@0: } sl@0: sl@0: inline void TClusterLinkCache::Bind(TClusterId aPrevious,TClusterId aCluster,RClusterMap& aMap) sl@0: { sl@0: if (iEnd!=NULL && *iEnd==aPrevious) sl@0: { sl@0: Add(aCluster,aMap); sl@0: } sl@0: } sl@0: sl@0: // Class CCluster sl@0: inline CCluster::CCluster(CDbStoreDatabase& aDatabase) : sl@0: iDatabase(aDatabase) sl@0: { sl@0: } sl@0: sl@0: inline TBool CCluster::IsFull() const sl@0: { sl@0: return iMap[KMaxClustering]-iMap[0]>=KClusterLimit; sl@0: } sl@0: sl@0: inline TClusterId CCluster::Id() const sl@0: { sl@0: return iCluster; sl@0: } sl@0: sl@0: inline const TClusterDes& CCluster::Des() const sl@0: { sl@0: return iDes; sl@0: } sl@0: sl@0: // Class CClusterCache sl@0: inline CDbStoreDatabase& CClusterCache::Database() sl@0: { sl@0: return iDatabase; sl@0: } sl@0: sl@0: inline CStreamStore& CClusterCache::Store() sl@0: { sl@0: return Database().Store(); sl@0: } sl@0: sl@0: // Class CDbStoreRecords sl@0: inline TClusterId CDbStoreRecords::Head() const sl@0: { sl@0: return iToken.iHead; sl@0: } sl@0: sl@0: inline TInt CDbStoreRecords::Count() const sl@0: { sl@0: return iToken.iCount; sl@0: } sl@0: sl@0: // Class CDbStoreTable sl@0: inline const CDbStoreDef& CDbStoreTable::Def() const sl@0: { sl@0: return STATIC_CAST(const CDbStoreDef&,CDbTable::Def()); sl@0: } sl@0: sl@0: inline CDbStoreDatabase& CDbStoreTable::Database() sl@0: { sl@0: return STATIC_CAST(CDbStoreDatabase&,CDbTable::Database()); sl@0: } sl@0: sl@0: inline CDbStoreRecords& CDbStoreTable::StoreRecordsL() sl@0: { sl@0: return STATIC_CAST(CDbStoreRecords&,CDbTable::RecordsL()); sl@0: } sl@0: sl@0: sl@0: // Class CDbStoreCompression sl@0: inline void CDbStoreCompression::Inflate() sl@0: { sl@0: __ASSERT(iState==EDecoding); sl@0: iState=EInflating; sl@0: } sl@0: