diff -r 000000000000 -r a41df078684a userlibandfileserver/fileserver/sfat32/inc/fat_table32.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/userlibandfileserver/fileserver/sfat32/inc/fat_table32.inl Mon Oct 19 15:55:17 2009 +0100 @@ -0,0 +1,188 @@ +// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "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: +// f32\sfat32\inc\fat_table32.inl +// +// + +/** + @file +*/ + +#ifndef FAT_TABLE_32_INL +#define FAT_TABLE_32_INL + + +//--------------------------------------------------------------------------------------------------------------------------------------- + +/** @return interface to the FAT drive */ +TFatDriveInterface& CAtaFatTable::DriveInterface() const + { + return iDriveInteface; + } + +/** @return pointer to the owning mount. */ +CFatMountCB* CAtaFatTable::OwnerMount() const + { + return iOwner; + } + + +/** @return state of this object. */ +CAtaFatTable::TState CAtaFatTable::State() const + { + return iState; + } + +/** sets the state of this object. */ +void CAtaFatTable::SetState(CAtaFatTable::TState aState) + { + //__PRINT3(_L("#=-= CAtaFatTable::SetState() drv:%d, %d->%d\n"), iOwner->DriveNumber(),iState,aState); + iState = aState; + } + +CAtaFatTable::TFatScanParam::TFatScanParam() + :iEntriesScanned(0), iFirstFree(0), iCurrFreeEntries(0), iCurrOccupiedEntries(0) + { + } + +//--------------------------------------------------------------------------------------------------------------------------------------- + +/** @return object internal state */ +CFatHelperThreadBase::TState CFatHelperThreadBase::State() const + { + return iState; + } + +/** sustend the worker thread */ +void CFatHelperThreadBase::Suspend() const + { + iThread.Suspend(); + } + +/** resumes the worker thread */ +void CFatHelperThreadBase::Resume() const + { + iThread.Resume(); + } + +/** @return worker thread completion code (logon status) */ +TInt CFatHelperThreadBase::ThreadCompletionCode() const + { + return iThreadStatus.Int(); + } + +/** @return ETrue if the thread is working, i.e. its logon status is KRequestPending*/ +TBool CFatHelperThreadBase::ThreadWorking() const + { + return ThreadCompletionCode() == KRequestPending; + } + +/** + boost the priority of the worker thread or return it back to normal + @param aBoost ETrue to boss the priority, EFalse to "unboost" +*/ +void CFatHelperThreadBase::BoostPriority(TBool aBoost) const + { + TThreadPriority priority; + if(aBoost) + { + priority = (TThreadPriority)EHelperPriorityBoosted; + iPriorityBoosted = ETrue; + } + else + { + priority = (TThreadPriority)EHelperPriorityNormal; + iPriorityBoosted = EFalse; + } + + iThread.SetPriority(priority); + + } + +/** @return ETrue if the thread's priority is boosted. */ +TBool CFatHelperThreadBase::IsPriorityBoosted() const + { + return iPriorityBoosted; + } + + +/** @return worker thread id. */ +TThreadId CFatHelperThreadBase::ThreadId() const + { + return iThread.Id(); + } + +/** set the state of the object. See CFatHelperThreadBase::TState enum */ +void CFatHelperThreadBase::SetState(CFatHelperThreadBase::TState aState) + { + iState = aState; + } + +/** @return ETrue if the worker thread is allowed to live.*/ +TBool CFatHelperThreadBase::AllowedToLive() const + { + return iAllowedToLive; + } + +/** + Set a flag that indicates if the thread shall be alive or shall finish ASAP + @param aAllow controls the thread life and death +*/ +void CFatHelperThreadBase::AllowToLive(TBool aAllow) + { + iAllowedToLive = aAllow; + } + +//--------------------------------------------------------------------------------------------------------------------------------------- + +/** @return object type */ +CFatHelperThreadBase::TFatHelperThreadType CFat32FreeSpaceScanner::Type() const + { + return EFreeSpaceScanner; + } + + +//--------------------------------------------------------------------------------------------------------------------------------------- + +/** @return object type */ +CFatHelperThreadBase::TFatHelperThreadType CFat32BitCachePopulator::Type() const + { + return EBitCachePopulator; + } + + +#endif //FAT_TABLE_32_INL + + + + + + + + + + + + + + + + + + + + + + +