CMTPTypeInterdependentPropDesc Class Reference

class CMTPTypeInterdependentPropDesc : public CMTPTypeCompoundBase

Defines the MTP InterdependentPropDesc dataset. The InterdependentPropDesc implements an array of MTP ObjectPropDesc arrays, each describing a permissable collection of ranges. Each array of MTP ObjectPropDesc datasets gives one possible definition for the interdependent properties that are contained in that array; properties not found in that array are constrained only by the usual ObjectPropDesc datasets. This dataset is used in the GetInterdependentPropDesc request.

Inherits from

Public Member Functions
~CMTPTypeInterdependentPropDesc()
IMPORT_C voidAppendL(CMTPTypeInterdependentProperties *)
IMPORT_C MMTPType *CommitChunkL(TPtr8 &)
IMPORT_C TBoolCommitRequired()
IMPORT_C TIntFirstWriteChunk(TPtr8 &)
IMPORT_C CMTPTypeInterdependentProperties &InterdependentProperties(TUint)
IMPORT_C CMTPTypeInterdependentPropDesc *NewL()
IMPORT_C CMTPTypeInterdependentPropDesc *NewLC()
IMPORT_C TIntNextWriteChunk(TPtr8 &)
IMPORT_C TUint32NumberOfInterdependencies()
IMPORT_C TUintType()
Private Member Functions
CMTPTypeInterdependentPropDesc()
voidAppendElementChunkL(CMTPTypeInterdependentProperties *)
voidConstructL()
const TElementInfo &ElementInfo(TInt)
TInt UpdateWriteSequenceErr(TInt)
TInt ValidateChunkCount()
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()
CMTPTypeCompoundBase::CMTPTypeCompoundBase(TBool,TUint)
CMTPTypeCompoundBase::ChunkAppendL(const MMTPType &)
CMTPTypeCompoundBase::ChunkCount()const
CMTPTypeCompoundBase::ChunkRemove(TUint)
CMTPTypeCompoundBase::FirstReadChunk(TPtrC8 &)const
CMTPTypeCompoundBase::GetL(TInt,MMTPType &)const
CMTPTypeCompoundBase::Int16L(TInt)const
CMTPTypeCompoundBase::Int32L(TInt)const
CMTPTypeCompoundBase::Int64L(TInt)const
CMTPTypeCompoundBase::Int8L(TInt)const
CMTPTypeCompoundBase::NextReadChunk(TPtrC8 &)const
CMTPTypeCompoundBase::NextWriteChunk(TPtr8 &,TUint)
CMTPTypeCompoundBase::ReadableElementL(TInt)const
CMTPTypeCompoundBase::Reset()
CMTPTypeCompoundBase::SetExpectedChunkCount(TUint)
CMTPTypeCompoundBase::SetInt16L(TInt,TInt16)
CMTPTypeCompoundBase::SetInt32L(TInt,TInt32)
CMTPTypeCompoundBase::SetInt64L(TInt,TInt64)
CMTPTypeCompoundBase::SetInt8L(TInt,TInt8)
CMTPTypeCompoundBase::SetL(TInt,const MMTPType &)
CMTPTypeCompoundBase::SetStringL(TInt,const TDesC &)
CMTPTypeCompoundBase::SetUint16L(TInt,TUint16)
CMTPTypeCompoundBase::SetUint32L(TInt,TUint32)
CMTPTypeCompoundBase::SetUint64L(TInt,TUint64)
CMTPTypeCompoundBase::SetUint8L(TInt,TUint8)
CMTPTypeCompoundBase::Size()const
CMTPTypeCompoundBase::StringCharsL(TInt)const
CMTPTypeCompoundBase::StringNumCharsL(TInt)const
CMTPTypeCompoundBase::Uint16L(TInt)const
CMTPTypeCompoundBase::Uint32L(TInt)const
CMTPTypeCompoundBase::Uint64L(TInt)const
CMTPTypeCompoundBase::Uint8L(TInt)const
CMTPTypeCompoundBase::Validate()const
CMTPTypeCompoundBase::WriteableElementL(TInt)const
CMTPTypeCompoundBase::~CMTPTypeCompoundBase()
Private Member Enumerations
enumTReadWriteSequenceState { EIdle, EInProgress }
Private Attributes
const TUintKInterdependentPropertiesChunks
const TUintKNumberOfInterdependenciesChunk
TMTPTypeUint32 iChunkNumberOfInterdependencies
RPointerArray< CMTPTypeInterdependentProperties >iChunksInterdependentProperties
CMTPTypeCompoundBase::TElementInfo iInfoInterdependentProperties
CMTPTypeCompoundBase::TElementInfo iInfoNumberOfInterdependencies
TInt iWriteSequenceErr
TUint iWriteSequenceState
Inherited Attributes
CMTPTypeCompoundBase::KJustInTimeConstruction
CMTPTypeCompoundBase::KMTPNotApplicable
CMTPTypeCompoundBase::KVariableChunkCount
CMTPTypeCompoundBase::iChunks
CMTPTypeCompoundBase::iWriteChunk

