CImRecvConvert Class Reference

class CImRecvConvert : public CBase

Inherits from

Public Member Functions
~CImRecvConvert()
IMPORT_C voidCancel()
CImConvertCharconv &CharacterConverter()
const TTimeDate()
IMPORT_C TIntDeletedAttachmentSize()
const TMsvIdEntryId()
const CImHeader &Header()
voidImAddToCafMetaDataL(const TDesC8 &)
voidImAddToCafMetaDataL(const TDesC8 &, const TDesC8 &)
TBool ImCafProcessing()
voidImCafRegisterL(const TDesC8 &)
TBool ImCafRegistered()
IMPORT_C voidMessageCompleteL()
IMPORT_C voidMessageCompleteL(TMsvEmailEntry)
IMPORT_C voidMessageCompleteL(TBool)
IMPORT_C TMsvEmailEntryMessageEntryDetailsL()
IMPORT_C CImRecvConvert *NewL(RFs &, CMsvServerEntry *, TUid, TMsvId)
IMPORT_C CImRecvConvert *NewLC(RFs &, CMsvServerEntry *, TUid, TMsvId)
TBool NotFinishedRfc822Header()
IMPORT_C TIntParseNextField(const TDesC8 &)
const TMsvPriorityPriority()
const TIntReceiveError()
IMPORT_C voidResetForHeadersL()
IMPORT_C voidResetL()
voidSaveAllAttachments(TBool)
CMsvServerEntry &ServerEntry()
voidSetAttachmentPathL(const TDesC &)
IMPORT_C voidSetCaf(CImCaf &)
voidSetMsvId(TMsvId)
const TBoolValidCompleteHeader()
IMPORT_C voidWritePartialFooterL(TInt)
Private Member Functions
CImRecvConvert(RFs &, CMsvServerEntry *, TUid, TMsvId)
voidAddFileExtension()
TBool CheckUUEStartL(const TDesC8 &)
voidCloseAttachmentFileL()
voidConstructL(RFs &)
TBool CreateAttachmentL()
voidCreateEntryL()
TBool CreateNonMIMEFolderEntryL(TMsvId)
voidDecodeAndStoreLineL(const TDesC8 &)
voidEndOfHeaderMIMEProcessingL()
voidEndOfHeaderProcessingL()
voidExtractFilename(TLex &, TDes &)
TBool LineIsAllWhitespace()
voidLogging(const TDesC8 &, const TDesC8 &)
voidMoveToParentEntryL()
voidMoveUpFromFolderEntryL()
voidParseBodyLineL(const TDesC8 &)
voidParseMimeLineL(const TDesC8 &)
voidParseNextLineL(const TDesC8 &)
voidParseRecipientListL(CDesCArray &)
voidPrepareDecoder()
voidReplaceInvalidCharacters(TDes &)
voidResetForNewEntryL(TValidEntryType)
voidResetForNonMimeEntryL()
voidSetAttachmentName(TDes &)
voidStore822HeaderL(CMsvStore &, TBool &)
voidStoreBodyTextL(CMsvStore &, TBool &)
TBool StoreEntryDataL()
voidStoreEntryStreamsL()
voidStoreEntryStreamsL(TInt)
voidStoreMIMEHeaderL(CMsvStore &, TBool &)
voidStoreMessageEntryDetailsL()
voidUpdateMultipartDataL()
TInt Value(const TUint8 *&)
voidWhitespace(const TUint8 *&)
voidWritePartialFooter8L(TInt)
voidWriteToAttachmentL(const TDesC8 &)
voidWriteToBodyL(const TDesC8 &, TBool)
voidWriteToBodyL(const TDesC16 &)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Public Member Enumerations
enumTImEntryStreamSaveSettings { KStoreBodyText = 0x00000001, KStore822Header = KStoreBodyText << 1, KStoreMIMEHeader = KStore822Header << 1 }
enumTValidEntryType {
EUnknownEntry, EMessageEntry, EFolderEntry, EAttachmentEntry, ETextEntry, EHtmlEntry, ERtfEntry
}
Public Attributes
TFileName iAttachmentName
CMimeParser *iMimeParser
Private Attributes
TImBodyConvAlgorithm iAlgorithm
TImAttachmentFile iAttachmentFile
TImAttachmentFileState iAttachmentFileState
HBufC *iAttachmentFullPath
TImCodecB64 iB64Codec
TInt8 iBCPadding
CBufBase *iBodyBuf
TMsvId iBodyId
CMsvBodyText *iBodyText
CImCaf *iCaf
CImConvertCharconv *iCharConv
CCharFormatLayer *iCharLayer
CCnvCharacterSetConverter *iCharacterConverter
TBool iCommitLine
CCnvCharacterSetConverter *iConverter
TMsvId iCurrentMultipartFolderEntryId
TBool iCurrentPartIsRichText
HBufC *iDefaultAttachmentName
TValidEntryType iDefaultEntryType
TMsvEmailEntry *iEmailEntry
TInt iEmailPart
TMsvId iEmailServiceId
TInt iEmptyHeaderSize
TBool iEncounteredLineEndingInCarriageReturn
TUint32 iEntryDataSize
TValidEntryType iEntryType
RFile *iFile
TBool iFinalLine
TBool iFinishedHeader
TBool iFirstBoundaryReached
TBool iFirstLinePlainText
RFs *iFsSession
TInt iGlobalIndent
CImConvertHeader *iHeaderConverter
TMsvPriority iImPriority
CImLog *iImcvLog
CImcvUtils *iImcvUtils
TBuf8< KMaxPriorityTextLength >iImportance
TChar iLastChar
TInt iLeaveError
TBuf8< KConversionRemainderLength >iLeftOver
TLex8 iLineLex
RFile iLogFile
TBool iLogFileExists
TInt iLongestLine
TBool iMIMEPart_822Header
TBool iMessageEntryCalled
TBool iNewEntry
TUid iNewMsgType
TBool iNewNonMIMEBodyPart
TBool iNotFinishedRfc822Header
CRichText *iOutputBody
CImHeader *iOutputHeader
CParaFormatLayer *iParaLayer
CArrayFixFlat< TParentDetails > *iParent
TBool iParsedMimeBoundaryLast
TBool iParsedTime
TBool iPartialEmail
HBufC *iPartialEmailFooter
HBufC8 *iPartialEmailFooter8
HBufC8 *iPartialRetrievalBody
CMsvPlainBodyTextEntry *iPlainBodyTextEntry
TBool iPopulateMessage
TBuf8< KMaxPriorityTextLength >iPrecedence
TBool iPrepared
TBool iPreparedToConvert
TInt iPreviousLineLength
TInt iPreviousTrailingWhitespace
TInt iPriority
TImCodecQP iQPCodec
TInt iReceiveError
TBool iReceivingHeadersOnly
TBool iRelatedAttachments
HBufC *iRemovedAttachmentTag
HBufC *iRetainedAttachmentTag
TImRfc822DateField iRfc822Date
CRfc822Token *iRfc822Token
TMsvId iRootEntryId
TMsvId iSavedEntryId
TBool iSavingAttachments
TBuf8< KMaxBoundaryTextLength >iSeekBoundary
CMsvServerEntry *iServerEntry
TInt iSizeOfAttachmentsRemoved
TBool iSkipData
TInt iStore8BitData
TBool iStorePlainBodyText
TPtrC8 iThisLine
TTime iTimeDate
TMsvId iTopMessagePart
TInt iTopPartialDownloadCounter
TImCodecUU iUUCodec
TInt iXPriority

