CMTPTypeObjectPropDesc Class Reference

class CMTPTypeObjectPropDesc : public CMTPTypeCompoundBase

Defines the MTP ObjectPropDesc dataset. The ObjectPropDesc dataset describes an MTP data object property, and is generated in response to a GetObjectPropDesc operation request.

Inherits from

Public Member Functions
~CMTPTypeObjectPropDesc()
IMPORT_C MMTPType *CommitChunkL(TPtr8 &)
IMPORT_C TBoolCommitRequired()
IMPORT_C TIntFirstWriteChunk(TPtr8 &)
IMPORT_C CMTPTypeObjectPropDesc *NewL()
IMPORT_C CMTPTypeObjectPropDesc *NewL(TUint16)
IMPORT_C CMTPTypeObjectPropDesc *NewL(TUint16, const MMTPType &)
IMPORT_C CMTPTypeObjectPropDesc *NewL(TUint16, TUint8, const MMTPType *)
IMPORT_C CMTPTypeObjectPropDesc *NewL(TUint16, const TPropertyInfo &, const MMTPType *)
IMPORT_C CMTPTypeObjectPropDesc *NewLC(TUint16)
IMPORT_C CMTPTypeObjectPropDesc *NewLC(TUint16, const MMTPType &)
IMPORT_C CMTPTypeObjectPropDesc *NewLC(TUint16, TUint8, const MMTPType *)
IMPORT_C CMTPTypeObjectPropDesc *NewLC(TUint16, const TPropertyInfo &, const MMTPType *)
IMPORT_C TIntNextWriteChunk(TPtr8 &)
voidPropertyInfoL(TUint16, TPropertyInfo &)
IMPORT_C TUintType()
Private Member Functions
CMTPTypeObjectPropDesc()
voidConstructL(TUint16, const MMTPType *)
voidConstructL(TUint16, const TPropertyInfo &, const MMTPType *)
const TElementInfo &ElementInfo(TInt)
TBool HasFormField(TUint8)
CMTPTypeObjectPropDesc *NewLC()
TBool ReadableElementL(TInt)
TInt UpdateWriteSequenceErr(TInt)
TBool WriteableElementL(TInt)
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::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::ValidateChunkCount()const
CMTPTypeCompoundBase::~CMTPTypeCompoundBase()
Public Member Enumerations
enumTMTPObjectPropDescElement {
EPropertyCode, EDatatype, EGetSet, EDefaultValue, EGroupCode, EFormFlag, EForm, ENumElements
}
enumTMTPObjectPropDescFormFlag {
ENone = 0x00, ERangeForm = 0x01, EEnumerationForm = 0x02, EDateTimeForm = 0x03, EFixedLengthArrayForm = 0x04, ERegularExpressionForm = 0x05, EByteArrayForm = 0x06, EServiceObjPropExtnForm = 0x81, EServiceMethodParamExtnForm = 0x82, EObjectIDForm = 0x83, ELongStringForm = 0xFF
}
enumTMTPObjectPropDescGetSet { EReadOnly = 0x00, EReadWrite = 0x01 }
Private Member Enumerations
enumTChunkIds { EIdFlat1Chunk, EIdDefaultValueChunk, EIdFlat2Chunk, EIdFormChunk, EIdNumChunks }
enumTWriteSequenceState { EIdle, EFlat1Chunk, EDefaultValueChunk, EFlat2Chunk, EFormChunk }
Inherited Enumerations
CMTPTypeCompoundBase:TReadWriteSequenceState
Private Attributes
const TUintKFlat1ChunkSize
const TUintKFlat2ChunkSize
const TUintKNumChunksWithForm
const TUintKNumChunksWithoutForm
RMTPType iChunkDefaultValue
RMTPTypeCompoundFlatChunk iChunkFlat1
RMTPTypeCompoundFlatChunk iChunkFlat2
RMTPTypeObjectPropDescForm iChunkForm
const TFixedArray< TElementInfo, ENumElements >iElementInfo
const CMTPTypeCompoundBase::TElementInfoiElementMetaData
TBool iInitialised
TUint iWriteSequenceCompletionState
TUint iWriteSequenceErr
TUint iWriteSequenceState
Inherited Attributes
CMTPTypeCompoundBase::KJustInTimeConstruction
CMTPTypeCompoundBase::KMTPNotApplicable
CMTPTypeCompoundBase::KVariableChunkCount
CMTPTypeCompoundBase::iChunks
CMTPTypeCompoundBase::iWriteChunk

