Location:
MSVSTORE.H
Link against: msgs.lib
Link against: msgs_autoshutdown.lib
class CMsvStore : public CBase;
Provides an interface over the message store that is associated with a message entry. It is similar to the dictionary store in supporting the concept of streams referenced by UID.
This class is intended for use by MTM implementations. Message client applications access the store through the higher-level
functions provided by Client-side and User
Interface MTMs.
A CMsvStore object is created by a CMsvEntry
object and passed to a client process. The client process then becomes responsible for deleting the CMsvStore object. The
store can be opened in two modes, read or edit, and only one CMsvStore object can have edit access to a store.
CMsvStore provides functions for general manipulation of the store, and for accessing the standard body text stream. RMsvReadStream
and RMsvWriteStream
must be used to access other streams.
CBase
- Base class for all classes to be instantiated on the heap
CMsvStore
- Provides an interface over the message store that is associated with a message entry
Defined in CMsvStore
:
AttachmentManagerExtensionsL()
, AttachmentManagerL()
, Commit()
, CommitL()
, DeleteBodyTextL()
, DeleteL()
, HasBodyTextL()
, IsNullL()
, IsPresentL()
, Remove()
, RemoveL()
, RestoreBodyTextL()
, Revert()
, RevertL()
, SizeL()
, StoreBodyTextL()
, ~CMsvStore()
Inherited from CBase
:
Delete()
,
Extension_()
,
operator new()
IMPORT_C ~CMsvStore();
Destructor.
If the message store is currently locked, the destructor releases it before deleting the object.
IMPORT_C void StoreBodyTextL(const CRichText &aRichTextBody);
Stores the body text stream of the message store. Any existing data is overwritten. Write access is needed for this function. A commit must be done following this function for the new data to be retained.
|
|
IMPORT_C void RestoreBodyTextL(CRichText &aRichTextBody);
Reads the body text stream from the message store into the given rich text object.
|
|
IMPORT_C void DeleteBodyTextL();
Deletes the stream that contains the body text. Write access is needed for this function.
|
IMPORT_C TBool HasBodyTextL() const;
Checks if the store has a body text stream; IsPresentL(KMsvEntryRichTextBody) will always return EFalse when the store_8bit_flag in imcm.rss is enabled.
|
IMPORT_C void DeleteL();
Deletes the message store. After a delete, the behaviour of the object is undefined: it can only be deleted.
Write access is needed for this function.
|
IMPORT_C TInt SizeL();
Gets the size of the message store.
|
IMPORT_C TBool IsNullL() const;
Tests whether the message store contains any streams.
|
IMPORT_C TBool IsPresentL(TUid aUid) const;
Tests whether the message store contains a stream identifier. Do not use to check if there is a body text part stored with
the email; use CMsvStore::HasBodyTextL()
instead.
|
|
IMPORT_C void Remove(TUid aUid);
Deletes the identified stream from the store. The function returns, whether or not it completes successfully.
Write access is needed for this function.
|
IMPORT_C void RemoveL(TUid aUid);
Deletes the identified stream from the store. It leaves if it cannot complete successfully.
Write access is needed for this function.
|
|
IMPORT_C void Revert();
Reverts the store to the previous commit level. This removes all changes that have been made to the store since the last commit.
The function cannot leave: it returns, whether or not it completes successfully.
Write access is needed for this function.
IMPORT_C void RevertL();
Reverts the store to the previous commit level. This removes all changes that have been made to the store since the last commit.
The function leaves if it cannot complete successfully.
Write access is needed for this function.
|
IMPORT_C TInt Commit();
Commits changes to the message store, returning any error code.
Committing changes makes these changes permanent, and means that the store cannot be rolled back to a state before the changes were begun.
You should use this function before deleting a CMsvStore, if you have made changes to it through RMsvWriteStream
. Note that StoreBodyTextL()
performs a commit itself, so an additional commit is not required after its use.
The functions is identical to the following one, except that it returns an error code if an error occurs.
Write access is needed.
|
IMPORT_C void CommitL();
Commits changes to the message store, leaving if an error occurs.
Committing changes makes these changes permanent, and means that the store cannot be rolled back to a state before the changes were begun.
You should use this function before deleting a CMsvStore, if you have made changes to it through RMsvWriteStream
. Note that StoreBodyTextL()
performs a commit itself, so an additional commit is not required after its use.
The functions is identical to the previous one, except that it leaves with the error code if an error occurs.
Write access is needed.
|
IMPORT_C MMsvAttachmentManager &AttachmentManagerL();
Returns an interface for the Attachment Manager.
This methods returns an interface that can be used to provided attachment management functionality for each message entry.
|
IMPORT_C MMsvAttachmentManagerSync &AttachmentManagerExtensionsL();
|