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 void AppendL ( CMTPTypeInterdependentProperties *)
IMPORT_C MMTPType * CommitChunkL ( TPtr8 &)
IMPORT_C TBool CommitRequired ()
IMPORT_C TInt FirstWriteChunk ( TPtr8 &)
IMPORT_C CMTPTypeInterdependentProperties & InterdependentProperties ( TUint )
IMPORT_C CMTPTypeInterdependentPropDesc * NewL ()
IMPORT_C CMTPTypeInterdependentPropDesc * NewLC ()
IMPORT_C TInt NextWriteChunk ( TPtr8 &)
IMPORT_C TUint32 NumberOfInterdependencies ()
IMPORT_C TUint Type ()
Private Member Functions
CMTPTypeInterdependentPropDesc ()
void AppendElementChunkL ( CMTPTypeInterdependentProperties *)
void ConstructL ()
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
enum TReadWriteSequenceState { EIdle , EInProgress }
Private Attributes
const TUint KInterdependentPropertiesChunks
const TUint KNumberOfInterdependenciesChunk
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 *)

void AppendElementChunkL ( CMTPTypeInterdependentProperties * aElement ) [private]

AppendL(CMTPTypeInterdependentProperties *)

IMPORT_C void AppendL ( 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 TBool CommitRequired ( ) const [virtual]

ConstructL()

void ConstructL ( ) [private]

ElementInfo(TInt)

const TElementInfo & ElementInfo ( TInt aElementId ) const [private, virtual]

Provides the TElementInfo data for the specified element.

Parameters

TInt aElementId The identifier of the requested element.

FirstWriteChunk(TPtr8 &)

IMPORT_C TInt FirstWriteChunk ( TPtr8 & aChunk ) [virtual]

Parameters

TPtr8 & aChunk

InterdependentProperties(TUint)

IMPORT_C CMTPTypeInterdependentProperties & InterdependentProperties ( TUint aIndex ) 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 aIndex The 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 TInt NextWriteChunk ( TPtr8 & aChunk ) [virtual]

Parameters

TPtr8 & aChunk

NumberOfInterdependencies()

IMPORT_C TUint32 NumberOfInterdependencies ( ) const

Provides the NumberOfElements element value.

Type()

IMPORT_C TUint Type ( ) const [virtual]

UpdateWriteSequenceErr(TInt)

TInt UpdateWriteSequenceErr ( TInt aErr ) [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 TUint KInterdependentPropertiesChunks [private, static]

The InterdependentProperties array starting element data chunk ID.

const TUint KNumberOfInterdependenciesChunk

const TUint KNumberOfInterdependenciesChunk [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.