CMTPTypeObjectPropList Class Reference

class CMTPTypeObjectPropList : public CBase

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

  • CMTPTypeObjectPropList
Public Member Functions
~CMTPTypeObjectPropList()
IMPORT_C voidAppendObjectPropListL(const CMTPTypeObjectPropList &)
IMPORT_C MMTPType *CommitChunkL(TPtr8 &)
IMPORT_C voidCommitPropElemL(CMTPTypeObjectPropListElement &)
IMPORT_C TBoolCommitRequired()
IMPORT_C TIntFirstReadChunk(TPtrC8 &)
IMPORT_C TIntFirstWriteChunk(TPtr8 &)
IMPORT_C TIntFirstWriteChunk(TPtr8 &, TUint)
IMPORT_C CMTPTypeObjectPropListElement &GetNextElementL()
IMPORT_C CMTPTypeObjectPropList *NewL()
IMPORT_C CMTPTypeObjectPropList *NewLC()
IMPORT_C TIntNextReadChunk(TPtrC8 &)
IMPORT_C TIntNextWriteChunk(TPtr8 &)
IMPORT_C TIntNextWriteChunk(TPtr8 &, TUint)
IMPORT_C TUint32NumberOfElements()
IMPORT_C CMTPTypeObjectPropListElement &ReservePropElemL(TUint32, TUint16)
IMPORT_C TBoolReserveTransportHeader(TUint, TPtr8 &)
IMPORT_C voidResetCursor()
IMPORT_C TUint64Size()
IMPORT_C TUintType()
IMPORT_C TIntValidate()
Private Member Functions
CMTPTypeObjectPropList()
TUint ArrayElemWidth(TUint16 &)
voidConstructL()
voidIncreaseIndexL(TUint &, TUint &, TUint, TBool)
voidMemoryCopyL(TAny *, TUint, TUint, TUint)
voidMemoryCopyL(TUint, TUint, const TAny *, TUint)
voidReserveNewPage()
TBool ValueAddressAligned(TUint, TUint)
TBool ValueBufferConsistent(TUint, TUint, TUint)
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()
Private Attributes
TUint iChunkIndex
CMTPTypeObjectPropListElement *iCurrentElement
RArray< RBuf8 >iIOPages
TUint32 iNumberOfElements
TBool iReservedElemCommitted
CMTPTypeObjectPropListElement *iReservedElement
TBool iResetCursor
TUint iRevDataEnd
TUint iRevPageEnd
TUint iTransportHeaderIndex

Constructor & Destructor Documentation

CMTPTypeObjectPropList()

CMTPTypeObjectPropList()[private]

~CMTPTypeObjectPropList()

IMPORT_C~CMTPTypeObjectPropList()[virtual]

Destructor.

Member Functions Documentation

AppendObjectPropListL(const CMTPTypeObjectPropList &)

IMPORT_C voidAppendObjectPropListL(const CMTPTypeObjectPropList &aSource)

Append all object property elements from another object property list.

Parameters

const CMTPTypeObjectPropList & aSource

ArrayElemWidth(TUint16 &)

TUint ArrayElemWidth(TUint16 &aDataType)const [private]

Parameters

TUint16 & aDataType

CommitChunkL(TPtr8 &)

IMPORT_C MMTPType *CommitChunkL(TPtr8 &aChunk)

Parameters

TPtr8 & aChunk

CommitPropElemL(CMTPTypeObjectPropListElement &)

IMPORT_C voidCommitPropElemL(CMTPTypeObjectPropListElement &aElem)

Commit the reverved object property element in buffer page.

Parameters

CMTPTypeObjectPropListElement & aElemThe object property element to be committed.

CommitRequired()

IMPORT_C TBoolCommitRequired()const

ConstructL()

voidConstructL()[private]

FirstReadChunk(TPtrC8 &)

IMPORT_C TIntFirstReadChunk(TPtrC8 &aChunk)const

Parameters

TPtrC8 & aChunk

FirstWriteChunk(TPtr8 &)

IMPORT_C TIntFirstWriteChunk(TPtr8 &aChunk)

Parameters

TPtr8 & aChunk

FirstWriteChunk(TPtr8 &, TUint)

IMPORT_C TIntFirstWriteChunk(TPtr8 &aChunk,
TUintaDataLength
)

Parameters

TPtr8 & aChunk
TUint aDataLength

GetNextElementL()