Constructor & Destructor Documentation

CMTPTypeInterdependentPropDesc()

CMTPTypeInterdependentPropDesc()[private]

~CMTPTypeInterdependentPropDesc()

IMPORT_C~CMTPTypeInterdependentPropDesc()[virtual]

Destructor.

Member Functions Documentation

AppendElementChunkL(CMTPTypeInterdependentProperties *)

voidAppendElementChunkL(CMTPTypeInterdependentProperties *aElement)[private]

Parameters

CMTPTypeInterdependentProperties * aElement

AppendL(CMTPTypeInterdependentProperties *)

IMPORT_C voidAppendL(CMTPTypeInterdependentProperties *aInterdependentProperties)
Appends the specified InterdependentPropDesc value quadruple to the InterdependentPropDesc. Ownership of the specified InterdependentPropDesc value quadruple is passed to the InterdependentPropDesc.
leave
One of the system wide error codes, if unsuccessful.

Parameters

CMTPTypeInterdependentProperties * aInterdependentProperties

CommitChunkL(TPtr8 &)

IMPORT_C MMTPType *CommitChunkL(TPtr8 &aChunk)[virtual]

Parameters

TPtr8 & aChunk

CommitRequired()

IMPORT_C TBoolCommitRequired()const [virtual]

ConstructL()

voidConstructL()[private]

ElementInfo(TInt)

const TElementInfo &ElementInfo(TIntaElementId)const [private, virtual]

Provides the TElementInfo data for the specified element.

Parameters

TInt aElementIdThe identifier of the requested element.

FirstWriteChunk(TPtr8 &)

IMPORT_C TIntFirstWriteChunk(TPtr8 &aChunk)[virtual]

Parameters

TPtr8 & aChunk

InterdependentProperties(TUint)

IMPORT_C CMTPTypeInterdependentProperties &InterdependentProperties(TUintaIndex)const
Provides a non-const reference to the InterdependentPropDesc value quadruple element at the specified index.
leave
One of the system wide error codes, if unsuccessful.

Parameters

TUint aIndexThe index of the required element.

NewL()

IMPORT_C CMTPTypeInterdependentPropDesc *NewL()[static]
MTP InterdependentPropDesc dataset factory method. This method is used to create an empty MTP InterdependentPropDesc dataset.
leave
One of the system wide error codes, if unsuccessful.

NewLC()

IMPORT_C CMTPTypeInterdependentPropDesc *NewLC()[static]
MTP InterdependentPropDesc dataset factory method. This method is used to create an empty MTP InterdependentPropDesc dataset. A pointer to the data type is placed on the cleanup stack.
leave
One of the system wide error codes, if unsuccessful.

NextWriteChunk(TPtr8 &)

IMPORT_C TIntNextWriteChunk(TPtr8 &aChunk)[virtual]

Parameters

TPtr8 & aChunk

NumberOfInterdependencies()

IMPORT_C TUint32NumberOfInterdependencies()const

Provides the NumberOfElements element value.

Type()

IMPORT_C TUintType()const [virtual]

UpdateWriteSequenceErr(TInt)

TInt UpdateWriteSequenceErr(TIntaErr)[private]

Parameters

TInt aErr

ValidateChunkCount()

TInt ValidateChunkCount()const [private, virtual]

Validates that the number of chunks making up the compound type is valid. This method is invoked on variable length compound types by the default Valid implementation. Valid KVariableChunkCount

Member Enumerations Documentation

Enum TReadWriteSequenceState

The write data stream states.

Enumerators

EIdle

Data stream is inactive.

EInProgress

Data stream is in progress.

Member Data Documentation

const TUint KInterdependentPropertiesChunks

const TUintKInterdependentPropertiesChunks[private, static]

The InterdependentProperties array starting element data chunk ID.

const TUint KNumberOfInterdependenciesChunk

const TUintKNumberOfInterdependenciesChunk[private, static]

The NumberOfInterdependencies element data chunk ID.

TMTPTypeUint32 iChunkNumberOfInterdependencies

TMTPTypeUint32 iChunkNumberOfInterdependencies[private]

The NumberOfInterdependencies data chunk.

RPointerArray< CMTPTypeInterdependentProperties > iChunksInterdependentProperties

RPointerArray< CMTPTypeInterdependentProperties >iChunksInterdependentProperties[private]

The InterdependentProperties elements array data chunks.

CMTPTypeCompoundBase::TElementInfo iInfoInterdependentProperties

CMTPTypeCompoundBase::TElementInfo iInfoInterdependentProperties[private]

The InterdependentProperties elements array metadata content. Note that this is declared mutable to allow state updates while processing a read data stream.

CMTPTypeCompoundBase::TElementInfo iInfoNumberOfInterdependencies

CMTPTypeCompoundBase::TElementInfo iInfoNumberOfInterdependencies[private]

The NumberOfInterdependencies element metadata content.

TInt iWriteSequenceErr

TInt iWriteSequenceErr[private]

The write data stream error state.

TUint iWriteSequenceState

TUint iWriteSequenceState[private]

The write data stream state variable.