#include <s32page.h>
class TCachePagePool : public MPagePool |
Public Member Functions | |
---|---|
virtual IMPORT_C TPageAbandonFunction | AcquireL() |
virtual IMPORT_C TAny * | AllocL() |
virtual IMPORT_C TPageRef | AssignL(const TAny *, TPageReclamation) |
IMPORT_C TInt | Flush() |
IMPORT_C void | FlushL() |
virtual IMPORT_C TAny * | LockL(TPageRef) |
IMPORT_C void | Purge() |
void | Set(CPageCache &) |
virtual IMPORT_C void | Unlock(const TAny *, TPageChange) |
virtual IMPORT_C void | UpdateL(const TAny *) |
Protected Member Functions | |
---|---|
TCachePagePool() | |
TCachePagePool(CPageCache &) | |
virtual IMPORT_C void | DoDeleteL(TPageRef) |
Inherited Functions | |
---|---|
MPagePool::Delete(TPageRef) | |
MPagePool::DeleteL(TPageRef) | |
MPagePool::Pop() | |
MPagePool::PushL() |
Provides a page pool with cached pages.
It is an intermediary class, used in the definition of page pools that use a cache, such as RFilePagePool and RStorePagePool.
See also: RFilePagePool RStorePagePool
IMPORT_C TPageAbandonFunction | AcquireL | ( | ) | [virtual] |
Reimplemented from MPagePool::AcquireL()
Returns a function that abandons all locked pages for this page pool.
Returns: A function that abandons all locked pages for this page pool.
IMPORT_C TAny * | AllocL | ( | ) | [virtual] |
Reimplemented from MPagePool::AllocL()
Allocates an unassigned page.
Returns: Newly allocated page.
IMPORT_C TPageRef | AssignL | ( | const TAny * | aPage, |
TPageReclamation | aReclamation = EPageDeleteOnly | |||
) | [virtual] |
Reimplemented from MPagePool::AssignL(const TAny *,TPageReclamation)
Assigns a reference to a new page and unlocks it.
Parameter | Description |
---|---|
aPage | Page to assign |
aReclamation | Flag for page reclaimation settings |
Returns: Reference to page
IMPORT_C void | DoDeleteL | ( | TPageRef | aRef | ) | [protected, virtual] |
Reimplemented from MPagePool::DoDeleteL(TPageRef)
IMPORT_C TInt | Flush | ( | ) |
Flush all pages in this pool from the cache.
It ensures that any dirty pages are written into persistent storage, but does not remove them from the cache.
Returns: KErrNone if successful, otherwise another of the system-wide error codes.
IMPORT_C void | FlushL | ( | ) |
Flushes all pages in this pool from the cache, leaving with a system-wide error code if an error occurs.
Reimplemented from MPagePool::LockL(TPageRef)
Locks a page and returns a pointer to it.
Parameter | Description |
---|---|
aRef | Reference to page to lock |
Returns: Locked page
IMPORT_C void | Purge | ( | ) |
Purge all pages in this pool from the cache.
This discards all pages from the cache, without saving dirty pages.
void | Set | ( | CPageCache & | aCache | ) | [inline] |
Sets the page cache for the pool.
Parameter | Description |
---|---|
aCache | The page cache for the pool. |
IMPORT_C void | Unlock | ( | const TAny * | aPage, |
TPageChange | aChange = EPageNoChange | |||
) | [virtual] |
Reimplemented from MPagePool::Unlock(const TAny *,TPageChange)
Unlocks a page.
Parameter | Description |
---|---|
aPage | Page to unlock |
aChange | How the page should be treated once it is unlocked |
IMPORT_C void | UpdateL | ( | const TAny * | aPage | ) | [virtual] |
Reimplemented from MPagePool::UpdateL(const TAny *)
Updates a page.
Parameter | Description |
---|---|
aPage | Page to update |