|
||
class RFilePagePool : public TCachePagePool;
Uses a file directly to implement the page pool interface MPagePool
.
The pages are written sequentially through the file. You should call RFilePagePool::Close()
to release the file resource after CreateL(), OpenL(), ReplaceL() or RFilePagePool::Temp(RFs &,const TDesC &,TFileName &,TUint)
.
A file page pool uses a cache to store pages in-memory and to cache frequently accessed pages. You should provide a cache
object (CPageCache
) to the pool for this purpose.
MPagePool
-
Interface to a page pool, the storage abstraction used by the B-trees API.
TCachePagePool
-
Provides a page pool with cached pages.
RFilePagePool
-
Uses a file directly to implement the page pool interface MPagePool.
Defined in RFilePagePool
:
Attach(RFile &)
Sets an existing file to be used for the page pool.Close()
Flushes cached pages to the file, and closes the file. Create(RFs &,const TDesC &,TUint)
Creates a new file for the page pool.Detach()
Ends the use of the file for the page pool, but does not close the file. ExtendL(const TAny *,TPageReclamation)
File()const
Flush()
Flushes the page cache and the file.FlushL()
Flushes the page cache and the file, leaving with a system-wide error code if an...Open(RFs &,const TDesC &,TUint)
Opens a file to use for the page pool.RFilePagePool()
Default constructor. RFilePagePool(CPageCache &)
Constructor with a page cache for the pool.ReadL(TPageRef,TAny *)
Release()
Closes the file without flushing the cache. Replace(RFs &,const TDesC &,TUint)
Creates or opens a file for the page pool.Temp(RFs &,const TDesC &,TFileName &,TUint)
Creates and opens a file for the page pool with a unique name.WriteL(TPageRef,const TAny *,TPageChange)
Inherited from MPagePool
:
Delete(TPageRef)
Deletes a page, ignoring any errors.DeleteL(TPageRef)
Deletes a page, leaving if an error occurs.Pop()
Do a pop from the cleanup stack. PushL()
Pushes this object onto the cleanup stack. Inherited from TCachePagePool
:
AcquireL()
Returns a function that abandons all locked pages for this page pool.AllocL()
Allocates an unassigned page.AssignL(const TAny *,TPageReclamation)
Assigns a reference to a new page and unlocks it.DoDeleteL(TPageRef)
LockL(TPageRef)
Locks a page and returns a pointer to it.Purge()
Purge all pages in this pool from the cache.Set(CPageCache &)
Sets the page cache for the pool.TCachePagePool(CPageCache &)
Unlock(const TAny *,TPageChange)
Unlocks a page.UpdateL(const TAny *)
Updates a page.IMPORT_C RFilePagePool(CPageCache &aCache);
Constructor with a page cache for the pool.
|
inline TInt Open(RFs &aFs, const TDesC &aName, TUint aFileMode);
Opens a file to use for the page pool.
|
|
inline TInt Create(RFs &aFs, const TDesC &aName, TUint aFileMode);
Creates a new file for the page pool.
|
|
inline TInt Replace(RFs &aFs, const TDesC &aName, TUint aFileMode);
Creates or opens a file for the page pool.
If there is an existing file with the same name, this function overwrites it. If the file does not already exist, it is created.
|
|
inline TInt Temp(RFs &aFs, const TDesC &aPath, TFileName &aName, TUint aFileMode);
Creates and opens a file for the page pool with a unique name.
|
|
inline void Attach(RFile &aFile);
Sets an existing file to be used for the page pool.
|
IMPORT_C TInt Flush();
Flushes the page cache and the file.
|
IMPORT_C void FlushL();
Flushes the page cache and the file, leaving with a system-wide error code if an error occurs.
inline void Detach();
Ends the use of the file for the page pool, but does not close the file.
protected: IMPORT_C virtual TPageRef ExtendL(const TAny *aPage, TPageReclamation aReclamation);
|
|