Swi::Sis::CField Class Reference

class Swi::Sis::CField : public CBase

This class represents a Field. Field is a basic structure found in files. It is described in SGL.GT0188.251.

Inherits from

Public Member Functions
~CField ()
TFieldType FieldType ()
TInt HeaderSize ( TArrayStatus )
IMPORT_C TFieldLength Length ()
TInt PaddingSize ()
Protected Member Functions
CField ()
void CalculateCrcL ( MSisDataProvider &, const TInt64 , TUint16 &)
void CheckedReadL ( MSisDataProvider &, TDes8 &, TInt64 &)
void CheckedReadL ( MSisDataProvider &, TDes8 &, TInt , TInt64 &)
void ConstructL ( MSisDataProvider &, TFieldType , TInt64 &, TReadTypeBehaviour )
void ConstructL ( TPtrProvider &, TFieldType , TInt64 &, TReadTypeBehaviour )
void CreateHeader ( TFieldType , TFieldLength , TDes8 &)
void EnsureAlignedL ( MSisDataProvider &, TInt64 , TInt64 &, TReadTypeBehaviour )
void EnsureAlignedL ( TPtrProvider &, TInt64 , TInt64 &, TReadTypeBehaviour )
void ReadEnumL ( MSisDataProvider &, EnumType &, TInt64 &)
void ReadEnumL ( TPtrProvider &, EnumType &, TInt64 &)
void ReadMemberArrayL ( MSisDataProvider &, RPointerArray < T > &, TFieldType , TInt64 &, TReadTypeBehaviour )
void ReadMemberArrayL ( TPtrProvider &, RPointerArray < T > &, TFieldType , TInt64 &, TReadTypeBehaviour )
void ReadMemberCollectionL ( MSisDataProvider &, RPointerArray < T > &, TFieldType , TFieldType , TInt64 &, TReadTypeBehaviour )
void ReadMemberCollectionL ( TPtrProvider &, RPointerArray < T > &, TFieldType , TFieldType , TInt64 &, TReadTypeBehaviour )
void ReadTTypeL ( MSisDataProvider &, T &, TInt64 &)
void ReadTTypeL ( TPtrProvider &, T &, TInt64 &)
void SkipUnknownFieldsL ( MSisDataProvider &, TInt64 , TInt64 &, TReadTypeBehaviour )
void SkipUnknownFieldsL ( TPtrProvider &, TInt64 , TInt64 &, TReadTypeBehaviour )
Private Member Functions
CField (const CField &)
void ReadLengthL ( MSisDataProvider &, TInt64 &)
void ReadLengthL ( TPtrProvider &, TInt64 &)
void ReadTypeL ( MSisDataProvider &, TFieldType , TInt64 &, TReadTypeBehaviour )
void ReadTypeL ( TPtrProvider &, TFieldType , TInt64 &, TReadTypeBehaviour )
CField & operator= (const CField &)
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
enum TArrayStatus { EInArray , ENotInArray }
Private Attributes
TInt iHeaderSize
TFieldLength iLength
TFieldType iType

Constructor & Destructor Documentation

CField()

CField ( ) [protected]

CField(const CField &)

CField ( const CField & aField ) [private]

Parameters

const CField & aField

~CField()

~CField ( ) [virtual]

Member Functions Documentation

CalculateCrcL(MSisDataProvider &, const TInt64, TUint16 &)

void CalculateCrcL ( MSisDataProvider & aDataProvider,
const TInt64 aLength,
TUint16 & aCrc
) [protected, static]

Parameters

MSisDataProvider & aDataProvider
const TInt64 aLength
TUint16 & aCrc

CheckedReadL(MSisDataProvider &, TDes8 &, TInt64 &)

void CheckedReadL ( MSisDataProvider & aDataProvider,
TDes8 & aBuffer,
TInt64 & aBytesRead
) [protected, static]

Parameters

MSisDataProvider & aDataProvider
TDes8 & aBuffer
TInt64 & aBytesRead

CheckedReadL(MSisDataProvider &, TDes8 &, TInt, TInt64 &)

void CheckedReadL ( MSisDataProvider & aDataProvider,
TDes8 & aBuffer,
TInt aSize,
TInt64 & aBytesRead
) [protected, static]

Parameters