Constructor & Destructor Documentation

CImRecvConvert(RFs &, CMsvServerEntry *, TUid, TMsvId)

CImRecvConvert(RFs &anFs,
CMsvServerEntry *aServerEntry,
TUidaMsgType,
TMsvIdaEmailServiceId
)[private]

Parameters

RFs & anFs
CMsvServerEntry * aServerEntry
TUid aMsgType
TMsvId aEmailServiceId

~CImRecvConvert()

IMPORT_C~CImRecvConvert()

Member Functions Documentation

AddFileExtension()

voidAddFileExtension()[private]

Cancel()

IMPORT_C voidCancel()

CharacterConverter()

CImConvertCharconv &CharacterConverter()[inline]

CheckUUEStartL(const TDesC8 &)

TBool CheckUUEStartL(const TDesC8 &aSourceLine)[private]

Parameters

const TDesC8 & aSourceLine

CloseAttachmentFileL()

voidCloseAttachmentFileL()[private]

ConstructL(RFs &)

voidConstructL(RFs &anFs)[private]

Parameters

RFs & anFs

CreateAttachmentL()

TBool CreateAttachmentL()[private]

CreateEntryL()

voidCreateEntryL()[private]

CreateNonMIMEFolderEntryL(TMsvId)

TBool CreateNonMIMEFolderEntryL(TMsvIdaCurrentId)[private]