Constructor & Destructor Documentation

CMTPTypeObjectPropDesc()

CMTPTypeObjectPropDesc()[private]

~CMTPTypeObjectPropDesc()

IMPORT_C~CMTPTypeObjectPropDesc()[virtual]

Destructor.

Member Functions Documentation

CommitChunkL(TPtr8 &)

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

Parameters

TPtr8 & aChunk

CommitRequired()

IMPORT_C TBoolCommitRequired()const [virtual]

ConstructL(TUint16, const MMTPType *)

voidConstructL(TUint16aPropertyCode,
const MMTPType *aForm
)[private]

Parameters

TUint16 aPropertyCode
const MMTPType * aForm

ConstructL(TUint16, const TPropertyInfo &, const MMTPType *)

voidConstructL(TUint16aPropertyCode,
const TPropertyInfo &aInfo,
const MMTPType *aForm
)[private]

Parameters

TUint16 aPropertyCode
const TPropertyInfo & aInfo
const MMTPType * aForm

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

HasFormField(TUint8)

TBool HasFormField(TUint8aFormFlag)const [private]

Parameters

TUint8 aFormFlag

NewL()

IMPORT_C CMTPTypeObjectPropDesc *NewL()[static]

NewL(TUint16)

IMPORT_C CMTPTypeObjectPropDesc *NewL(TUint16aPropertyCode)[static]
MTP ObjectPropDesc dataset factory method. This method is used to create an empty MTP ObjectPropDesc dataset type with the default Datatype and Form Flag defined for the specified PropertyCode.
leave
One of the system wide error codes, if unsuccessful.

Parameters

TUint16 aPropertyCodeThe ObjectPropertyCode of the property being described by the ObjectPropDesc dataset.

NewL(TUint16, const MMTPType &)

IMPORT_C CMTPTypeObjectPropDesc *NewL(TUint16aPropertyCode,
const MMTPType &aForm
)[static]
MTP ObjectPropDesc dataset factory method. This method is used to create an MTP ObjectPropDesc dataset type with the default Datatype and Form Flag defined for the specified PropertyCode, and the specified FORM.
leave
KMTPDataTypeInvalid, if a FORM dataset is not defined for the property.
leave
One of the system wide error codes, if unsuccessful.

Parameters

TUint16 aPropertyCodeThe ObjectPropertyCode of the property being described by the ObjectPropDesc dataset.
const MMTPType & aFormThe optional ObjectPropDesc FORM dataset.

NewL(TUint16, TUint8, const MMTPType *)

IMPORT_C CMTPTypeObjectPropDesc *NewL(TUint16aPropertyCode,
TUint8aFormFlag,
const MMTPType *aForm
)[static]
MTP ObjectPropDesc dataset factory method. This method is used to create an MTP ObjectPropDesc dataset type with the default Datatype defined for the specified PropertyCode, and the specified Form Flag and FORM.
leave
KMTPDataTypeInvalid, if a FORM dataset is not defined for the property.
leave
One of the system wide error codes, if unsuccessful.

Parameters

TUint16 aPropertyCodeThe ObjectPropertyCode of the property being described by the ObjectPropDesc dataset.
TUint8 aFormFlagThe required Form Flag of the ObjectPropDesc.
const MMTPType * aFormThe optional ObjectPropDesc FORM dataset.

NewL(TUint16, const TPropertyInfo &, const MMTPType *)

IMPORT_C CMTPTypeObjectPropDesc *NewL(TUint16aPropertyCode,
const TPropertyInfo &aInfo,
const MMTPType *aForm
)[static]
MTP ObjectPropDesc dataset factory method. This method is used to create an MTP ObjectPropDesc dataset type with the specified values.
leave
KMTPDataTypeInvalid, if a FORM dataset is not defined for the property.
leave
One of the system wide error codes, if unsuccessful.

Parameters

TUint16 aPropertyCodeThe ObjectPropertyCode of the property being described by the ObjectPropDesc dataset.
const TPropertyInfo & aInfoThe MTP ObjectPropDesc dataset characteristics (meta data).
const MMTPType * aFormThe optional ObjectPropDesc FORM dataset.

NewLC(TUint16)

