CMsvPlainBodyText Class Reference
class CMsvPlainBodyText : public CMsgActive |
This class encapsulates plainbody text information for storage within the Message Store.It also populates a CRichText object with the 8 bit data decoded to the specified character set.If a character set is not specified, then the default character set is used.
Public Member Functions |
---|
| ~CMsvPlainBodyText() |
IMPORT_C TUint | CharacterSet() |
IMPORT_C void | CommitL() |
IMPORT_C TUint | DefaultCharacterSet() |
CMsvPlainBodyText * | NewL(MMsvStoreManager &, CMsvStore &, TBool, TUint, TUint, TMsvId, RFs &) |
CMsvPlainBodyText * | NewL(MMsvStoreManager &, CMsvStore &, TMsvId, RFs &, TInt) |
IMPORT_C void | NextChunkL(TDes8 &, TRequestStatus &) |
IMPORT_C void | NextChunkL(TDes8 &) |
IMPORT_C void | NextChunkL(TDes16 &, TRequestStatus &) |
IMPORT_C void | NextChunkL(TDes16 &) |
IMPORT_C void | PreviousChunkL(TDes8 &, TRequestStatus &) |
IMPORT_C void | PreviousChunkL(TDes8 &) |
IMPORT_C void | PreviousChunkL(TDes16 &, TRequestStatus &) |
IMPORT_C void | PreviousChunkL(TDes16 &) |
IMPORT_C void | SetCharacterSetL(const TUint) |
IMPORT_C TInt | Size() |
IMPORT_C void | StoreChunkL(const TDesC8 &, TRequestStatus &) |
IMPORT_C void | StoreChunkL(const TDesC8 &) |
IMPORT_C void | StoreChunkL(const TDesC16 &, TRequestStatus &) |
IMPORT_C void | StoreChunkL(const TDesC16 &) |
IMPORT_C void | StoreRichTextAsPlainTextL(CRichText &) |
Private Member Functions |
---|
| CMsvPlainBodyText(MMsvStoreManager &, CMsvStore &, TBool, TUint, TUint, TMsvId, RFs &) |
| CMsvPlainBodyText(MMsvStoreManager &, CMsvStore &, TMsvId, RFs &, TInt) |
void | ConstructReadL() |
void | ConstructWriteL() |
TInt
| ConvertChunkToUnicodeForRestoreL() |
void | ConvertChunkToUnicodeForStoreL(const TDesC8 &) |
void | DoCancel() |
void | DoComplete() |
void | DoRunL() |
void | ExtractNextChunkFromRichText(TDes16 &) |
void | ExtractPreviousChunkFromRichText(TDes16 &) |
void | PrepareToConvertL() |
void | RevertL() |
Constructor & Destructor Documentation
CMsvPlainBodyText(MMsvStoreManager &, CMsvStore &, TBool, TUint, TUint, TMsvId, RFs &)
Default Constructor for write operation.
CMsvPlainBodyText(MMsvStoreManager &, CMsvStore &, TMsvId, RFs &, TInt)
Default Constructor called for Read operation..
~CMsvPlainBodyText()
IMPORT_C | ~CMsvPlainBodyText | ( | ) | |
Member Functions Documentation
CharacterSet()
IMPORT_C TUint | CharacterSet | ( | ) | |
Returns the charset for the plain text part
CommitL()
Commit the file and the store after it is written and and also closes the file.
ConstructReadL()
void | ConstructReadL | ( | ) | [private] |
ConstructL for Read operation.
ConstructWriteL()
void | ConstructWriteL | ( | ) | [private] |
ConstructWriteL for creating and writing to the plain bodytext file.
ConvertChunkToUnicodeForRestoreL()
TInt
| ConvertChunkToUnicodeForRestoreL | ( | ) | [private] |
Converts the 8 bit chunk to unicode.When this is called iRfileReadBuf8 will have the 8-bit data that needs to be converted to unicode.8 bit data that is not converted is copied to iRemainingUnConvertedData, which is used in conversion when this is called again.
ConvertChunkToUnicodeForStoreL(const TDesC8 &)
void | ConvertChunkToUnicodeForStoreL | ( | const TDesC8 & | aChunk | ) | [private] |
Converts the 8 bit chunk to Unicode.
Parameters
const TDesC8 & aChunk | The 8bit chunk to be converted. |
DefaultCharacterSet()
IMPORT_C TUint | DefaultCharacterSet | ( | ) | |
Returns the default charset for the plain text part
DoCancel()
void | DoCancel | ( | ) | [private, virtual] |
Cancel the file read operation and set the filepointer to the current position of the file so that next call to NextChunkL() will attempt to read the same chunk that was cancelled
DoComplete()
void | DoComplete | ( | ) | [private] |
DoRunL()
void | DoRunL | ( | ) | [private, virtual] |
Asynchronously retrives the body text chunks.If body is stored as 8bit, converts the chunk to Unicode.
ExtractNextChunkFromRichText(TDes16 &)
void | ExtractNextChunkFromRichText | ( | TDes16 & | aChunk | ) | [private] |
Extracts a chunk of iChunkMaxLength or less, from the CRichText object.
ExtractPreviousChunkFromRichText(TDes16 &)
void | ExtractPreviousChunkFromRichText | ( | TDes16 & | aChunk | ) | [private] |
Extracts a chunk of iChunkMaxLength or less, from the CRichText object.
NewL(MMsvStoreManager &, CMsvStore &, TBool, TUint, TUint, TMsvId, RFs &)
The NewL factory function for Write operation.
Parameters
MMsvStoreManager & aMsvStoreManager | The MMsvStoreManager reference to call Store related RFile APIs |
CMsvStore & aStore | The CMsvStore object. |
TBool aIs8Bit | TBool indicating whether to store bdy text as 8/16 bit. |
TUint aCharsetId | The charset of the body part. |
TUint aDefaultCharsetId | The default charset of the system. |
TMsvId aMessageId | The Id of the message that is to be stored. |
RFs & aFs | The RFs for handling RFile related operations. |
NewL(MMsvStoreManager &, CMsvStore &, TMsvId, RFs &, TInt)
Overloaded NewL for Read operation.
Parameters
MMsvStoreManager & aMsvStoreManager | The MMsvStoreManager reference to call Store related RFile APIs |
CMsvStore & aStore | The CMsvStore object. |
TMsvId aMessageId | The Id of the message that is to be stored. |
RFs & aFs | The RFs for handling RFile related operations. |
TInt aChunkLength | The length of the chunk that will be stored/restored in single operaion |
NextChunkL(TDes8 &, TRequestStatus &)
Retrieve the next chunk of the plain body text.
- leave
- KErrAccessDenied If CMsvStore was opened in Write mode.
- leave
- KErrNotSupported If 16-bit storage is enabled.
- leave
- KErrUnderflow If aChunk MaxLength is less than iChunkMaxLength.
- leave
- Other Standard system-wide error codes.
NextChunkL(TDes8 &)
IMPORT_C void | NextChunkL | ( | TDes8 & | aChunk | ) | |
Retrieve the next chunk of the plain body text.
- leave
- KErrNotSupported If CMsvStore was opened in Write mode.
- leave
- KErrNotSupported If 16-bit storage is enabled.
- leave
- KErrUnderflow If aChunk MaxLength is less than iChunkMaxLength.
- leave
- Other Standard system-wide error codes.
Parameters
TDes8 & aChunk | The output parameter contains the requested chunk. |
NextChunkL(TDes16 &, TRequestStatus &)
Retrieve the next chunk of the plain body text. If body is stored as 8bit, the chunk is converted to unicode.Unconverted bytes will be converted while reading the next chunk.
- leave
- KErrAccessDenied If CMsvStore was opened in Write mode.
- leave
- KErrUnderflow If aChunk MaxLength is less than iChunkMaxLength.
- leave
- Other Standard system-wide error codes.
Parameters
TDes16 & aChunk | The output parameter contains the requested chunk.If no more data is in Store this contains NULL descriptor. |
TRequestStatus & aStatus | The TRequestStatus for this request. |
NextChunkL(TDes16 &)
IMPORT_C void | NextChunkL | ( | TDes16 & | aChunk | ) | |
Retrieve the next chunk of the plain body text. If body is stored as 8bit, convert the chunk to Unicode. Unconverted bytes will be converted while reading the next chunk.
- leave
- KErrAccessDenied If CMsvStore was opened in Write mode.
- leave
- KErrUnderflow If aChunk MaxLength is less than iChunkMaxLength.
- leave
- Other Standard system-wide error codes.
Parameters
TDes16 & aChunk | The output parameter contains the requested chunk.If no more data is in Store this contains NULL descriptor. |
PrepareToConvertL()
void | PrepareToConvertL | ( | ) | [private] |
Creates the character converter and specifies the character set to convert to or from. Leaves if the specified or default character set is not available.
PreviousChunkL(TDes8 &, TRequestStatus &)
Retrieve the previous chunk of the plain body text asynchronously.
- leave
- KErrNotSupported If 16-bit storage is enabled.
- leave
- KErrAccessDenied If CMsvStore was opened in Write mode.
- leave
- KErrUnderflow If aChunk MaxLength is less than iChunkMaxLength.
- leave
- Other Standard system-wide error codes.
Parameters
TDes8 & aChunk | The output parameter containing the requested chunk on completion. |
TRequestStatus & aStatus | The TRequestStatus for this request. |
PreviousChunkL(TDes8 &)
IMPORT_C void | PreviousChunkL | ( | TDes8 & | aChunk | ) | |
Retrieve the previous chunk of the plain body text.
- leave
- KErrNotSupported If 16-bit storage is enabled.
- leave
- KErrAccessDenied If CMsvStore was opened in Write mode.
- leave
- KErrUnderflow If aChunk MaxLength is less than iChunkMaxLength.
- leave
- Other Standard system-wide error codes.
Parameters
TDes8 & aChunk | The output parameter containing the requested chunk. |
PreviousChunkL(TDes16 &, TRequestStatus &)
Retrieve the previous chunk of the plain body text asynchronously.DoRunl converts the chunk to unicode.
- leave
- KErrNotSupported If CMsvStore was opened in Write mode.
- leave
- KErrUnderflow If aChunk MaxLength is less than iChunkMaxLength.
- leave
- Other Standard system-wide error codes.
Parameters
TDes16 & aChunk | The output parameter containing the requested chunk on completion. |
TRequestStatus & aStatus | The TRequestStatus for this request. |
PreviousChunkL(TDes16 &)
IMPORT_C void | PreviousChunkL | ( | TDes16 & | aChunk | ) | |
Retrieve the Previouschunk of the plain body text. If body is stored as 8bit, convert the chunk to Unicode.
- leave
- KErrNotSupported If CMsvStore was opened in Write mode.
- leave
- KErrUnderflow If aChunk MaxLength is less than iChunkMaxLength.
- leave
- Other Standard system-wide error codes.
Parameters
TDes16 & aChunk | The output parameter contains the requested chunk. |
RevertL()
Revert/Delete the file if it is not committed.
SetCharacterSetL(const TUint)
IMPORT_C void | SetCharacterSetL | ( | const TUint | aCharset | ) | |
Set iCharsetId to aCharset if body text of the message was downloaded as 8 bit. This can be used to override the charset with which a message was downloaded, when the body text is opened for reading.
Parameters
const TUint aCharset | The new charset with which it needs to be converted. |
Size()
Returns the size of body text in bytes.
StoreChunkL(const TDesC8 &, TRequestStatus &)
Store the plain body text part in chunks.
- leave
- KErrAccessDenied. If CMsvStore was opened in Read mode or If CommitL is already called.
- leave
- Other Standard system-wide error codes.
StoreChunkL(const TDesC8 &)
IMPORT_C void | StoreChunkL | ( | const TDesC8 & | aChunk | ) | |
Store the plain body text part in chunks,synchronous version.
- leave
- KErrAccessDenied. If CMsvStore was opened in Read mode or If CommitL is already called.
- leave
- Other Standard system-wide error codes.
StoreChunkL(const TDesC16 &, TRequestStatus &)
Store the body part in chunks(16 bit version).
- leave
- KErrNotSupported If the 8-bit storage was enabled.
- leave
- KErrAccessDenied If CMsvStore was opened in Read mode or IfCommitL is already called.
- leave
- Other Standard system-wide error codes.
Parameters
const TDesC16 & aChunk | The 16 bit chunk that is to be stored. |
TRequestStatus & aStatus | The TRequestStatus parameter for this request. |
StoreChunkL(const TDesC16 &)
IMPORT_C void | StoreChunkL | ( | const TDesC16 & | aChunk | ) | |
Store the body part in chunks(16 bit synchronous version).
- leave
- KErrNotSupported If the 8-bit storage was enabled.
- leave
- KErrAccessDenied If CMsvStore was opened in Read mode or If CommitL is already called.
- leave
- Other Standard system-wide error codes.
Parameters
const TDesC16 & aChunk | The 16 bit chunk that is to be stored. |
StoreRichTextAsPlainTextL(CRichText &)
IMPORT_C void | StoreRichTextAsPlainTextL | ( | CRichText & | aRichText | ) | |
Converts and stores the
CRichText contents to a plain text.
- leave
- KErrNotSupported If CMsvStore was opened in Read mode or If CommitL is already called.
- leave
- Other Standard system-wide error codes.
Parameters
CRichText & aRichText | The CRichText object that will be stored as plain body text. |
Member Data Documentation
CCnvCharacterSetConverter::TAvailability
iAvailable
CCharFormatLayer * iCharLayer
TUint
iCharsetId
TUint
| iCharsetId | [private] |
The charset of the body text
TDes16 * iChunk16
Pointer to a 16 bit chunk that is being read from the store.
TDes8 * iChunk8
Pointer to a 8 bit chunk that is being read from the store.
TInt
iChunkMaxLength
TInt
| iChunkMaxLength | [private] |
Contains the size of the chunk that will be read or write in the RFile
CCnvCharacterSetConverter * iConverter
Character converter for 8 to 16 bit conversion.
TInt
iCurrentFilePos
TInt
| iCurrentFilePos | [private] |
TUint
iDefaultCharsetId
TUint
| iDefaultCharsetId | [private] |
RFile
iFile
The RFile to which body text is written.
HBufC * iFilePath
HBufC * | iFilePath | [private] |
TBool
iIs8Bit
Indicates whether to store text as 8 bit or 16 bit.
TBool
iIsCommitted
TBool
| iIsCommitted | [private] |
Indicates whether the Rfile is commited or not.
TBool
iIsLastChunk
TBool
| iIsLastChunk | [private] |
Indicates whether the chunk being read is last.
enum CMsvPlainBodyText::@70 iMsvFileStatus
enum CMsvPlainBodyText::@70 | iMsvFileStatus | [private] |
Enum indicating if RFile is being written or read
MMsvStoreManager & iMsvStoreManager
To access APIs related to RFile operations.
CParaFormatLayer * iParaLayer
TInt
iPos
The position from where to extract data in CRichText
TBool
iPrevChunk
TBool
| iPrevChunk | [private] |
Indicates whether call to DoRunl was initiated by PreviousChunkL method.
TInt
iReadChunkLength
TInt
| iReadChunkLength | [private] |
RBuf16
iRemainingConvertedData
RBuf16
| iRemainingConvertedData | [private] |
Contains the remaining converted Unicode Data
HBufC8 * iRemainingUnConvertedData
HBufC8 * | iRemainingUnConvertedData | [private] |
Contains the remaining unconverted Unicode Data
TBool
iRetrieving8bit
TBool
| iRetrieving8bit | [private] |
Indicates whether call to DoRunl was initiated by 8 bit PreviousChunkL and NextChunkL methods.
RBuf8
iRfileReadBuf8
RBuf8
| iRfileReadBuf8 | [private] |
Buffer used to read data from RFile.
TPtrC8
iRfileWritePtr8
TPtrC8
| iRfileWritePtr8 | [private] |
Pointer to 8-bit buffer that needs to be written to RFile.
RArray< TInt > iStartPosOfEachChunkInFile
Array that stores the start positions of each chunk,in Rfile
TInt
iStartPosOfNextChunk
TInt
| iStartPosOfNextChunk | [private] |
Contains the start position of the next chunk
RBuf16
iTempChunk16
Temporary buffer created to Store chunk while it is being written aynchronously.
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.