Parameters

TMsvId aCurrentId

Date()

const TTimeDate()const [inline]

DecodeAndStoreLineL(const TDesC8 &)

voidDecodeAndStoreLineL(const TDesC8 &aSourceLine)[private]

Parameters

const TDesC8 & aSourceLine

DeletedAttachmentSize()

IMPORT_C TIntDeletedAttachmentSize()

EndOfHeaderMIMEProcessingL()

voidEndOfHeaderMIMEProcessingL()[private]

EndOfHeaderProcessingL()

voidEndOfHeaderProcessingL()[private]

EntryId()

const TMsvIdEntryId()const [inline]

ExtractFilename(TLex &, TDes &)

voidExtractFilename(TLex &aLex,
TDes &rFileName
)[private]

Parameters

TLex & aLex
TDes & rFileName

Header()

const CImHeader &Header()const [inline]

ImAddToCafMetaDataL(const TDesC8 &)

voidImAddToCafMetaDataL(const TDesC8 &aMimeLine)

Parameters

const TDesC8 & aMimeLine

ImAddToCafMetaDataL(const TDesC8 &, const TDesC8 &)

voidImAddToCafMetaDataL(const TDesC8 &aField,
const TDesC8 &aData
)

Parameters

const TDesC8 & aField
const TDesC8 & aData

ImCafProcessing()

TBool ImCafProcessing()const

ImCafRegisterL(const TDesC8 &)

voidImCafRegisterL(const TDesC8 &aMimeLine)

Parameters

const TDesC8 & aMimeLine

ImCafRegistered()

TBool ImCafRegistered()const

LineIsAllWhitespace()

TBool LineIsAllWhitespace()[private]

Logging(const TDesC8 &, const TDesC8 &)

voidLogging(const TDesC8 &aString1,
const TDesC8 &aString2
)[private]

Parameters

const TDesC8 & aString1
const TDesC8 & aString2

MessageCompleteL()

IMPORT_C voidMessageCompleteL()

MessageCompleteL(TMsvEmailEntry)

IMPORT_C voidMessageCompleteL(TMsvEmailEntryaEmailEntry)

Parameters

TMsvEmailEntry aEmailEntry

MessageCompleteL(TBool)

IMPORT_C voidMessageCompleteL(TBoolaPartialDownload)

Parameters

TBool aPartialDownload

MessageEntryDetailsL()

IMPORT_C TMsvEmailEntryMessageEntryDetailsL()

MoveToParentEntryL()

voidMoveToParentEntryL()[private]

MoveUpFromFolderEntryL()

voidMoveUpFromFolderEntryL()[private]

NewL(RFs &, CMsvServerEntry *, TUid, TMsvId)

IMPORT_C CImRecvConvert *NewL(RFs &anFs,
CMsvServerEntry *aServerEntry,
TUidaMsgType,
TMsvIdaEmailServiceId
)[static]

Parameters

RFs & anFs
CMsvServerEntry * aServerEntry
TUid aMsgType
TMsvId aEmailServiceId

NewLC(RFs &, CMsvServerEntry *, TUid, TMsvId)

IMPORT_C CImRecvConvert *NewLC(RFs &anFs,
CMsvServerEntry *aServerEntry,
TUidaMsgType,
TMsvIdaEmailServiceId
)[static]

Parameters

RFs & anFs
CMsvServerEntry * aServerEntry
TUid aMsgType
TMsvId aEmailServiceId

NotFinishedRfc822Header()

TBool NotFinishedRfc822Header()[inline]

ParseBodyLineL(const TDesC8 &)

voidParseBodyLineL(const TDesC8 &aSourceLine)[private]

Parameters

const TDesC8 & aSourceLine

ParseMimeLineL(const TDesC8 &)

