CProxyDrive Class Reference

class CProxyDrive : public CBase

Base abstract class. Interface between a local plugin file system and a media subsystem.

CLocalProxyDrive CBaseExtProxyDrive

Inherits from

Public Member Functions
CProxyDrive(CMountCB *)
~CProxyDrive()
TInt Caps(TDes8 &)
TInt Clear(TMediaPassword &)
IMPORT_C TIntControlIO(const RMessagePtr2 &, TInt, TAny *, TAny *)
IMPORT_C TIntDeleteNotify(TInt64, TInt)
TInt Dismounted()
TInt Enlarge(TInt)
TInt ErasePassword()
IMPORT_C TIntFinalise(TBool)
TInt ForceRemount(TUint)
TInt Format(TFormatInfo &)
TInt Format(TInt64, TInt)
IMPORT_C TIntGetLastErrorInfo(TDes8 &)
IMPORT_C TIntGetLocalDrive(TBusLocalDrive *&)
TInt Initialise()
TInt LocalBufferSupport()
TInt Lock(TMediaPassword &, TMediaPassword &, TBool)
CMountCB *Mount()
IMPORT_C TIntRead(TInt64, TInt, const TAny *, TInt, TInt, TInt)
TInt Read(TInt64, TInt, const TAny *, TInt, TInt)
TInt Read(TInt64, TInt, TDes8 &)
TInt ReduceSize(TInt, TInt)
voidSetMount(CMountCB *)
TInt SetMountInfo(const TDesC8 *, TInt)
TInt Unlock(TMediaPassword &, TBool)
IMPORT_C TIntWrite(TInt64, TInt, const TAny *, TInt, TInt, TInt)
TInt Write(TInt64, TInt, const TAny *, TInt, TInt)
TInt Write(TInt64, const TDesC8 &)
Protected Member Functions
IMPORT_C TIntGetInterface(TInt, TAny *&, TAny *)
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()
Public Member Enumerations
enumTInterfaceIds { EGetLocalDrive, ELocalBufferSupport, EGetProxyDrive, EFinalised }
Private Attributes
CMountCB *iMount
TUint32 iReserved

Constructor & Destructor Documentation

CProxyDrive(CMountCB *)

CProxyDrive(CMountCB *aMount)

Parameters

CMountCB * aMount

~CProxyDrive()

~CProxyDrive()

Member Functions Documentation

Caps(TDes8 &)

TInt Caps(TDes8 &anInfo)[pure virtual]

Get the proxy drive's capabilities information.

Derived class must provide an implementation for it.

Parameters

TDes8 & anInfoA descriptor of the connected drives capabilities.

Clear(TMediaPassword &)

TInt Clear(TMediaPassword &aPassword)[pure virtual]

Clears a password from a proxy drive - controller sets password to null.

Derived class must provide an implementation for it.

Parameters

TMediaPassword & aPasswordA descriptor containing the password.

ControlIO(const RMessagePtr2 &, TInt, TAny *, TAny *)

IMPORT_C TIntControlIO(const RMessagePtr2 &aMessage,
TIntaCommand,
TAny *aParam1,
TAny *aParam2
)[virtual]

Parameters

const RMessagePtr2 & aMessage
TInt aCommand
TAny * aParam1
TAny * aParam2

DeleteNotify(TInt64, TInt)

IMPORT_C TIntDeleteNotify(TInt64aPos,
TIntaLength
)[virtual]

Parameters

TInt64 aPos
TInt aLength

Dismounted()

TInt Dismounted()[pure virtual]

It invokes Dismounted() on the proxy drive.

Derived class must provide an implementation for it.

Enlarge(TInt)

TInt Enlarge(TIntaLength)[pure virtual]

Increase the size of the proxy drive by the specified length (in bytes).

Derived class must provide an implementation for it.

Parameters

TInt aLengthThe length (in bytes) of which the drive is to be increased by.

ErasePassword()

TInt ErasePassword()[pure virtual]

Forcibly unlock a password-enabled proxy drive.

Derived class must provide an implementation for it.

Finalise(TBool)

IMPORT_C TIntFinalise(TBoolaFinalised)

Informs the extension that the mount has been finalised and is in a consistent state.

Parameters

TBool aFinalised

ForceRemount(TUint)

TInt ForceRemount(TUintaFlags = 0)[pure virtual]

Forces a remount on the proxy drive

Derived class must provide an implementation for it.

Parameters

TUint aFlags = 0Flags to be passed into the driver.

Format(TFormatInfo &)

TInt Format(TFormatInfo &anInfo)[pure virtual]

Format the connected drive.

Derived class must provide an implementation for it.

Parameters

TFormatInfo & anInfoDevice specific format information.

Format(TInt64, TInt)

TInt Format(TInt64aPos,
TIntaLength
)[pure virtual]

Format the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPosThe position of the data which is being formatted.
TInt aLengthThe length of the data which is being formatted.

GetInterface(TInt, TAny *&, TAny *)

IMPORT_C TIntGetInterface(TIntaInterfaceId,
TAny *&aInterface,
TAny *aInput
)[protected, virtual]

Return a pointer to a specified interface extension - to allow future extension of this class without breaking binary compatibility.

Parameters

TInt aInterfaceIdInterface identifier of the interface to be retrieved.
TAny *& aInterfaceA reference to a pointer that retrieves the specified interface.
TAny * aInputAn arbitrary input argument.

