CMTPStorageMetaData Class Reference

class CMTPStorageMetaData : public CMTPMetaData

Defines the MTP storage meta-data.

Inherits from

Public Member Functions
~CMTPStorageMetaData ()
IMPORT_C CMTPStorageMetaData * NewL ()
IMPORT_C CMTPStorageMetaData * NewL ( TUint , const TDesC &)
IMPORT_C CMTPStorageMetaData * NewL (const CMTPStorageMetaData &)
IMPORT_C CMTPStorageMetaData * NewLC ()
IMPORT_C CMTPStorageMetaData * NewLC ( TUint , const TDesC &)
IMPORT_C CMTPStorageMetaData * NewLC (const CMTPStorageMetaData &)
Private Member Functions
CMTPStorageMetaData ()
void ConstructL ( TUint , const TDesC &)
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()
CMTPMetaData::CMTPMetaData(const TElementMetaData *,TUint)
CMTPMetaData::CompareTPathHash(const TPathHash &,const TPathHash &)
CMTPMetaData::ConstructL()
CMTPMetaData::ConstructL(const CMTPMetaData &)
CMTPMetaData::DesC(TUint)const
CMTPMetaData::DesCArray(TUint)
CMTPMetaData::GetExtendedInterface(TUid)
CMTPMetaData::GetHashPathArray()
CMTPMetaData::GetIntArrayL(TUint,RArray< TInt > &)
CMTPMetaData::GetUintArrayL(TUint,RArray< TUint > &)
CMTPMetaData::Int(TUint)const
CMTPMetaData::IntArray(TUint)const
CMTPMetaData::SetDesCArrayL(TUint,const CDesCArrayFlat &)
CMTPMetaData::SetDesCArrayL(TUint,const CDesCArraySeg &)
CMTPMetaData::SetDesCL(TUint,const TDesC &)
CMTPMetaData::SetHashPath(const TDesC16 &,TUint)
CMTPMetaData::SetInt(TUint,TInt)
CMTPMetaData::SetIntArrayL(TUint,const RArray< TInt > &)
CMTPMetaData::SetUint(TUint,TUint)
CMTPMetaData::SetUintArrayL(TUint,const RArray< TUint > &)
CMTPMetaData::Uint(TUint)const
CMTPMetaData::UintArray(TUint)const
CMTPMetaData::~CMTPMetaData()
Public Member Enumerations
enum TElementId {
EAttributes  = 0, EExcludedAreas  = 1, EStorageId  = 2, EStorageLogicalIds  = 3, EStorageSuid  = 4, EStorageSystemType  = 5, ENumElements
}
enum TStorageAttribute { EAttrNone  = 0x00000000, EAttrMaskExtensions  = 0xFFFF0000, EAttrMaskReserved  = 0x0000FFFF }
enum TStorageSystemType {
ESystemTypeUndefined  = 0x00000000, ESystemTypeGenericFlat  = 0x00000001, ESystemTypeGenericHierachal  = 0x00000002, ESystemTypeDCF  = 0x00000003, ESystemTypeMaskReservedStart  = 0x00000004, ESystemTypeMaskReservedEnd  = 0x00007FFF, ESystemTypeMTPVendorExtension  = 0x00008000, ESystemTypeMTPDefined  = 0x0000C000, ESystemTypeMask  = 0x0000FFFF, ESystemTypeDefaultFileSystem  = ESystemTypeGenericHierachal
}
Inherited Enumerations
CMTPMetaData:TType
Private Attributes
const TElementMetaData KElements

Constructor & Destructor Documentation

CMTPStorageMetaData()

CMTPStorageMetaData ( ) [private]

Constructor.

~CMTPStorageMetaData()

IMPORT_C ~CMTPStorageMetaData ( )

Destructor.

Member Functions Documentation

ConstructL(TUint, const TDesC &)

void ConstructL ( TUint aStorageSystemType,
const TDesC & aStorageSuid
) [private]
Second phase constructor.
leave
One of the system wide error code, if a processing failure occurs.

Parameters

TUint aStorageSystemType The storage system type.
const TDesC & aStorageSuid The storage System Unique IDentifier (SUID).

NewL()

IMPORT_C CMTPStorageMetaData * NewL ( ) [static]
MTP storage meta-data factory method. This method creates an empty storage meta-data record.
leave
One of the system wide error codes, if a processing failure occurs.

NewL(TUint, const TDesC &)

IMPORT_C CMTPStorageMetaData * NewL ( TUint aStorageSystemType,
const TDesC & aStorageSuid
) [static]
MTP storage meta-data factory method.
leave
One of the system wide error codes, if a processing failure occurs.

Parameters

TUint aStorageSystemType The storage system type.
const TDesC & aStorageSuid The storage System Unique IDentifier (SUID).

NewL(const CMTPStorageMetaData &)

