CSARStore Class Reference

#include <gsmustor.h>

Link against: gsmu.lib

class CSARStore : public CBase

Inherits from

  • CSARStore

    Detailed Description

    Controls the segmentation and reassembly (SAR) store, used for SMS segmentation and reassembly, and WAP reassembly.

    Member Attribute Documentation

    iFs

    RFs &iFs[protected]

    iMaxmumNumberOfMessagesInSegmentationStore

    TInt iMaxmumNumberOfMessagesInSegmentationStore[protected]

    Maximum number of SMS messages that can be stored in segmentation store.

    Constructor & Destructor Documentation

    CSARStore ( RFs & )

    IMPORT_CCSARStore(RFs &aFs)[protected]

    Constructor, initialises class members only.

    capability
    None
    ParameterDescription
    aFsFile system handle

    ~CSARStore ( )

    IMPORT_C~CSARStore()[protected]
    Destructor. Frees resource.
    capability
    None

    Member Function Documentation

    AddEntryL ( const TSAREntry & )

    IMPORT_C voidAddEntryL(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.

    capability
    None
    ParameterDescription
    aEntrySAR entry to add

    BeginTransactionLC ( )

    IMPORT_C voidBeginTransactionLC()

    Sets the SAR store as in-transaction.

    The function checks the validity of the call and leaves KErrAccessDenied if invalid.
    capability
    None

    ChangeEntryL ( TInt, const TSAREntry & )

    IMPORT_C voidChangeEntryL(TIntaIndex,
    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.

    capability
    None
    ParameterDescription
    aIndexThe index into the SAR store to be changed
    aNewEntryThe new SAR store entry

    Close ( )

    IMPORT_C voidClose()

    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
    None

    CommitTransactionL ( )

    IMPORT_C voidCommitTransactionL()
    Commits a transaction to the filestore.
    capability
    None

    CompactL ( )

    IMPORT_C voidCompactL()

    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
    None

    DeleteEntryL ( TInt )

    IMPORT_C voidDeleteEntryL(TIntaIndex)

    Deletes an entry from the entry array, and externalizes it.

    The file store must be open before calling this function.

    capability
    None
    ParameterDescription
    aIndexEntry in the SAR store to delete

    DoOpenL ( )

    IMPORT_C voidDoOpenL()

    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
    None

    Entries ( )

    IMPORT_C const CArrayFix< TSAREntry > &Entries()const

    Gets a const reference to the entry array.

    capability
    None

    Returns: Entry array

    ExtraStreamId ( )

    IMPORT_C TStreamIdExtraStreamId()const [protected]

    Gets the extra stream ID.

    capability
    None

    Returns: Extra stream ID

    FileSession ( )

    RFs &FileSession()const [inline]

    Gets the file server handle.

    Returns: File server handle

    FileStore ( )

    IMPORT_C CFileStore &FileStore()[protected]

    Gets a reference to the filestore.

    capability
    None

    Returns: The filestore

    FileStore ( )

    IMPORT_C const CFileStore &FileStore()const [protected]

    Gets a (const) reference to the filestore.

    capability
    None

    Returns: The filestore

    InTransaction ( )

    TBool InTransaction()const [inline]

    Returns: whether it's in transaction

    OpenL ( const TDesC &, const TUid & )

    IMPORT_C voidOpenL(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
    None
    ParameterDescription
    aFullNameName for the segmentation and reassembly filestore
    aThirdUidThird UID for the filestore.

    PrivatePath ( TDes & )

    IMPORT_C voidPrivatePath(TDes &aPath)

    Returns the private path used to open a store.

    capability
    None
    ParameterDescription
    aPathThe private path of a store.

    PurgeL ( const TTimeIntervalMinutes &, TBool )

    IMPORT_C voidPurgeL(const TTimeIntervalMinutes &aTimeIntervalMinutes,
    TBoolaPurgeIncompleteOnly
    )

    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
    None
    ParameterDescription
    aTimeIntervalMinutesPurge time
    aPurgeIncompleteOnlyPurge complete messages flag

    PurgeL ( TInt, TBool )

    IMPORT_C voidPurgeL(TIntaKSegmentationLifetimeMultiplier,
    TBoolaPurgeIncompleteOnly
    )

    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
    None
    ParameterDescription
    aKSegmentationLifetimeMultiplierThe coefficient for calculating whether a message should be purged
    aPurgeIncompleteOnlySet to false to purge all entries. Set to true to purge incomplete messages only.

    Revert ( )

    voidRevert()

    SetExtraStreamIdL ( const TStreamId & )

    IMPORT_C voidSetExtraStreamIdL(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.

    capability
    None
    ParameterDescription
    aExtraStreamIdExtra stream ID