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 TInt ControlIO (const RMessagePtr2 &, TInt , TAny *, TAny *)
IMPORT_C TInt DeleteNotify ( TInt64 , TInt )
TInt Dismounted ()
TInt Enlarge ( TInt )
TInt ErasePassword ()
IMPORT_C TInt Finalise ( TBool )
TInt ForceRemount ( TUint )
TInt Format ( TFormatInfo &)
TInt Format ( TInt64 , TInt )
IMPORT_C TInt GetLastErrorInfo ( TDes8 &)
IMPORT_C TInt GetLocalDrive ( TBusLocalDrive *&)
TInt Initialise ()
TInt LocalBufferSupport ()
TInt Lock ( TMediaPassword &, TMediaPassword &, TBool )
CMountCB * Mount ()
IMPORT_C TInt Read ( TInt64 , TInt , const TAny *, TInt , TInt , TInt )
TInt Read ( TInt64 , TInt , const TAny *, TInt , TInt )
TInt Read ( TInt64 , TInt , TDes8 &)
TInt ReduceSize ( TInt , TInt )
void SetMount ( CMountCB *)
TInt SetMountInfo (const TDesC8 *, TInt )
TInt Unlock ( TMediaPassword &, TBool )
IMPORT_C TInt Write ( 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 TInt GetInterface ( 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
enum TInterfaceIds { 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 & anInfo A 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 & aPassword A descriptor containing the password.

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

IMPORT_C TInt ControlIO ( const RMessagePtr2 & aMessage,
TInt aCommand,
TAny * aParam1,
TAny * aParam2
) [virtual]

Parameters

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

DeleteNotify(TInt64, TInt)

IMPORT_C TInt DeleteNotify ( TInt64 aPos,
TInt aLength
) [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 ( TInt aLength ) [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 aLength The 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 TInt Finalise ( TBool aFinalised )

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

Parameters

TBool aFinalised

ForceRemount(TUint)

TInt ForceRemount ( TUint aFlags = 0 ) [pure virtual]

Forces a remount on the proxy drive

Derived class must provide an implementation for it.

Parameters

TUint aFlags = 0 Flags 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 & anInfo Device specific format information.

Format(TInt64, TInt)

TInt Format ( TInt64 aPos,
TInt aLength
) [pure virtual]

Format the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPos The position of the data which is being formatted.
TInt aLength The length of the data which is being formatted.

GetInterface(TInt, TAny *&, TAny *)

IMPORT_C TInt GetInterface ( TInt aInterfaceId,
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 aInterfaceId Interface identifier of the interface to be retrieved.
TAny *& aInterface A reference to a pointer that retrieves the specified interface.
TAny * aInput An arbitrary input argument.

GetLastErrorInfo(TDes8 &)

IMPORT_C TInt GetLastErrorInfo ( TDes8 & aErrorInfo ) [virtual]

Parameters

TDes8 & aErrorInfo

GetLocalDrive(TBusLocalDrive *&)

IMPORT_C TInt GetLocalDrive ( 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,
TBool aStorePassword
) [pure virtual]

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

Derived class must provide an implementation for it.

Parameters

TMediaPassword & aOldPassword A descriptor containing the existing password.
TMediaPassword & aNewPassword A descriptor containing the new password.
TBool aStorePassword If 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 TInt Read ( TInt64 aPos,
TInt aLength,
const TAny * aTrg,
TInt aThreadHandle,
TInt aOffset,
TInt aFlags
) [virtual]

Parameters

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

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

TInt Read ( TInt64 aPos,
TInt aLength,
const TAny * aTrg,
TInt aThreadHandle,
TInt anOffset
) [pure virtual]

Read from the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPos The address from where the read begins.
TInt aLength The length of the read.
const TAny * aTrg A descriptor of the memory buffer from which to read.
TInt aThreadHandle The handle-number representing the drive thread.
TInt anOffset

Read(TInt64, TInt, TDes8 &)

TInt Read ( TInt64 aPos,
TInt aLength,
TDes8 & aTrg
) [pure virtual]

Read from the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPos The address from where the read begins.
TInt aLength The length of the read.
TDes8 & aTrg A descriptor of the memory buffer from which to read.

ReduceSize(TInt, TInt)

TInt ReduceSize ( TInt aPos,
TInt aLength
) [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 aPos The start position of area to be removed.
TInt aLength The length/size (in bytes) by which the drive is to be reduced.

SetMount(CMountCB *)

void SetMount ( CMountCB * aMount ) [inline]

Parameters

CMountCB * aMount

SetMountInfo(const TDesC8 *, TInt)

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

Set the mount information on the proxy drive.

Derived class must provide an implementation for it.

Parameters

const TDesC8 * aMountInfo Information 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,
TBool aStorePassword
) [pure virtual]

Unlocks a password-enabled proxy drive.

Derived class must provide an implementation for it.

Parameters

TMediaPassword & aPassword A descriptor containing the existing password.
TBool aStorePassword If ETrue, the password is added to the password store.

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

IMPORT_C TInt Write ( TInt64 aPos,
TInt aLength,
const TAny * aSrc,
TInt aThreadHandle,
TInt anOffset,
TInt aFlags
) [virtual]

Parameters

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

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

TInt Write ( TInt64 aPos,
TInt aLength,
const TAny * aSrc,
TInt aThreadHandle,
TInt anOffset
) [pure virtual]

Write to the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPos The address from where the write begins.
TInt aLength The length of the write.
const TAny * aSrc A descriptor of the memory buffer from which to write.
TInt aThreadHandle The handle-number representing the drive thread.
TInt anOffset

Write(TInt64, const TDesC8 &)

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

Write to the proxy drive.

Derived class must provide an implementation for it.

Parameters

TInt64 aPos The address from where the write begins.
const TDesC8 & aSrc A 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]