voidParseMimeLineL(const TDesC8 &aSourceLine)[private]

Parameters

const TDesC8 & aSourceLine

ParseNextField(const TDesC8 &)

IMPORT_C TIntParseNextField(const TDesC8 &aSourceLine)

Parameters

const TDesC8 & aSourceLine

ParseNextLineL(const TDesC8 &)

voidParseNextLineL(const TDesC8 &aSourceLine)[private]

Parameters

const TDesC8 & aSourceLine

ParseRecipientListL(CDesCArray &)

voidParseRecipientListL(CDesCArray &aRecipientList)[private]

Parameters

CDesCArray & aRecipientList

PrepareDecoder()

voidPrepareDecoder()[private]

Priority()

const TMsvPriorityPriority()const [inline]

ReceiveError()

const TIntReceiveError()const [inline]

ReplaceInvalidCharacters(TDes &)

voidReplaceInvalidCharacters(TDes &rFileName)[private]

Parameters

TDes & rFileName

ResetForHeadersL()

IMPORT_C voidResetForHeadersL()

ResetForNewEntryL(TValidEntryType)

voidResetForNewEntryL(TValidEntryTypeentryType)[private]

Parameters

TValidEntryType entryType

ResetForNonMimeEntryL()

voidResetForNonMimeEntryL()[private]

ResetL()

IMPORT_C voidResetL()

SaveAllAttachments(TBool)

voidSaveAllAttachments(TBoolaSave)[inline]

Parameters

TBool aSave

ServerEntry()

CMsvServerEntry &ServerEntry()[inline]

SetAttachmentName(TDes &)

voidSetAttachmentName(TDes &aFileName)[private]

Parameters

TDes & aFileName

SetAttachmentPathL(const TDesC &)

voidSetAttachmentPathL(const TDesC &aFullPath)[inline]

Parameters

const TDesC & aFullPath

SetCaf(CImCaf &)

IMPORT_C voidSetCaf(CImCaf &aCAF)

Initialise class CimCaf reference

Parameters

CImCaf & aCAF- Reference to a CAF instance

SetMsvId(TMsvId)

voidSetMsvId(TMsvIdaId)[inline]

Parameters

TMsvId aId

Store822HeaderL(CMsvStore &, TBool &)

voidStore822HeaderL(CMsvStore &aStore,
TBool &aCommit
)[private]

Parameters

CMsvStore & aStore
TBool & aCommit

StoreBodyTextL(CMsvStore &, TBool &)

voidStoreBodyTextL(CMsvStore &aStore,
TBool &aCommit
)[private]

Parameters

CMsvStore & aStore
TBool & aCommit

StoreEntryDataL()

TBool StoreEntryDataL()[private]

StoreEntryStreamsL()

voidStoreEntryStreamsL()[private]

StoreEntryStreamsL(TInt)

voidStoreEntryStreamsL(TIntaSettings)[private]

Parameters

TInt aSettings

StoreMIMEHeaderL(CMsvStore &, TBool &)

voidStoreMIMEHeaderL(CMsvStore &aStore,
TBool &aCommit
)[private]

Parameters

CMsvStore & aStore
TBool & aCommit

StoreMessageEntryDetailsL()

voidStoreMessageEntryDetailsL()[private]

UpdateMultipartDataL()

voidUpdateMultipartDataL()[private]

ValidCompleteHeader()

const TBoolValidCompleteHeader()const [inline]

Value(const TUint8 *&)

TInt Value(const TUint8 *&)[private]

Parameters

const TUint8 *&

Whitespace(const TUint8 *&)

voidWhitespace(const TUint8 *&)[private]

Parameters

const TUint8 *&

WritePartialFooter8L(TInt)

voidWritePartialFooter8L(TIntaAmountLeft)[private]

Parameters

TInt aAmountLeft

WritePartialFooterL(TInt)

IMPORT_C voidWritePartialFooterL(TIntaAmountLeft)

Parameters

TInt aAmountLeft

WriteToAttachmentL(const TDesC8 &)

voidWriteToAttachmentL(const TDesC8 &text)[private]

Parameters

const TDesC8 & text

WriteToBodyL(const TDesC8 &, TBool)

voidWriteToBodyL(const TDesC8 &aText,
TBoolaBlankLine = EFalse
)[private]