IMPORT_C CMTPStorageMetaData * NewL ( const CMTPStorageMetaData & aStorage ) [static]
MTP storage meta-data copy factory method.
leave
One of the system wide error codes, if a processing failure occurs.

Parameters

const CMTPStorageMetaData & aStorage

NewLC()

IMPORT_C CMTPStorageMetaData * NewLC ( ) [static]
MTP storage meta-data factory method. This method creates an empty storage meta-data record. A pointer to the meta-data is placed on the cleanup stack.
leave
One of the system wide error codes, if a processing failure occurs.

NewLC(TUint, const TDesC &)

IMPORT_C CMTPStorageMetaData * NewLC ( TUint aStorageSystemType,
const TDesC & aStorageSuid
) [static]
MTP storage meta-data factory method. A pointer to the meta-data is placed on the cleanup stack.
leave
One of the system wide error codes, if a processing failure occurs.

Parameters

TUint aStorageSystemType The storage system type.
const TDesC & aStorageSuid The storage System Unique IDentifier (SUID).

NewLC(const CMTPStorageMetaData &)

IMPORT_C CMTPStorageMetaData * NewLC ( const CMTPStorageMetaData & aStorage ) [static]
MTP storage meta-data copy factory method. A pointer to the meta-data is placed on the cleanup stack.
leave
One of the system wide error codes, if a processing failure occurs.

Parameters

const CMTPStorageMetaData & aStorage .

Member Enumerations Documentation

Enum TElementId

Defines the MTP storage meta-data element identifiers.

Enumerators

EAttributes = 0

The storage attribute flags ( TStorageAttribute ). This element is of type TUint .

EExcludedAreas = 1

The list of areas on the storage which contain data objects which must not be exposed by the MTP protocol and which must be excluded during data provider object enumeration. If EStorageSystemType is specified as ESystemTypeGenericHierachal then entries in this list are interpreted and validated as Symbian OS folder pathnames (e.g. "C:\Private", or "Z:\System"). This element is of type CDesCArray .

EStorageId = 2

The MTP StorageID. This element is of type TUint .

EStorageLogicalIds = 3

The MTP set of logical MTP StorageIDs associated with this storage. This set will always be empty if EStorageID is a logical MTP StorageID. This element is of type RArray<TUint> .

EStorageSuid = 4

The storage System Unique IDentifier (SUID). If EStorageSystemType is specified as ESystemTypeGenericHierachal then this value is interpreted and validated as a Symbian OS folder pathname (e.g. C:", or "E:") representing the root point of the MTP storage. This element is of type TDesC .

EStorageSystemType = 5

The storage system ( TStorageSystemType ). This element is of type TUint .

ENumElements

The number of elements.

Enum TStorageAttribute

Defines the MTP storage attribute bit flags. These are encoded as TUint . Flags in the least significant 16-bit range are reserved, those in the most significant 16-bit range are available for use as extension values by storage owners.

Enumerators

EAttrNone = 0x00000000

The null attribute.

EAttrMaskExtensions = 0xFFFF0000

The extension attribute flags mask.

EAttrMaskReserved = 0x0000FFFF

The reserved attribute flags mask.

Enum TStorageSystemType

Defines the storage system type identifier code space. This 16-bit code space is partitioned and encoded identically to the MTP "Filesystem Type", as described in the "Media Transfer Protocol Enhanced" specification.

Enumerators

ESystemTypeUndefined = 0x00000000

The undefined storage system type identifier code.

ESystemTypeGenericFlat = 0x00000001

The generic flat storage system type identifier code.

ESystemTypeGenericHierachal = 0x00000002

The generic hierachal storage system type identifier code.

ESystemTypeDCF = 0x00000003

The DRM Content Format (DCF) storage system type identifier code.

ESystemTypeMaskReservedStart = 0x00000004

The start of the reserved storage system type identifier code space.

ESystemTypeMaskReservedEnd = 0x00007FFF

The end of the reserved storage system type identifier code space.

ESystemTypeMTPVendorExtension = 0x00008000

The MTP vendor extension storage system type identifier code flags.

ESystemTypeMTPDefined = 0x0000C000

The MTP defined storage system type identifier code flags.

ESystemTypeMask = 0x0000FFFF

The 16-bit storage system type identifier code mask.

ESystemTypeDefaultFileSystem = ESystemTypeGenericHierachal

The default hierachal file system ( RFs ) based storage type identifier. If this storage type is specified then:1. The storage is assumed to reside on the file system. 2. The EStorageSuid is interpreted and validated as a Symbian OS folder pathname (e.g. C:", or "E:") representing the root point of the MTP storage. 3. Entries in the EExcludedAreas are interpreted and validated as Symbian OS folder pathnames (e.g. "C:\Private", or "Z:\System").

Member Data Documentation

const TElementMetaData KElements

const TElementMetaData KElements [private, static]

The element meta-data.

The element meta-data table content.