CMTPTypeServicePropList Class Reference

class CMTPTypeServicePropList : public CMTPTypeCompoundBase

Defines the MTP ObjectPropList dataset. The ObjectPropList dataset provides optimised access to object properties without needing to individually query each object/property pair. It also provides a more flexible querying mechanism for object properties in general. This dataset is used in the GetObjectPropList, SetObjectPropList, and SendObjectPropList requests.

Inherits from

Public Member Functions
~CMTPTypeServicePropList()
IMPORT_C voidAppendDataObjectL(MMTPType &)
IMPORT_C voidAppendL(CMTPTypeServicePropListElement *)
IMPORT_C MMTPType *CommitChunkL(TPtr8 &)
IMPORT_C TBoolCommitRequired()
IMPORT_C MMTPType &DataObjectL()
IMPORT_C CMTPTypeServicePropListElement &Element(TUint)
IMPORT_C TIntFirstWriteChunk(TPtr8 &)
IMPORT_C CMTPTypeServicePropList *NewL()
IMPORT_C CMTPTypeServicePropList *NewLC()
IMPORT_C TIntNextWriteChunk(TPtr8 &)
IMPORT_C TUint32NumberOfElements()
IMPORT_C TUintType()
Private Member Functions
CMTPTypeServicePropList()
voidAppendElementChunkL(CMTPTypeServicePropListElement *)
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, EElementChunks, EDataObjectChunk }
Private Attributes
const TUintKElementChunks
const TUintKNumberOfElementsChunk
MMTPType *iChunkDataObject
TMTPTypeUint32 iChunkNumberOfElements
RPointerArray< CMTPTypeServicePropListElement >iChunksElement
CMTPTypeCompoundBase::TElementInfo iInfoElement
CMTPTypeCompoundBase::TElementInfo iInfoNumberOfElements
TUint iWriteSequenceErr
TUint iWriteSequenceState
Inherited Attributes
CMTPTypeCompoundBase::KJustInTimeConstruction
CMTPTypeCompoundBase::KMTPNotApplicable
CMTPTypeCompoundBase::KVariableChunkCount
CMTPTypeCompoundBase::iChunks
CMTPTypeCompoundBase::iWriteChunk

Constructor & Destructor Documentation

CMTPTypeServicePropList()

CMTPTypeServicePropList()[private]

~CMTPTypeServicePropList()

IMPORT_C~CMTPTypeServicePropList()[virtual]

Destructor.

Member Functions Documentation

AppendDataObjectL(MMTPType &)

IMPORT_C voidAppendDataObjectL(MMTPType &aDataObject)
Appends the specified MTP data object to the ObjectPropList dataset.
leave
KMTPDataTypeInvalid, If an MTP data object is already attached to the ObjectPropList dataset.
leave
One of the system wide error codes, if unsuccessful.

Parameters

MMTPType & aDataObject

AppendElementChunkL(CMTPTypeServicePropListElement *)

voidAppendElementChunkL(CMTPTypeServicePropListElement *aElement)[private]

Parameters

CMTPTypeServicePropListElement * aElement

AppendL(CMTPTypeServicePropListElement *)

IMPORT_C voidAppendL(CMTPTypeServicePropListElement *aElement)
Appends the specified ObjectPropList value quadruple to the ObjectPropList. Ownership of the specified ObjectPropList value quadruple is passed to the ObjectPropList.
leave
KMTPDataTypeInvalid, If an MTP data object is attached to the ObjectPropList dataset.
leave
One of the system wide error codes, if unsuccessful.

Parameters

CMTPTypeServicePropListElement * aElementThe ObjectPropList value quadruple to append. Ownership IS transferred.

CommitChunkL(TPtr8 &)

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

Parameters

TPtr8 & aChunk

CommitRequired()

IMPORT_C TBoolCommitRequired()const [virtual]

ConstructL()

voidConstructL()[private]

DataObjectL()

IMPORT_C MMTPType &DataObjectL()const
Provides a non-const reference to the optional MTP data object attached to the ObjectPropList dataset.
leave
KErrNotFound, If there is no MTP data object attched to the ObjectPropList dataset.
leave
One of the system wide error codes, if unsuccessful.

Element(TUint)

IMPORT_C CMTPTypeServicePropListElement &Element(TUintaIndex)const
Provides a non-const reference to the ObjectPropList 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.

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

NewL()

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

NewLC()

IMPORT_C CMTPTypeServicePropList *NewLC()[static]
MTP ObjectPropList dataset factory method. This method is used to create an empty MTP ObjectPropList 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

NumberOfElements()

IMPORT_C TUint32NumberOfElements()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.

EElementChunks

Elements data stream is in progress.

EDataObjectChunk

Optional object data stream is in progress.

Member Data Documentation

const TUint KElementChunks

const TUintKElementChunks[private, static]

The Element array starting data chuck ID.

const TUint KNumberOfElementsChunk

const TUintKNumberOfElementsChunk[private, static]

The NumberOfElements element data chunk ID.

MMTPType * iChunkDataObject

MMTPType *iChunkDataObject[private]

The (optional) MTP data object chunk.

TMTPTypeUint32 iChunkNumberOfElements

TMTPTypeUint32 iChunkNumberOfElements[private]

The NumberOfElements element data chunk.

RPointerArray< CMTPTypeServicePropListElement > iChunksElement

RPointerArray< CMTPTypeServicePropListElement >iChunksElement[private]

The Element array data chunks.

CMTPTypeCompoundBase::TElementInfo iInfoElement

CMTPTypeCompoundBase::TElementInfo iInfoElement[private]

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

CMTPTypeCompoundBase::TElementInfo iInfoNumberOfElements

CMTPTypeCompoundBase::TElementInfo iInfoNumberOfElements[private]

The NumberOfElements element metadata content.

TUint iWriteSequenceErr

TUint iWriteSequenceErr[private]

The write data stream error state.

TUint iWriteSequenceState

TUint iWriteSequenceState[private]

The write data stream state variable.