MSisDataProvider & aDataProvider
TDes8 & aBuffer
TInt aSize
TInt64 & aBytesRead

ConstructL(MSisDataProvider &, TFieldType, TInt64 &, TReadTypeBehaviour)

void ConstructL ( MSisDataProvider & aDataProvider,
TFieldType aFieldType,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour
) [protected]

The second phase constructor.

Parameters

MSisDataProvider & aDataProvider An instance of a MSisDataProvider to read the entity from.
TFieldType aFieldType The field type we are attempting to read.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour Whether we need to check the sis type or not.

ConstructL(TPtrProvider &, TFieldType, TInt64 &, TReadTypeBehaviour)

void ConstructL ( TPtrProvider & aDataProvider,
TFieldType aFieldType,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour
) [protected]

The second phase in place constructor.

Parameters

TPtrProvider & aDataProvider An instance of a TPtrProvider to read the entity from.
TFieldType aFieldType The field type we are attempting to read.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour Whether we need to check the sis type or not.

CreateHeader(TFieldType, TFieldLength, TDes8 &)

void CreateHeader ( TFieldType aFieldType,
TFieldLength aFieldLength,
TDes8 & aHeader
) [protected, static]

Parameters

TFieldType aFieldType
TFieldLength aFieldLength
TDes8 & aHeader

EnsureAlignedL(MSisDataProvider &, TInt64, TInt64 &, TReadTypeBehaviour)

void EnsureAlignedL ( MSisDataProvider & aDataProvider,
TInt64 aBytesConsumed,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour
) [protected]

Parameters

MSisDataProvider & aDataProvider
TInt64 aBytesConsumed
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

EnsureAlignedL(TPtrProvider &, TInt64, TInt64 &, TReadTypeBehaviour)

void EnsureAlignedL ( TPtrProvider & aDataProvider,
TInt64 aBytesConsumed,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour
) [protected]

Parameters

TPtrProvider & aDataProvider
TInt64 aBytesConsumed
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

FieldType()

TFieldType FieldType ( ) const

This function returns the value of the Type part of the Field.

HeaderSize(TArrayStatus)

TInt HeaderSize ( TArrayStatus aInArray = ENotInArray ) const [inline]

Each SISField has and header comprising its type and its length. This last attribute has variable size. This method can be used to ascertain the size of the header.

Parameters

TArrayStatus aInArray = ENotInArray

Length()

IMPORT_C TFieldLength Length ( ) const

This function returns the value of the Length part of the Field.

PaddingSize()

TInt PaddingSize ( ) const [inline]

SISFields can be padded, use this function to learn how many padding bytes are used in this SISField.

ReadEnumL(MSisDataProvider &, EnumType &, TInt64 &)

void ReadEnumL ( MSisDataProvider & aDataProvider,
EnumType & aValue,
TInt64 & aBytesRead
) [protected, static, inline]

Parameters

MSisDataProvider & aDataProvider
EnumType & aValue
TInt64 & aBytesRead

ReadEnumL(TPtrProvider &, EnumType &, TInt64 &)

void ReadEnumL ( TPtrProvider & aDataProvider,
EnumType & aValue,
TInt64 & aBytesRead
) [protected, static, inline]

Parameters

TPtrProvider & aDataProvider
EnumType & aValue
TInt64 & aBytesRead

ReadLengthL(MSisDataProvider &, TInt64 &)

void ReadLengthL ( MSisDataProvider & aDataProvider,
TInt64 & aBytesRead
) [private]

Parameters

MSisDataProvider & aDataProvider
TInt64 & aBytesRead

ReadLengthL(TPtrProvider &, TInt64 &)

void ReadLengthL ( TPtrProvider & aDataProvider,
TInt64 & aBytesRead
) [private]

Parameters

TPtrProvider & aDataProvider
TInt64 & aBytesRead

ReadMemberArrayL(MSisDataProvider &, RPointerArray< T > &, TFieldType, TInt64 &, TReadTypeBehaviour)

void ReadMemberArrayL ( MSisDataProvider & aDataProvider,
RPointerArray < T > & aArray,
TFieldType aExpectedInternalField,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour = EReadType
) [protected]

Parameters

MSisDataProvider & aDataProvider
RPointerArray < T > & aArray
TFieldType aExpectedInternalField
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour = EReadType

