Location:
gsmustor.h
Link against: gsmu.lib
class CSARStore : public CBase;
Controls the segmentation and reassembly (SAR) store, used for SMS segmentation and reassembly, and WAP reassembly.
CBase
- Base class for all classes to be instantiated on the heap
CSARStore
- Controls the segmentation and reassembly (SAR) store, used for SMS segmentation and reassembly, and WAP reassembly
Defined in CSARStore
:
AddEntryL()
, BeginTransactionLC()
, CSARStore()
, ChangeEntryL()
, Close()
, CommitTransactionL()
, CompactL()
, DeleteEntryL()
, DoOpenL()
, Entries()
, ExtraStreamId()
, FileSession()
, FileStore()
, FileStore()
, InTransaction()
, OpenL()
, PrivatePath()
, PurgeL()
, PurgeL()
, SetExtraStreamIdL()
, iFs
, ~CSARStore()
Inherited from CBase
:
Delete()
,
Extension_()
,
operator new()
Capability: | Illegal |
protected: IMPORT_C CSARStore(RFs &aFs);
Constructor, initialises class members only.
|
Capability: | Illegal |
IMPORT_C void OpenL(const TDesC &aFullName, const TUid &aThirdUid);
Opens a specified SAR store.
A SAR filestore has has three uids, KPermanentFileStoreLayoutUid, KSARStoreUid (which designates that the file store is a SAR store) and a third UID, that identifies the particular implementation of CSARStore.
|
Capability: | Illegal |
IMPORT_C void Close();
Closes the file store.
The function deletes the file store object and resets the entry array. It should be called once when the protocol module is closing down.
Capability: | Illegal |
IMPORT_C void CompactL();
Compacts the file store.
This is done on every reboot and for every eighth SMS message sent, to keep the size of the file as low as possible.
This function opens and closes the file automatically.
Capability: | Illegal |
IMPORT_C const CArrayFix< TSAREntry > &Entries() const;
Gets a const reference to the entry array.
|
Capability: | Illegal |
IMPORT_C void PurgeL(const TTimeIntervalMinutes &aTimeIntervalMinutes, TBool aPurgeIncompleteOnly);
Purges the reassembly file store.
After a multipart message, it delete all the old entries.
Entries will be purged when: 1) The complete message is received; 2) After aTimerintervalMinutes, if aPurgeIncompletely is false.
PurgeL()
will be called after the booting of the device or when a message has been received.
This function opens and closes the file automatically.
Note: overload function for segmentation store.
|
Capability: | Illegal |
IMPORT_C void PurgeL(TInt aKSegmentationLifetimeMultiplier, TBool aPurgeIncompleteOnly);
Purges the segmentation store.
This purges the filestore after a multipart message, deleting all the old entries.
This function opens and closes the file automatically.
|
Capability: | Illegal |
IMPORT_C void DeleteEntryL(TInt aIndex);
Deletes an entry from the entry array, and externalizes it.
The file store must be open before calling this function.
|
Capability: | Illegal |
IMPORT_C void BeginTransactionLC();
Sets the SAR store as in-transaction.
The function checks the validity of the call and leaves KErrAccessDenied if invalid.
Capability: | Illegal |
IMPORT_C void CommitTransactionL();
Commits a transaction to the filestore.
TODO AA: What should we do if err == KErrCorrupt?
inline RFs &FileSession() const;
Gets the file server handle.
|
Capability: | Illegal |
IMPORT_C void DoOpenL();
Opens a filestore.
This is called by OpenL()
, and does the work of really opening the file. If the file is not there, it creates a new one.
Capability: | Illegal |
IMPORT_C void PrivatePath(TDes &aPath);
Returns the private path used to open a store.
|
Capability: | Illegal |
protected: IMPORT_C CFileStore &FileStore();
Gets a reference to the filestore.
|
Capability: | Illegal |
protected: IMPORT_C const CFileStore &FileStore() const;
Gets a (const) reference to the filestore.
|
Capability: | Illegal |
protected: IMPORT_C void AddEntryL(const TSAREntry &aEntry);
Adds a new entry to the file store.
The function appends the new entry to the internal entry array, and then externalises it.
The file store must be open before calling this function.
|
Capability: | Illegal |
protected: IMPORT_C void ChangeEntryL(TInt aIndex, const TSAREntry &aNewEntry);
Changes an entry in the file store - changes it first in the internal entry array, and then externalizes it.
The file store must be open before calling this function.
|
Capability: | Illegal |
protected: IMPORT_C TStreamId ExtraStreamId() const;
Gets the extra stream ID.
|
Capability: | Illegal |
protected: IMPORT_C void SetExtraStreamIdL(const TStreamId &aExtraStreamId);
Sets the extra stream ID - changes it first in the internal entry array, and then externalizes it.
You must call Close()
when the function returns.
|
protected: RFs & iFs;
File server handle.