#include <gsmustor.h>
class CSARStore : public CBase |
Protected Attributes | |
---|---|
RFs & | iFs |
TInt | iMaxmumNumberOfMessagesInSegmentationStore |
Public Member Functions | |
---|---|
IMPORT_C void | BeginTransactionLC() |
IMPORT_C void | Close() |
IMPORT_C void | CommitTransactionL() |
IMPORT_C void | CompactL() |
IMPORT_C void | DeleteEntryL(TInt) |
IMPORT_C void | DoOpenL() |
IMPORT_C const CArrayFix< TSAREntry > & | Entries() |
RFs & | FileSession() |
TBool | InTransaction() |
IMPORT_C void | OpenL(const TDesC &, const TUid &) |
IMPORT_C void | PrivatePath(TDes &) |
IMPORT_C void | PurgeL(const TTimeIntervalMinutes &, TBool) |
IMPORT_C void | PurgeL(TInt, TBool) |
void | Revert() |
Protected Member Functions | |
---|---|
CSARStore(RFs &) | |
~CSARStore() | |
IMPORT_C void | AddEntryL(const TSAREntry &) |
IMPORT_C void | ChangeEntryL(TInt, const TSAREntry &) |
IMPORT_C TStreamId | ExtraStreamId() |
IMPORT_C CFileStore & | FileStore() |
IMPORT_C const CFileStore & | FileStore() |
IMPORT_C void | SetExtraStreamIdL(const TStreamId &) |
Controls the segmentation and reassembly (SAR) store, used for SMS segmentation and reassembly, and WAP reassembly.
TInt | iMaxmumNumberOfMessagesInSegmentationStore | [protected] |
Maximum number of SMS messages that can be stored in segmentation store.
IMPORT_C | CSARStore | ( | RFs & | aFs | ) | [protected] |
Constructor, initialises class members only.
Parameter | Description |
---|---|
aFs | File system handle |
IMPORT_C void | AddEntryL | ( | const TSAREntry & | aEntry | ) | [protected] |
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.
Parameter | Description |
---|---|
aEntry | SAR entry to add |
IMPORT_C void | BeginTransactionLC | ( | ) |
Sets the SAR store as in-transaction.
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.
Parameter | Description |
---|---|
aIndex | The index into the SAR store to be changed |
aNewEntry | The new SAR store entry |
IMPORT_C void | Close | ( | ) |
Closes the file store.
IMPORT_C void | CommitTransactionL | ( | ) |
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.
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.
Parameter | Description |
---|---|
aIndex | Entry in the SAR store to delete |
IMPORT_C void | DoOpenL | ( | ) |
Opens a filestore.
IMPORT_C TStreamId | ExtraStreamId | ( | ) | const [protected] |
Gets the extra stream ID.
Returns: Extra stream ID
IMPORT_C CFileStore & | FileStore | ( | ) | [protected] |
Gets a reference to the filestore.
Returns: The filestore
IMPORT_C const CFileStore & | FileStore | ( | ) | const [protected] |
Gets a (const) reference to the filestore.
Returns: The filestore
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.
Parameter | Description |
---|---|
aFullName | Name for the segmentation and reassembly filestore |
aThirdUid | Third UID for the filestore. |
IMPORT_C void | PrivatePath | ( | TDes & | aPath | ) |
Returns the private path used to open a store.
Parameter | Description |
---|---|
aPath | The private path of a store. |
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.
Parameter | Description |
---|---|
aTimeIntervalMinutes | Purge time |
aPurgeIncompleteOnly | Purge complete messages flag |
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.
Parameter | Description |
---|---|
aKSegmentationLifetimeMultiplier | The coefficient for calculating whether a message should be purged |
aPurgeIncompleteOnly | Set to false to purge all entries. Set to true to purge incomplete messages only. |