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 TFieldLengthLength()
TInt PaddingSize()
Protected Member Functions
CField()
voidCalculateCrcL(MSisDataProvider &, const TInt64, TUint16 &)
voidCheckedReadL(MSisDataProvider &, TDes8 &, TInt64 &)
voidCheckedReadL(MSisDataProvider &, TDes8 &, TInt, TInt64 &)
voidConstructL(MSisDataProvider &, TFieldType, TInt64 &, TReadTypeBehaviour)
voidConstructL(TPtrProvider &, TFieldType, TInt64 &, TReadTypeBehaviour)
voidCreateHeader(TFieldType, TFieldLength, TDes8 &)
voidEnsureAlignedL(MSisDataProvider &, TInt64, TInt64 &, TReadTypeBehaviour)
voidEnsureAlignedL(TPtrProvider &, TInt64, TInt64 &, TReadTypeBehaviour)
voidReadEnumL(MSisDataProvider &, EnumType &, TInt64 &)
voidReadEnumL(TPtrProvider &, EnumType &, TInt64 &)
voidReadMemberArrayL(MSisDataProvider &, RPointerArray< T > &, TFieldType, TInt64 &, TReadTypeBehaviour)
voidReadMemberArrayL(TPtrProvider &, RPointerArray< T > &, TFieldType, TInt64 &, TReadTypeBehaviour)
voidReadMemberCollectionL(MSisDataProvider &, RPointerArray< T > &, TFieldType, TFieldType, TInt64 &, TReadTypeBehaviour)
voidReadMemberCollectionL(TPtrProvider &, RPointerArray< T > &, TFieldType, TFieldType, TInt64 &, TReadTypeBehaviour)
voidReadTTypeL(MSisDataProvider &, T &, TInt64 &)
voidReadTTypeL(TPtrProvider &, T &, TInt64 &)
voidSkipUnknownFieldsL(MSisDataProvider &, TInt64, TInt64 &, TReadTypeBehaviour)
voidSkipUnknownFieldsL(TPtrProvider &, TInt64, TInt64 &, TReadTypeBehaviour)
Private Member Functions
CField(const CField &)
voidReadLengthL(MSisDataProvider &, TInt64 &)
voidReadLengthL(TPtrProvider &, TInt64 &)
voidReadTypeL(MSisDataProvider &, TFieldType, TInt64 &, TReadTypeBehaviour)
voidReadTypeL(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
enumTArrayStatus { 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 &)

voidCalculateCrcL(MSisDataProvider &aDataProvider,
const TInt64aLength,
TUint16 &aCrc
)[protected, static]

Parameters

MSisDataProvider & aDataProvider
const TInt64 aLength
TUint16 & aCrc

CheckedReadL(MSisDataProvider &, TDes8 &, TInt64 &)

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

Parameters

MSisDataProvider & aDataProvider
TDes8 & aBuffer
TInt64 & aBytesRead

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

voidCheckedReadL(MSisDataProvider &aDataProvider,
TDes8 &aBuffer,
TIntaSize,
TInt64 &aBytesRead
)[protected, static]

Parameters

MSisDataProvider & aDataProvider
TDes8 & aBuffer
TInt aSize
TInt64 & aBytesRead

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

voidConstructL(MSisDataProvider &aDataProvider,
TFieldTypeaFieldType,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[protected]

The second phase constructor.

Parameters

MSisDataProvider & aDataProviderAn instance of a MSisDataProvider to read the entity from.
TFieldType aFieldTypeThe field type we are attempting to read.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviourWhether we need to check the sis type or not.

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

voidConstructL(TPtrProvider &aDataProvider,
TFieldTypeaFieldType,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[protected]

The second phase in place constructor.

Parameters

TPtrProvider & aDataProviderAn instance of a TPtrProvider to read the entity from.
TFieldType aFieldTypeThe field type we are attempting to read.
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviourWhether we need to check the sis type or not.

CreateHeader(TFieldType, TFieldLength, TDes8 &)

voidCreateHeader(TFieldTypeaFieldType,
TFieldLengthaFieldLength,
TDes8 &aHeader
)[protected, static]

Parameters

TFieldType aFieldType
TFieldLength aFieldLength
TDes8 & aHeader

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

voidEnsureAlignedL(MSisDataProvider &aDataProvider,
TInt64aBytesConsumed,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[protected]

Parameters

MSisDataProvider & aDataProvider
TInt64 aBytesConsumed
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

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

voidEnsureAlignedL(TPtrProvider &aDataProvider,
TInt64aBytesConsumed,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[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(TArrayStatusaInArray = 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 TFieldLengthLength()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 &)

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

Parameters

MSisDataProvider & aDataProvider
EnumType & aValue
TInt64 & aBytesRead

ReadEnumL(TPtrProvider &, EnumType &, TInt64 &)

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

Parameters

TPtrProvider & aDataProvider
EnumType & aValue
TInt64 & aBytesRead

ReadLengthL(MSisDataProvider &, TInt64 &)

voidReadLengthL(MSisDataProvider &aDataProvider,
TInt64 &aBytesRead
)[private]

Parameters

MSisDataProvider & aDataProvider
TInt64 & aBytesRead

ReadLengthL(TPtrProvider &, TInt64 &)

voidReadLengthL(TPtrProvider &aDataProvider,
TInt64 &aBytesRead
)[private]

Parameters

TPtrProvider & aDataProvider
TInt64 & aBytesRead

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

voidReadMemberArrayL(MSisDataProvider &aDataProvider,
RPointerArray< T > &aArray,
TFieldTypeaExpectedInternalField,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[protected]

Parameters

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

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

voidReadMemberArrayL(TPtrProvider &aDataProvider,
RPointerArray< T > &aArray,
TFieldTypeaExpectedInternalField,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[protected]

Parameters

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

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

voidReadMemberCollectionL(MSisDataProvider &aDataProvider,
RPointerArray< T > &aArray,
TFieldTypeaExpectedInternalField,
TFieldTypeaTerminatingInternalFieldType,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour = 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)

voidReadMemberCollectionL(TPtrProvider &aDataProvider,
RPointerArray< T > &aArray,
TFieldTypeaExpectedInternalField,
TFieldTypeaTerminatingInternalFieldType,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour = EReadType
)[protected]

Parameters

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

ReadTTypeL(MSisDataProvider &, T &, TInt64 &)

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

Parameters

MSisDataProvider & aDataProvider
T & aValue
TInt64 & aBytesRead

ReadTTypeL(TPtrProvider &, T &, TInt64 &)

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

Parameters

TPtrProvider & aDataProvider
T & aValue
TInt64 & aBytesRead

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

voidReadTypeL(MSisDataProvider &aDataProvider,
TFieldTypeaFieldType,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[private]

Parameters

MSisDataProvider & aDataProvider
TFieldType aFieldType
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

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

voidReadTypeL(TPtrProvider &aDataProvider,
TFieldTypeaFieldType,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[private]

Parameters

TPtrProvider & aDataProvider
TFieldType aFieldType
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

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

voidSkipUnknownFieldsL(MSisDataProvider &aDataProvider,
TInt64aBytesConsumed,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[protected]

Parameters

MSisDataProvider & aDataProvider
TInt64 aBytesConsumed
TInt64 & aBytesRead
TReadTypeBehaviour aTypeReadBehaviour

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

voidSkipUnknownFieldsL(TPtrProvider &aDataProvider,
TInt64aBytesConsumed,
TInt64 &aBytesRead,
TReadTypeBehaviouraTypeReadBehaviour
)[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]