Parameters

const TDesC8 & aText
TBool aBlankLine = EFalse

WriteToBodyL(const TDesC16 &)

voidWriteToBodyL(const TDesC16 &aText)[private]

Parameters

const TDesC16 & aText

Member Enumerations Documentation

Enum TImEntryStreamSaveSettings

Enumerators

KStoreBodyText = 0x00000001
KStore822Header = KStoreBodyText << 1
KStoreMIMEHeader = KStore822Header << 1

Enum TValidEntryType

Enumerators

EUnknownEntry
EMessageEntry
EFolderEntry
EAttachmentEntry
ETextEntry
EHtmlEntry
ERtfEntry

Member Data Documentation

TImBodyConvAlgorithm iAlgorithm

TImBodyConvAlgorithm iAlgorithm[private]

TImAttachmentFile iAttachmentFile

TImAttachmentFile iAttachmentFile[private]

TImAttachmentFileState iAttachmentFileState

TImAttachmentFileState iAttachmentFileState[private]

HBufC * iAttachmentFullPath

HBufC *iAttachmentFullPath[private]

TFileName iAttachmentName

TFileName iAttachmentName

TImCodecB64 iB64Codec

TImCodecB64 iB64Codec[private]

TInt8 iBCPadding

TInt8 iBCPadding[private]

CBufBase * iBodyBuf

CBufBase *iBodyBuf[private]

TMsvId iBodyId

TMsvId iBodyId[private]

CMsvBodyText * iBodyText

CMsvBodyText *iBodyText[private]

CImCaf * iCaf

CImCaf *iCaf[private]

CImConvertCharconv * iCharConv

CImConvertCharconv *iCharConv[private]

CCharFormatLayer * iCharLayer

CCharFormatLayer *iCharLayer[private]

CCnvCharacterSetConverter * iCharacterConverter

CCnvCharacterSetConverter *iCharacterConverter[private]

TBool iCommitLine

TBool iCommitLine[private]

CCnvCharacterSetConverter * iConverter

CCnvCharacterSetConverter *iConverter[private]

TMsvId iCurrentMultipartFolderEntryId

TMsvId iCurrentMultipartFolderEntryId[private]

TBool iCurrentPartIsRichText

TBool iCurrentPartIsRichText[private]

HBufC * iDefaultAttachmentName

HBufC *iDefaultAttachmentName[private]

TValidEntryType iDefaultEntryType

TValidEntryType iDefaultEntryType[private]

TMsvEmailEntry * iEmailEntry

TMsvEmailEntry *iEmailEntry[private]

TInt iEmailPart

TInt iEmailPart[private]

TMsvId iEmailServiceId

TMsvId iEmailServiceId[private]

TInt iEmptyHeaderSize

TInt iEmptyHeaderSize[private]

TBool iEncounteredLineEndingInCarriageReturn

TBool iEncounteredLineEndingInCarriageReturn[private]

TUint32 iEntryDataSize

TUint32 iEntryDataSize[private]

TValidEntryType iEntryType

TValidEntryType iEntryType[private]

RFile * iFile

RFile *iFile[private]

TBool iFinalLine

TBool iFinalLine[private]

TBool iFinishedHeader

TBool iFinishedHeader[private]

TBool iFirstBoundaryReached

TBool iFirstBoundaryReached[private]

TBool iFirstLinePlainText

TBool iFirstLinePlainText[private]

RFs * iFsSession

RFs *iFsSession[private]

TInt iGlobalIndent

TInt iGlobalIndent[private]

CImConvertHeader * iHeaderConverter

CImConvertHeader *iHeaderConverter[private]

TMsvPriority iImPriority

TMsvPriority iImPriority[private]

CImLog * iImcvLog

CImLog *iImcvLog[private]

CImcvUtils * iImcvUtils

CImcvUtils *iImcvUtils[private]

TBuf8< KMaxPriorityTextLength > iImportance

TBuf8< KMaxPriorityTextLength >iImportance[private]

TChar iLastChar

TChar iLastChar[private]

TInt iLeaveError

TInt iLeaveError[private]

TBuf8< KConversionRemainderLength > iLeftOver

TBuf8< KConversionRemainderLength >iLeftOver[private]

