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 void AppendDataObjectL ( MMTPType &)
IMPORT_C void AppendL ( CMTPTypeServicePropListElement *)
IMPORT_C MMTPType * CommitChunkL ( TPtr8 &)
IMPORT_C TBool CommitRequired ()
IMPORT_C MMTPType & DataObjectL ()
IMPORT_C CMTPTypeServicePropListElement & Element ( TUint )
IMPORT_C TInt FirstWriteChunk ( TPtr8 &)
IMPORT_C CMTPTypeServicePropList * NewL ()
IMPORT_C CMTPTypeServicePropList * NewLC ()
IMPORT_C TInt NextWriteChunk ( TPtr8 &)
IMPORT_C TUint32 NumberOfElements ()
IMPORT_C TUint Type ()
Private Member Functions
CMTPTypeServicePropList ()
void AppendElementChunkL ( CMTPTypeServicePropListElement *)
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 , EElementChunks , EDataObjectChunk }
Private Attributes
const TUint KElementChunks
const TUint KNumberOfElementsChunk
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 void AppendDataObjectL ( 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 *)

void AppendElementChunkL ( CMTPTypeServicePropListElement * aElement ) [private]

Parameters

CMTPTypeServicePropListElement * aElement

AppendL(CMTPTypeServicePropListElement *)

IMPORT_C void AppendL ( 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 * aElement The ObjectPropList value quadruple to append. Ownership IS transferred.

CommitChunkL(TPtr8 &)

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

Parameters

TPtr8 & aChunk

CommitRequired()

IMPORT_C TBool CommitRequired ( ) const [virtual]

ConstructL()

void ConstructL ( ) [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 ( TUint aIndex ) 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 aIndex The index of the required element.

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

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 TInt NextWriteChunk ( TPtr8 & aChunk ) [virtual]

Parameters

TPtr8 & aChunk

NumberOfElements()

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

EElementChunks

Elements data stream is in progress.

EDataObjectChunk

Optional object data stream is in progress.

Member Data Documentation

const TUint KElementChunks

const TUint KElementChunks [private, static]

The Element array starting data chuck ID.

const TUint KNumberOfElementsChunk

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