IMPORT_C CMTPTypeObjectPropListElement &GetNextElementL()const

Get the next object property element in the object property list.

IncreaseIndexL(TUint &, TUint &, TUint, TBool)

voidIncreaseIndexL(TUint &aPageIndex,
TUint &aBufIndex,
TUintaLength,
TBoolaReserveNewPage
)const [private]

Parameters

TUint & aPageIndex
TUint & aBufIndex
TUint aLength
TBool aReserveNewPage

MemoryCopyL(TAny *, TUint, TUint, TUint)

voidMemoryCopyL(TAny *aTrg,
TUintaSrcPageIndex,
TUintaSrcBufIndex,
TUintaLength
)const [private]

Copy data from Element to buffer page.

Parameters

TAny * aTrg
TUint aSrcPageIndex
TUint aSrcBufIndex
TUint aLength

MemoryCopyL(TUint, TUint, const TAny *, TUint)

voidMemoryCopyL(TUintaTrgPageIndex,
TUintaTrgBufIndex,
const TAny *aSrc,
TUintaLength
)[private]

Copy data from buffer page to Element.

Parameters

TUint aTrgPageIndex
TUint aTrgBufIndex
const TAny * aSrc
TUint aLength

NewL()

IMPORT_C CMTPTypeObjectPropList *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 CMTPTypeObjectPropList *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.

NextReadChunk(TPtrC8 &)

IMPORT_C TIntNextReadChunk(TPtrC8 &aChunk)const

Parameters

TPtrC8 & aChunk

NextWriteChunk(TPtr8 &)

IMPORT_C TIntNextWriteChunk(TPtr8 &aChunk)

Parameters

TPtr8 & aChunk

NextWriteChunk(TPtr8 &, TUint)

IMPORT_C TIntNextWriteChunk(TPtr8 &aChunk,
TUintaDataLength
)

Parameters

TPtr8 & aChunk
TUint aDataLength

NumberOfElements()

IMPORT_C TUint32NumberOfElements()const

Get the number of element in the object property list.

ReserveNewPage()

voidReserveNewPage()[private]

ReservePropElemL(TUint32, TUint16)

IMPORT_C CMTPTypeObjectPropListElement &ReservePropElemL(TUint32aHandle,
TUint16aPropCode
)

Reserve an object property element in buffer page. After setting the element's values, the element should be committed, otherwise the new element will be discarded without commitment.

Parameters

TUint32 aHandleThe object handle of the object property element.
TUint16 aPropCodeThe property code of the object property element.

ReserveTransportHeader(TUint, TPtr8 &)

IMPORT_C TBoolReserveTransportHeader(TUintaHeaderLength,
TPtr8 &aHeader
)

Parameters

TUint aHeaderLength
TPtr8 & aHeader

ResetCursor()

IMPORT_C voidResetCursor()const

Reset the element cursor, so GetNextElementL() will return the first object property element in the object property list.

Size()

IMPORT_C TUint64Size()const

Get the size of the object property list.

Type()

IMPORT_C TUintType()const

Validate()

IMPORT_C TIntValidate()const

ValueAddressAligned(TUint, TUint)

TBool ValueAddressAligned(TUintaPageIdx,
TUintaBufferIdx
)const [private]

Parameters

TUint aPageIdx
TUint aBufferIdx

ValueBufferConsistent(TUint, TUint, TUint)

TBool ValueBufferConsistent(TUintaPageIdx,
TUintaBufferIdx,
TUintaValueSize
)const [private]

Parameters

TUint aPageIdx
TUint aBufferIdx
TUint aValueSize

Member Data Documentation

TUint iChunkIndex

TUint iChunkIndex[private]

CMTPTypeObjectPropListElement * iCurrentElement

CMTPTypeObjectPropListElement *iCurrentElement[private]

RArray< RBuf8 > iIOPages

RArray< RBuf8 >iIOPages[private]

TUint32 iNumberOfElements

TUint32 iNumberOfElements[private]

TBool iReservedElemCommitted

TBool iReservedElemCommitted[private]

CMTPTypeObjectPropListElement * iReservedElement

CMTPTypeObjectPropListElement *iReservedElement[private]

TBool iResetCursor

TBool iResetCursor[private]

TUint iRevDataEnd

TUint iRevDataEnd[private]

TUint iRevPageEnd

TUint iRevPageEnd[private]

TUint iTransportHeaderIndex

TUint iTransportHeaderIndex[private]