CBaseExtProxyDrive Class Reference

class CBaseExtProxyDrive : public CProxyDrive

Media subsystem extensions must be derived from this specific class interface. Objects of this type should be created through use of a derived CProxyDriveFactory class.

Class passes commands directly to CProxyDrive.

CProxyDrive CProxyDriveFactory

Inherits from

Public Member Functions
CBaseExtProxyDrive(CProxyDrive *, CMountCB *)
~CBaseExtProxyDrive()
IMPORT_C TIntCaps(TDes8 &)
IMPORT_C TIntClear(TMediaPassword &)
IMPORT_C TIntControlIO(const RMessagePtr2 &, TInt, TAny *, TAny *)
IMPORT_C TIntDeleteNotify(TInt64, TInt)
IMPORT_C TIntDismounted()
IMPORT_C TIntEnlarge(TInt)
IMPORT_C TIntErasePassword()
IMPORT_C TIntForceRemount(TUint)
IMPORT_C TIntFormat(TFormatInfo &)
IMPORT_C TIntFormat(TInt64, TInt)
IMPORT_C TIntGetLastErrorInfo(TDes8 &)
IMPORT_C TIntInitialise()
TInt LocalBufferSupport()
IMPORT_C TIntLock(TMediaPassword &, TMediaPassword &, TBool)
IMPORT_C TIntRead(TInt64, TInt, const TAny *, TInt, TInt, TInt)
IMPORT_C TIntRead(TInt64, TInt, const TAny *, TInt, TInt)
IMPORT_C TIntRead(TInt64, TInt, TDes8 &)
IMPORT_C TIntReduceSize(TInt, TInt)
IMPORT_C TIntSetMountInfo(const TDesC8 *, TInt)
IMPORT_C TIntUnlock(TMediaPassword &, TBool)
IMPORT_C TIntWrite(TInt64, TInt, const TAny *, TInt, TInt, TInt)
IMPORT_C TIntWrite(TInt64, TInt, const TAny *, TInt, TInt)
IMPORT_C TIntWrite(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()
CProxyDrive::CProxyDrive(CMountCB *)
CProxyDrive::Finalise(TBool)
CProxyDrive::GetLocalDrive(TBusLocalDrive *&)
CProxyDrive::Mount()const
CProxyDrive::SetMount(CMountCB *)
CProxyDrive::~CProxyDrive()
Inherited Enumerations
CProxyDrive:TInterfaceIds
Private Attributes
CProxyDrive *iProxy

Constructor & Destructor Documentation

CBaseExtProxyDrive(CProxyDrive *, CMountCB *)

IMPORT_CCBaseExtProxyDrive(CProxyDrive *aProxyDrive,
CMountCB *aMount
)

Parameters

CProxyDrive * aProxyDrive
CMountCB * aMount

~CBaseExtProxyDrive()

IMPORT_C~CBaseExtProxyDrive()

Member Functions Documentation

Caps(TDes8 &)

IMPORT_C TIntCaps(TDes8 &anInfo)[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 &)

IMPORT_C TIntClear(TMediaPassword &aPassword)[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()

IMPORT_C TIntDismounted()[virtual]

It invokes Dismounted() on the proxy drive.

Derived class must provide an implementation for it.

Enlarge(TInt)

IMPORT_C TIntEnlarge(TIntaLength)[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()

IMPORT_C TIntErasePassword()[virtual]

Forcibly unlock a password-enabled proxy drive.

Derived class must provide an implementation for it.

ForceRemount(TUint)

IMPORT_C TIntForceRemount(TUintaFlags = 0)[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 &)

IMPORT_C TIntFormat(TFormatInfo &anInfo)[virtual]

Format the connected drive.

Derived class must provide an implementation for it.

Parameters

TFormatInfo & anInfoDevice specific format information.

Format(TInt64, TInt)

IMPORT_C TIntFormat(TInt64aPos,
TIntaLength
)[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

Initialise()

IMPORT_C TIntInitialise()[virtual]

Initialise the proxy drive.

Derived class must provide an implementation for it.

LocalBufferSupport()

TInt LocalBufferSupport()[inline]

return whether proxy drive supports file caching

Lock(TMediaPassword &, TMediaPassword &, TBool)

IMPORT_C TIntLock(TMediaPassword &aOldPassword,
TMediaPassword &aNewPassword,
TBoolaStorePassword
)[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.

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)

IMPORT_C TIntRead(TInt64aPos,
TIntaLength,
const TAny *aTrg,
TIntaThreadHandle,
TIntanOffset
)[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 &)

IMPORT_C TIntRead(TInt64aPos,
TIntaLength,
TDes8 &aTrg
)[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)

IMPORT_C TIntReduceSize(TIntaPos,
TIntaLength
)[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.

SetMountInfo(const TDesC8 *, TInt)

IMPORT_C TIntSetMountInfo(const TDesC8 *aMountInfo,
TIntaMountInfoThreadHandle =  KCurrentThreadHandle
)[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)

IMPORT_C TIntUnlock(TMediaPassword &aPassword,
TBoolaStorePassword
)[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,
TIntaOffset,
TIntaFlags
)[virtual]

Parameters

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

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

IMPORT_C TIntWrite(TInt64aPos,
TIntaLength,
const TAny *aSrc,
TIntaThreadHandle,
TIntanOffset
)[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 &)

IMPORT_C TIntWrite(TInt64aPos,
const TDesC8 &aSrc
)[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 Data Documentation

CProxyDrive * iProxy

CProxyDrive *iProxy[private]