TLex8 iLineLex

TLex8 iLineLex[private]

RFile iLogFile

RFile iLogFile[private]

TBool iLogFileExists

TBool iLogFileExists[private]

TInt iLongestLine

TInt iLongestLine[private]

TBool iMIMEPart_822Header

TBool iMIMEPart_822Header[private]

TBool iMessageEntryCalled

TBool iMessageEntryCalled[private]

CMimeParser * iMimeParser

CMimeParser *iMimeParser

TBool iNewEntry

TBool iNewEntry[private]

TUid iNewMsgType

TUid iNewMsgType[private]

TBool iNewNonMIMEBodyPart

TBool iNewNonMIMEBodyPart[private]

TBool iNotFinishedRfc822Header

TBool iNotFinishedRfc822Header[private]

CRichText * iOutputBody

CRichText *iOutputBody[private]

CImHeader * iOutputHeader

CImHeader *iOutputHeader[private]

CParaFormatLayer * iParaLayer

CParaFormatLayer *iParaLayer[private]

CArrayFixFlat< TParentDetails > * iParent

CArrayFixFlat< TParentDetails > *iParent[private]

TBool iParsedMimeBoundaryLast

TBool iParsedMimeBoundaryLast[private]

TBool iParsedTime

TBool iParsedTime[private]

TBool iPartialEmail

TBool iPartialEmail[private]

HBufC * iPartialEmailFooter

HBufC *iPartialEmailFooter[private]

HBufC8 * iPartialEmailFooter8

HBufC8 *iPartialEmailFooter8[private]

HBufC8 * iPartialRetrievalBody

HBufC8 *iPartialRetrievalBody[private]

CMsvPlainBodyTextEntry * iPlainBodyTextEntry

CMsvPlainBodyTextEntry *iPlainBodyTextEntry[private]

TBool iPopulateMessage

TBool iPopulateMessage[private]

TBuf8< KMaxPriorityTextLength > iPrecedence

TBuf8< KMaxPriorityTextLength >iPrecedence[private]

TBool iPrepared

TBool iPrepared[private]

TBool iPreparedToConvert

TBool iPreparedToConvert[private]

TInt iPreviousLineLength

TInt iPreviousLineLength[private]

TInt iPreviousTrailingWhitespace

TInt iPreviousTrailingWhitespace[private]

TInt iPriority

TInt iPriority[private]

TImCodecQP iQPCodec

TImCodecQP iQPCodec[private]

TInt iReceiveError

TInt iReceiveError[private]

TBool iReceivingHeadersOnly

TBool iReceivingHeadersOnly[private]

TBool iRelatedAttachments

TBool iRelatedAttachments[private]

HBufC * iRemovedAttachmentTag

HBufC *iRemovedAttachmentTag[private]

HBufC * iRetainedAttachmentTag

HBufC *iRetainedAttachmentTag[private]

TImRfc822DateField iRfc822Date

TImRfc822DateField iRfc822Date[private]

CRfc822Token * iRfc822Token

CRfc822Token *iRfc822Token[private]

TMsvId iRootEntryId

TMsvId iRootEntryId[private]

TMsvId iSavedEntryId

TMsvId iSavedEntryId[private]

TBool iSavingAttachments

TBool iSavingAttachments[private]

TBuf8< KMaxBoundaryTextLength > iSeekBoundary

TBuf8< KMaxBoundaryTextLength >iSeekBoundary[private]

CMsvServerEntry * iServerEntry

CMsvServerEntry *iServerEntry[private]

TInt iSizeOfAttachmentsRemoved

TInt iSizeOfAttachmentsRemoved[private]

TBool iSkipData

TBool iSkipData[private]

TInt iStore8BitData

TInt iStore8BitData[private]

TBool iStorePlainBodyText

TBool iStorePlainBodyText[private]

TPtrC8 iThisLine

TPtrC8 iThisLine[private]

TTime iTimeDate

TTime iTimeDate[private]

TMsvId iTopMessagePart

TMsvId iTopMessagePart[private]

TInt iTopPartialDownloadCounter

TInt iTopPartialDownloadCounter[private]

TImCodecUU iUUCodec

TImCodecUU iUUCodec[private]

TInt iXPriority

TInt iXPriority[private]