IMPORT_C CMTPTypeObjectPropDesc *NewLC(TUint16aPropertyCode)[static]
MTP ObjectPropDesc dataset factory method. This method is used to create an empty MTP ObjectPropDesc dataset type with the default Datatype and Form Flag defined for the specified PropertyCode. A pointer to the data type is placed on the cleanup stack.
leave
One of the system wide error codes, if unsuccessful.

Parameters

TUint16 aPropertyCodeThe ObjectPropertyCode of the property being described by the ObjectPropDesc dataset.

NewLC(TUint16, const MMTPType &)

IMPORT_C CMTPTypeObjectPropDesc *NewLC(TUint16aPropertyCode,
const MMTPType &aForm
)[static]
MTP ObjectPropDesc dataset factory method. This method is used to create an MTP ObjectPropDesc dataset type with the default Datatype and Form Flag defined for the specified PropertyCode, and the specified FORM. A pointer to the data type is placed on the cleanup stack.
leave
KMTPDataTypeInvalid, if a FORM dataset is not defined for the property.
leave
One of the system wide error codes, if unsuccessful.

Parameters

TUint16 aPropertyCodeThe ObjectPropertyCode of the property being described by the ObjectPropDesc dataset.
const MMTPType & aFormThe optional ObjectPropDesc FORM dataset.

NewLC(TUint16, TUint8, const MMTPType *)

IMPORT_C CMTPTypeObjectPropDesc *NewLC(TUint16aPropertyCode,
TUint8aFormFlag,
const MMTPType *aForm
)[static]
MTP ObjectPropDesc dataset factory method. This method is used to create an MTP ObjectPropDesc dataset type with the default Datatype defined for the specified PropertyCode, and the specified Form Flag and FORM. A pointer to the data type is placed on the cleanup stack.
leave
KMTPDataTypeInvalid, if a FORM dataset is not defined for the property.
leave
One of the system wide error codes, if unsuccessful.

Parameters

TUint16 aPropertyCodeThe ObjectPropertyCode of the property being described by the ObjectPropDesc dataset.
TUint8 aFormFlagThe required Form Flag of the ObjectPropDesc.
const MMTPType * aFormThe optional ObjectPropDesc FORM dataset.

NewLC(TUint16, const TPropertyInfo &, const MMTPType *)

IMPORT_C CMTPTypeObjectPropDesc *NewLC(TUint16aPropertyCode,
const TPropertyInfo &aInfo,
const MMTPType *aForm
)[static]
MTP ObjectPropDesc dataset factory method. This method is used to create an MTP ObjectPropDesc dataset type with the specified values. A pointer to the data type is placed on the cleanup stack.
leave
KMTPDataTypeInvalid, if a FORM dataset is not defined for the property.
leave
One of the system wide error codes, if unsuccessful.

Parameters

TUint16 aPropertyCodeThe ObjectPropertyCode of the property being described by the ObjectPropDesc dataset.
const TPropertyInfo & aInfoThe MTP ObjectPropDesc dataset characteristics (meta data).
const MMTPType * aFormThe optional ObjectPropDesc FORM dataset.

NewLC()

CMTPTypeObjectPropDesc *NewLC()[private, static]

NextWriteChunk(TPtr8 &)

IMPORT_C TIntNextWriteChunk(TPtr8 &aChunk)[virtual]

Parameters

TPtr8 & aChunk

PropertyInfoL(TUint16, TPropertyInfo &)

voidPropertyInfoL(TUint16aPropertyCode,
TPropertyInfo &aInfo
)[static]

Parameters

TUint16 aPropertyCode
TPropertyInfo & aInfo

ReadableElementL(TInt)

TBool ReadableElementL(TIntaElementId)const [private, virtual]

Indicates if the specified element can be read from.

Parameters

TInt aElementIdThe identifier of the requested element.

Type()

IMPORT_C TUintType()const [virtual]

UpdateWriteSequenceErr(TInt)

TInt UpdateWriteSequenceErr(TIntaErr)[private]

Parameters

TInt aErr

WriteableElementL(TInt)

TBool WriteableElementL(TIntaElementId)const [private, virtual]

Indicates if the specified element can be written to.

Parameters

TInt aElementIdThe identifier of the requested element.

Member Enumerations Documentation

Enum TChunkIds

Data chunk identifiers.

Enumerators

EIdFlat1Chunk

