class CSARStore : public CBase |
Controls the segmentation and reassembly (SAR) store, used for SMS segmentation and reassembly, and WAP reassembly.
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 &) |
Private Member Functions | |
---|---|
void | DoCommitAndCompactL() |
void | DoDeleteEntryL(TInt) |
void | ExternalizeEntryArrayL() |
void | InternalizeEntryArrayL() |
void | ReinstateDeletedEntries() |
void | RemoveDeletedEntries() |
Private Member Enumerations | |
---|---|
enum | anonymous { KNumStoreCommitsBeforeCompaction = 16 } |
Protected Attributes | |
---|---|
RFs & | iFs |
TInt | iMaxmumNumberOfMessagesInSegmentationStore |
Private Attributes | |
---|---|
TInt | iCommitCount |
CArrayFixSeg< TSAREntry > | iEntryArray |
TStreamId | iExtraStreamId |
CFileStore * | iFileStore |
TPtrC | iFullName |
TBool | iInTransaction |
TUid | iThirdUid |
IMPORT_C | CSARStore | ( | RFs & | aFs | ) | [protected] |
Constructor, initialises class members only.
RFs & 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.
const TSAREntry & aEntry | SAR entry to add |
IMPORT_C void | BeginTransactionLC | ( | ) |
Sets the SAR store as in-transaction.
IMPORT_C void | ChangeEntryL | ( | TInt | aIndex, |
const TSAREntry & | aNewEntry | |||
) | [protected] |
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.
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.
TInt aIndex | Entry in the SAR store to delete |
void | DoCommitAndCompactL | ( | ) | [private] |
called by CloseFile - always do a CommitL and if the store is of a certains size then call CompactL also
void | DoDeleteEntryL | ( | TInt | aIndex | ) | [private] |
Actually delete an entry in the entry array
TInt aIndex |
IMPORT_C void | DoOpenL | ( | ) |
Opens a filestore.
IMPORT_C const CArrayFix< TSAREntry > & | Entries | ( | ) | const |
Gets a const reference to the entry array.
void | ExternalizeEntryArrayL | ( | ) | [private] |
externalize - read from RAM to the file store
IMPORT_C TStreamId | ExtraStreamId | ( | ) | const [protected] |
Gets the extra stream ID.
IMPORT_C CFileStore & | FileStore | ( | ) | [protected] |
Gets a reference to the filestore.
IMPORT_C const CFileStore & | FileStore | ( | ) | const [protected] |
Gets a (const) reference to the filestore.
void | InternalizeEntryArrayL | ( | ) | [private] |
internalize - read from the file store into RAM
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.
IMPORT_C void | PrivatePath | ( | TDes & | aPath | ) |
Returns the private path used to open a store.
TDes & 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.
const TTimeIntervalMinutes & aTimeIntervalMinutes | Purge time |
TBool aPurgeIncompleteOnly | Purge complete messages flag |
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.
IMPORT_C void | SetExtraStreamIdL | ( | const TStreamId & | aExtraStreamId | ) | [protected] |
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.
const TStreamId & aExtraStreamId | Extra stream ID |
TInt | iMaxmumNumberOfMessagesInSegmentationStore | [protected] |
Maximum number of SMS messages that can be stored in segmentation store.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.