GetLastErrorInfo(TDes8 &)

IMPORT_C TIntGetLastErrorInfo(TDes8 &aErrorInfo)[virtual]

Parameters

TDes8 & aErrorInfo

GetLocalDrive(TBusLocalDrive *&)

IMPORT_C TIntGetLocalDrive(TBusLocalDrive *&aLocDrv)

Retrieves TBusLocalDrive object associated with the file.

Parameters

TBusLocalDrive *& aLocDrv

Initialise()

TInt Initialise()[pure virtual]

Initialise the proxy drive.

Derived class must provide an implementation for it.

LocalBufferSupport()

TInt LocalBufferSupport()[inline]

Returns wheher the drive (and any extensions) support file caching

Lock(TMediaPassword &, TMediaPassword &, TBool)

TInt Lock(TMediaPassword &aOldPassword,
TMediaPassword &aNewPassword,
TBoolaStorePassword
)[pure virtual]

Locks a password-enabled proxy drive with the new password.

Derived class must provide an implementation for it.

Parameters

TMediaPassword & aOldPasswordA descriptor containing the existing password.
TMediaPassword & aNewPasswordA descriptor containing the new password.
TBool aStorePasswordIf ETrue, the password is added to the password store.

Mount()

CMountCB *Mount()const [inline]

Gets the mount control block object for a specific volume on a drive.

Read(TInt64, TInt, const TAny *, TInt, TInt, TInt)

IMPORT_C TIntRead(TInt64aPos,
TIntaLength,
const TAny *aTrg,
TIntaThreadHandle,
TIntaOffset,
TIntaFlags
)[virtual]

Parameters

TInt64 aPos
TInt aLength
const TAny * aTrg
TInt aThreadHandle
TInt aOffset
TInt aFlags

Read(TInt64, TInt, const TAny *, TInt, TInt)

TInt Read(TInt64aPos,
TIntaLength,
const TAny *aTrg,
TIntaThreadHandle,
TIntanOffset
)[pure virtual]

Read from the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPosThe address from where the read begins.
TInt aLengthThe length of the read.
const TAny * aTrgA descriptor of the memory buffer from which to read.
TInt aThreadHandleThe handle-number representing the drive thread.
TInt anOffset

Read(TInt64, TInt, TDes8 &)

TInt Read(TInt64aPos,
TIntaLength,
TDes8 &aTrg
)[pure virtual]

Read from the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPosThe address from where the read begins.
TInt aLengthThe length of the read.
TDes8 & aTrgA descriptor of the memory buffer from which to read.

ReduceSize(TInt, TInt)

TInt ReduceSize(TIntaPos,
TIntaLength
)[pure virtual]

Reduce the size of the proxy drive by removing the specified length (in bytes) starting at the specified position.

Derived class must provide an implementation for it.

Parameters

TInt aPosThe start position of area to be removed.
TInt aLengthThe length/size (in bytes) by which the drive is to be reduced.

SetMount(CMountCB *)

voidSetMount(CMountCB *aMount)[inline]

Parameters

CMountCB * aMount

SetMountInfo(const TDesC8 *, TInt)

TInt SetMountInfo(const TDesC8 *aMountInfo,
TIntaMountInfoThreadHandle =  KCurrentThreadHandle
)[pure virtual]

Set the mount information on the proxy drive.

Derived class must provide an implementation for it.

Parameters

const TDesC8 * aMountInfoInformation passed down to the media driver. The meaning of this information depends on the media driver.
TInt aMountInfoThreadHandle =  KCurrentThreadHandle Message thread handle number.

Unlock(TMediaPassword &, TBool)

TInt Unlock(TMediaPassword &aPassword,
TBoolaStorePassword
)[pure virtual]

Unlocks a password-enabled proxy drive.

Derived class must provide an implementation for it.

Parameters

TMediaPassword & aPasswordA descriptor containing the existing password.
TBool aStorePasswordIf ETrue, the password is added to the password store.

Write(TInt64, TInt, const TAny *, TInt, TInt, TInt)

IMPORT_C TIntWrite(TInt64aPos,
TIntaLength,
const TAny *aSrc,
TIntaThreadHandle,
TIntanOffset,
TIntaFlags
)[virtual]

Parameters

TInt64 aPos
TInt aLength
const TAny * aSrc
TInt aThreadHandle
TInt anOffset
TInt aFlags

Write(TInt64, TInt, const TAny *, TInt, TInt)

TInt Write(TInt64aPos,
TIntaLength,
const TAny *aSrc,
TIntaThreadHandle,
TIntanOffset
)[pure virtual]

Write to the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPosThe address from where the write begins.
TInt aLengthThe length of the write.
const TAny * aSrcA descriptor of the memory buffer from which to write.
TInt aThreadHandleThe handle-number representing the drive thread.
TInt anOffset

Write(TInt64, const TDesC8 &)

TInt Write(TInt64aPos,
const TDesC8 &aSrc
)[pure virtual]

Write to the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPosThe address from where the write begins.
const TDesC8 & aSrcA descriptor of the memory buffer from which to write.

Member Enumerations Documentation

Enum TInterfaceIds

Enumerators

EGetLocalDrive
ELocalBufferSupport
EGetProxyDrive
EFinalised

Member Data Documentation

CMountCB * iMount

CMountCB *iMount[private]

TUint32 iReserved

TUint32 iReserved[private]