The first flat data chunk ID.

EIdDefaultValueChunk

The EDefaultValue element data chunk ID.

EIdFlat2Chunk

The second flat data chunk ID.

EIdFormChunk

The EForm element data chunk ID.

EIdNumChunks

The number of data chunks.

Enum TMTPObjectPropDescElement

MTP ObjectPropDesc dataset element identifiers.

Enumerators

EPropertyCode

Property Code (read-only).

EDatatype

Datatype (read-only).

EGetSet

Get/Set.

EDefaultValue

Default Value.

EGroupCode

Group Code.

EFormFlag

Form Flag (read-only).

EForm

FORM element. This element depends EFormFlag and is absent if EFormFlag is ENone.

ENumElements

The number of dataset elements.

Enum TMTPObjectPropDescFormFlag

MTP ObjectPropDesc dataset FormFlag element values.

Enumerators

ENone = 0x00

None.

ERangeForm = 0x01

Range form.

EEnumerationForm = 0x02

Enumeration form.

EDateTimeForm = 0x03

DateTime form.

EFixedLengthArrayForm = 0x04

Fixed-length Array form.

ERegularExpressionForm = 0x05

Regular Expression form.

EByteArrayForm = 0x06

ByteArray form.

EServiceObjPropExtnForm = 0x81

Service Object Property Extension Form

EServiceMethodParamExtnForm = 0x82

Service Method Parameter Extension Form

EObjectIDForm = 0x83

Object ID Form

ELongStringForm = 0xFF

LongString form.

Enum TMTPObjectPropDescGetSet

MTP ObjectPropDesc dataset Get/Set element values.

Enumerators

EReadOnly = 0x00

Get.

EReadWrite = 0x01

Get/Set.

Enum TWriteSequenceState

The write data stream states.

Enumerators

EIdle

Data stream is inactive.

EFlat1Chunk

Streaming the first flat data chunk.

EDefaultValueChunk

Streaming the EDefaultValue data chunk..

EFlat2Chunk

Streaming the second flat data chunk.

EFormChunk

Streaming the EForm data chunk.

Member Data Documentation

const TUint KFlat1ChunkSize

const TUintKFlat1ChunkSize[private, static]

The size in bytes of the first flat data chunk.

const TUint KFlat2ChunkSize

const TUintKFlat2ChunkSize[private, static]

The size in bytes of the second flat data chunk.

const TUint KNumChunksWithForm

const TUintKNumChunksWithForm[private, static]

The data chunk count of ObjectPropDesc datasets with an EForm of other than ENone.

const TUint KNumChunksWithoutForm

const TUintKNumChunksWithoutForm[private, static]

The data chunk count of ObjectPropDesc datasets with an EForm of ENone.

RMTPType iChunkDefaultValue

RMTPType iChunkDefaultValue[private]

The EDefaultValue element data chunk.

RMTPTypeCompoundFlatChunk iChunkFlat1

RMTPTypeCompoundFlatChunk iChunkFlat1[private]

The flat data chunk comprising elements EPropertyCode to EGetSet.

RMTPTypeCompoundFlatChunk iChunkFlat2

RMTPTypeCompoundFlatChunk iChunkFlat2[private]

The flat data chunk comprising elements EGroupCode to EFormFlag.

RMTPTypeObjectPropDescForm iChunkForm

RMTPTypeObjectPropDescForm iChunkForm[private]

The EForm element data chunk.

const TFixedArray< TElementInfo, ENumElements > iElementInfo

const TFixedArray< TElementInfo, ENumElements >iElementInfo[private]

The dataset element metadata table.

const CMTPTypeCompoundBase::TElementInfo iElementMetaData

const CMTPTypeCompoundBase::TElementInfoiElementMetaData[private, static]

The dataset element metadata table content.

TBool iInitialised

TBool iInitialised[private]

The initialised flag indicating if construction is completeand that read-only elements can no longer be modified.

TUint iWriteSequenceCompletionState

TUint iWriteSequenceCompletionState[private]

The write data stream completion state. This will be set to EFlat2Chunk for ObjectPropDesc datasets with an EForm of ENone, otherwise this will be EFormChunk.

TUint iWriteSequenceErr

TUint iWriteSequenceErr[private]

The write data stream error state.

TUint iWriteSequenceState

TUint iWriteSequenceState[private]

The write data stream state variable.