Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Location: s32stor.h
Link against: estor.lib

Class RStoreReclaim

RStoreReclaim

Support

Supported from 5.0

Description

Performs space reclamation or compaction on a permanent file store in incremental steps.

Reclaiming unused space makes it available for re-use by the store. Compacting makes unused space available for re-use by the relevant system pool — for example, the filing system in the case of file-based stores.

Once compaction is complete, the store must be committed.

Notes:

Defined in RStoreReclaim:
Available(), Close(), CompactL(), CompactLC(), Next(), NextL(), OpenL(), OpenLC(), Release(), ResetL()


Prepare to reclaim space


OpenL()

void OpenL(CStreamStore& aStore,TInt& aCount);

Description

Prepares the object to perform space reclamation.

Parameters

CStreamStore& aStore

A reference to the store on which space reclamation or compaction is to be performed.

TInt& aCount

A reference to a control value set by these functions. This value is required by all variants of Next() and NextL() (and ResetL(), if used).


OpenLC()

void OpenLC(CStreamStore& aStore,TInt& aCount);

Description

Prepares the object to perform space reclamation and puts a pointer onto the cleanup stack.

Placing a cleanup item for the object onto the cleanup stack allows allocated resources to be cleaned up if a subsequent leave occurs.

Parameters

CStreamStore& aStore

A reference to the store on which space reclamation or compaction is to be performed.

TInt& aCount

A reference to a control value set by these functions. This value is required by all variants of Next() and NextL() (and ResetL(), if used).

[Top]


Prepare to compact


CompactL()

void CompactL(CStreamStore& aStore,TInt& aCount);

Description

Prepares the object to perform compaction.

Streams must be closed before calling this function.

Parameters

CStreamStore& aStore

A reference to the store on which space reclamation or compaction is to be performed.

TInt& aCount

A reference to a control value set by these functions. This value is required by all variants of Next() and NextL() (and ResetL(), if used).


CompactLC()

void CompactLC(CStreamStore& aStore,TInt& aCount);

Description

Prepares the object to perform compaction, putting a cleanup item onto the cleanup stack.

Placing a cleanup item for the object onto the cleanup stack allows allocated resources to be cleaned up if a subsequent leave occurs.

Streams must be closed before calling this function.

Parameters

CStreamStore& aStore

A reference to the store on which space reclamation or compaction is to be performed.

TInt& aCount

A reference to a control value set by these functions. This value is required by all variants of Next() and NextL() (and ResetL(), if used).

[Top]


Releasing resources


Available()

TInt Available() const;

Description

Returns the amount of free space currently available within the store. The function may be called at any time during space reclamation or compaction.

Return value

TInt

The amount of free space currently available within the store.


Close()

void Close();

Description

Stops space reclamation or compaction. All allocated resources are freed.

Notes:


Next()

void Next(TPckgBuf<TInt>& aStep,TRequestStatus& aStatus);

Description

Initiates the next space reclamation or compaction step — asynchronous, non-leaving. The function updates the value in aStep, and should only be called while aStep is non-zero. Once this value is zero, no further calls should be made.

The step itself is performed asynchronously.

Note:

Parameters

TPckgBuf<TInt>& aStep

A reference to a control value constructed from a TInt value originally set by OpenL(), OpenLC(), CompactL() or CompactLC().aStep is updated by calls to Next() or NextL().

TRequestStatus& aStatus

On completion, contains the request status. If successful contains KErrNone. If the function fails during the initiation phase, the failure is reported as if the step had started successfully but completed with that error.


Next()

TInt Next(TInt& aStep);

Description

Performs the next space reclamation or compaction step — synchronous, non-leaving. The function updates the value in aStep, and should only be called while aStep is non-zero. Once this value is zero, no further calls should be made.

The step is performed synchronously, i.e. the function does not return until the step is complete.

Parameters

TInt& aStep

A reference to a control value originally set by OpenL(), OpenLC(), CompactL() or CompactLC() and updated by calls to Next() or NextL().

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.


NextL()

void NextL(TPckgBuf<TInt>& aStep,TRequestStatus& aStatus);

Description

Initiates the next space reclamation or compaction step — asynchronous, leaving. The function updates the value in aStep, and should only be called while aStep is non-zero. Once this value is zero, no further calls should be made.

The step itself is performed asynchronously.

Note:

Parameters

TPckgBuf<TInt>& aStep

A reference to a control value constructed from a TInt value originally set by OpenL(), OpenLC(), CompactL() or CompactLC().aStep is updated by calls to Next() or NextL().

TRequestStatus& aStatus

On completion, contains the request status. If successful contains KErrNone. If the function fails during the initiation phase, the failure is reported as if the step had started successfully but completed with that error.

Leave codes

 

The function leaves if it fails during the initiation phase, in which case no asynchronous request will have been made.


NextL()

void NextL(TInt& aStep);

Description

Performs the next space reclamation or compaction step — synchronous, leaves. The function updates the value in aStep, and should only be called while aStep is non-zero. Once this value is zero, no further calls should be made.

The step is performed synchronously, i.e. the function does not return until the step is complete.

Parameters

TInt& aStep

A reference to a control value originally set by OpenL(), OpenLC(), CompactL() or CompactLC() and updated by calls to Next() or NextL().

Leave codes

 

The function leaves on failure with one of the system-wide error codes (e.g. KErrNone ).


Release()

void Release();

Description

Releases allocated resources. Any space reclamation or compaction in progress is abandoned.

Notes:


ResetL()

void ResetL(TInt& aCount);

Description

Restarts space reclamation or compaction.

The value in aCount must be:

Parameters

TInt& aCount

A reference to a control value originally set by OpenL(), OpenLC(), CompactL() or CompactLC() and updated by subsequent calls to Next() or NextL().