ReadMemberArrayL(TPtrProvider &, RPointerArray< T > &, TFieldType, TInt64 &, TReadTypeBehaviour)

void ReadMemberArrayL ( TPtrProvider & aDataProvider,
RPointerArray < T > & aArray,
TFieldType aExpectedInternalField,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour = EReadType
) [protected]

Parameters

TPtrProvider & aDataProvider
RPointerArray < T > & aArray
TFieldType aExpectedInternalField
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour = EReadType

ReadMemberCollectionL(MSisDataProvider &, RPointerArray< T > &, TFieldType, TFieldType, TInt64 &, TReadTypeBehaviour)

void ReadMemberCollectionL ( MSisDataProvider & aDataProvider,
RPointerArray < T > & aArray,
TFieldType aExpectedInternalField,
TFieldType aTerminatingInternalFieldType,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour = EReadType
) [protected]

Parameters

MSisDataProvider & aDataProvider
RPointerArray < T > & aArray
TFieldType aExpectedInternalField
TFieldType aTerminatingInternalFieldType
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour = EReadType

ReadMemberCollectionL(TPtrProvider &, RPointerArray< T > &, TFieldType, TFieldType, TInt64 &, TReadTypeBehaviour)

void ReadMemberCollectionL ( TPtrProvider & aDataProvider,
RPointerArray < T > & aArray,
TFieldType aExpectedInternalField,
TFieldType aTerminatingInternalFieldType,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour = EReadType
) [protected]

Parameters

TPtrProvider & aDataProvider
RPointerArray < T > & aArray
TFieldType aExpectedInternalField
TFieldType aTerminatingInternalFieldType
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour = EReadType

ReadTTypeL(MSisDataProvider &, T &, TInt64 &)

void ReadTTypeL ( MSisDataProvider & aDataProvider,
T & aValue,
TInt64 & aBytesRead
) [protected, static, inline]

Parameters

MSisDataProvider & aDataProvider
T & aValue
TInt64 & aBytesRead

ReadTTypeL(TPtrProvider &, T &, TInt64 &)

void ReadTTypeL ( TPtrProvider & aDataProvider,
T & aValue,
TInt64 & aBytesRead
) [protected, static, inline]

Parameters

TPtrProvider & aDataProvider
T & aValue
TInt64 & aBytesRead

ReadTypeL(MSisDataProvider &, TFieldType, TInt64 &, TReadTypeBehaviour)

void ReadTypeL ( MSisDataProvider & aDataProvider,
TFieldType aFieldType,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour
) [private]

Parameters

MSisDataProvider & aDataProvider
TFieldType aFieldType
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

ReadTypeL(TPtrProvider &, TFieldType, TInt64 &, TReadTypeBehaviour)

void ReadTypeL ( TPtrProvider & aDataProvider,
TFieldType aFieldType,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour
) [private]

Parameters

TPtrProvider & aDataProvider
TFieldType aFieldType
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

SkipUnknownFieldsL(MSisDataProvider &, TInt64, TInt64 &, TReadTypeBehaviour)

void SkipUnknownFieldsL ( MSisDataProvider & aDataProvider,
TInt64 aBytesConsumed,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour
) [protected]

Parameters

MSisDataProvider & aDataProvider
TInt64 aBytesConsumed
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

SkipUnknownFieldsL(TPtrProvider &, TInt64, TInt64 &, TReadTypeBehaviour)

void SkipUnknownFieldsL ( TPtrProvider & aDataProvider,
TInt64 aBytesConsumed,
TInt64 & aBytesRead,
TReadTypeBehaviour aTypeReadBehaviour
) [protected]

Parameters

TPtrProvider & aDataProvider
TInt64 aBytesConsumed
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

operator=(const CField &)

CField & operator= ( const CField & aField ) [private]

Parameters

const CField & aField

Member Enumerations Documentation

Enum TArrayStatus

Enumerators

EInArray
ENotInArray

Member Data Documentation

TInt iHeaderSize

TInt iHeaderSize [private]

Size of the SISField header if it were not stored in an array so 12 if length is stored in 8 bytes and 8 if length is stored in 4 bytes

TFieldLength iLength

TFieldLength iLength [private]

TFieldType iType

TFieldType iType [private]