#include <s32stor.h>
class MIncrementalCollector |
Public Member Functions | |
---|---|
void | Close() |
void | NextL(TInt &, TInt &) |
void | NextL(TPckgBuf< TInt > &, TRequestStatus &, TPckgBuf< TInt > &) |
void | Release() |
void | ResetL(TInt &) |
Protected Member Functions | |
---|---|
MIncrementalCollector() |
Interface for incrementally reclaiming or compacting space in a stream store. The interface allows these actions to be performed in small steps, so that applications can remain responsive while doing these potentially long-running tasks.
An instance of a class derived from this interface is returned by StreamStore::DoReclaimL() and DoCompactL(). Each step is carried out in response to a call of DoNextL() and the object is released on completion of the last step.
Notes:
One-step reclaim using CStreamStore::ReclaimL() is actually implemented in terms of the incremental collector.
A CStreamStore implementation will only need to implement a collector class if it supports reclamation or compaction.
MIncrementalCollector | ( | ) | [protected, inline] |
Protected constructor. Protecting the constructor ensures that this abstract class cannot be instantiated.
MIncrementalCollector(const MIncrementalCollector&);
MIncrementalCollector& operator=(const MIncrementalCollector&);
Private copy constructor and copy assignment to prevent
void | Close | ( | ) | [inline] |
Closes the collector after it is no longer required. The object should not be referenced after calling this function. The semantics for this function and Release() are effectively the same.
Does the next step in the reclaim synchronously.
aStep contains a progress value, which decreases every time the function is called. aTotal contains the running total of free-space that remains in the store.
See also: DoNextL()
Parameter | Description |
---|---|
aStep | The progress value from either the last NextL() increment of from ResetL() if the reclamation/compaction was restarted. On return, contains the new progress value, which can be used in subsequent calls to NextL(). This will be equal to, or less than, the previous value a zero value indicates that the operation is complete. |
aTotal | On return, contains the total amount of free space in the store. This should increase every time the function is called. |
void | NextL | ( | TPckgBuf< TInt > & | aStep, |
TRequestStatus & | aStatus, | |||
TPckgBuf< TInt > & | aTotal | |||
) | [inline] |
Does the next step in the reclaim asynchronously.
aStep contains a progress value, which decreases every time the function is called. aTotal contains the running total of free-space that remains in the store. These parameters are asynchronous equivalents of the other NextL() overload.
See also: DoNextL()
Parameter | Description |
---|---|
aStep | The progress value from either the last NextL() increment of from ResetL() if the reclamation/compaction was restarted. On return, contains the new progress value, which can be used in subsequent calls to NextL(). This will be equal to, or less than, the previous value a zero value indicates that the operation is complete. |
aStatus | A status variable. KErrNone on successful completion, otherwise another of the system-wide error codes. |
aTotal | On return, contains the total amount of free space in the store. This should increase every time the function is called. |
void | Release | ( | ) | [inline] |
Releases the collector after it is no longer required. The object should not be referenced after calling this function. The semantics for this function and Close() are effectively the same.
See also: DoRelease()
void | ResetL | ( | TInt & | aCount | ) | [inline] |
Resets the collector. This leaves the collector in a state ready to start or restart reclaiming/compacting. On return aCount contains a value that can be used to determine the progress of the operation the same value should be passed in to subsequent calls to NextL() until it reaches 0.
See also: DoResetL()
Parameter | Description |
---|---|
aCount | A progress count for the reclamation/compaction process. |