Location:
S32STOR.H
Link against: estor.lib
class CDictionaryStore : public CBase;
Dictionary store interface.
This is an abstract class which provides the necessary interface for using concrete dictionary stores.
A dictionary store is a store where a stream is accessed by UID (TUid
), rather than directly by stream id (TStreamId
).
This type of store contains streams in the usual way but, in addition, the root stream is a stream dictionary. The stream dictionary provides a list of two-way associations between unique identifiers and stream ids.
Note that a dictionary store object does not derive from CStreamStore
, but owns a persistent store and a stream dictionary as part of its implementation.
CBase
- Base class for all classes to be instantiated on the heap
CDictionaryStore
- Dictionary store interface
Defined in CDictionaryStore
:
Commit()
, CommitL()
, ConstructL()
, IsNullL()
, IsPresentL()
, Remove()
, RemoveL()
, Revert()
, RevertL()
, iStore
, ~CDictionaryStore()
Inherited from CBase
:
Delete()
,
Extension_()
,
operator new()
IMPORT_C ~CDictionaryStore();
Frees resources owned by the object, prior to its destruction.
IMPORT_C TBool IsNullL() const;
Tests whether the dictionary stores stream dictionary is empty.
|
IMPORT_C TBool IsPresentL(TUid aUid) const;
Tests whether the specified UID has an associated stream within this dictionary store.
|
|
IMPORT_C void Remove(TUid aUid);
Removes the stream associated with the specified UID from the dictionary store.
If there is no stream associated with the specified UID, then the dictionary store remains unchanged.
The function cannot leave; it returns whether or not it is succesful.
|
IMPORT_C void RemoveL(TUid aUid);
Removes the stream associated with the specified UID from the dictionary store and leaves if unsuccessful.
If there is no stream associated with the specified UID, then the dictionary store remains unchanged.
|
IMPORT_C TInt Commit();
Commits changes.
It establishes a new commit point and then compacts the dictionary store. Typically, this is done after changes to new or existing streams are complete and the streams themselves have been committed.
Establishing a new commit point makes changes to the store permanent. Until such changes are committed, they can be rolled back, effectively causing the store to revert back to its state before the changes were made.
This ensures that persistent data moves from one consistent state to another and guarantees the integrity of persistent store data in the event of failures. In particular, if a process terminates or a media failure occurs, the store reverts automatically to its state at the last successful commit point.
|
IMPORT_C void Revert();
Rolls the dictionary store back to its state at the last commit point.
A commit point is set using the Commit()
or CommitL()
functions.
The function returns, whether or not it completes successfully.
IMPORT_C void RevertL();
Rolls the dictionary store back to its state at the last commit point and leaves if unsuccessful.
A commit point is set using the Commit()
or CommitL()
functions.
protected: CPersistentStore * iStore;