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 TInt Caps ( TDes8 &)
IMPORT_C TInt Clear ( TMediaPassword &)
IMPORT_C TInt ControlIO (const RMessagePtr2 &, TInt , TAny *, TAny *)
IMPORT_C TInt DeleteNotify ( TInt64 , TInt )
IMPORT_C TInt Dismounted ()
IMPORT_C TInt Enlarge ( TInt )
IMPORT_C TInt ErasePassword ()
IMPORT_C TInt ForceRemount ( TUint )
IMPORT_C TInt Format ( TFormatInfo &)
IMPORT_C TInt Format ( TInt64 , TInt )
IMPORT_C TInt GetLastErrorInfo ( TDes8 &)
IMPORT_C TInt Initialise ()
TInt LocalBufferSupport ()
IMPORT_C TInt Lock ( TMediaPassword &, TMediaPassword &, TBool )
IMPORT_C TInt Read ( TInt64 , TInt , const TAny *, TInt , TInt , TInt )
IMPORT_C TInt Read ( TInt64 , TInt , const TAny *, TInt , TInt )
IMPORT_C TInt Read ( TInt64 , TInt , TDes8 &)
IMPORT_C TInt ReduceSize ( TInt , TInt )
IMPORT_C TInt SetMountInfo (const TDesC8 *, TInt )
IMPORT_C TInt Unlock ( TMediaPassword &, TBool )
IMPORT_C TInt Write ( TInt64 , TInt , const TAny *, TInt , TInt , TInt )
IMPORT_C TInt Write ( TInt64 , TInt , const TAny *, TInt , TInt )
IMPORT_C 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()
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_C CBaseExtProxyDrive ( CProxyDrive * aProxyDrive,
CMountCB * aMount
)

Parameters

CProxyDrive * aProxyDrive
CMountCB * aMount

~CBaseExtProxyDrive()

IMPORT_C ~CBaseExtProxyDrive ( )

Member Functions Documentation

Caps(TDes8 &)

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

IMPORT_C TInt Clear ( 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 & 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()

IMPORT_C TInt Dismounted ( ) [virtual]

It invokes Dismounted() on the proxy drive.

Derived class must provide an implementation for it.

Enlarge(TInt)

IMPORT_C TInt Enlarge ( TInt aLength ) [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()

IMPORT_C TInt ErasePassword ( ) [virtual]

Forcibly unlock a password-enabled proxy drive.

Derived class must provide an implementation for it.

ForceRemount(TUint)

IMPORT_C TInt ForceRemount ( TUint aFlags = 0 ) [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 &)

IMPORT_C TInt Format ( TFormatInfo & anInfo ) [virtual]

Format the connected drive.

Derived class must provide an implementation for it.

Parameters

TFormatInfo & anInfo Device specific format information.

Format(TInt64, TInt)

IMPORT_C TInt Format ( TInt64 aPos,
TInt aLength
) [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

Initialise()

IMPORT_C TInt Initialise ( ) [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 TInt Lock ( TMediaPassword & aOldPassword,
TMediaPassword & aNewPassword,
TBool aStorePassword
) [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.

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)

IMPORT_C TInt Read ( TInt64 aPos,
TInt aLength,
const TAny * aTrg,
TInt aThreadHandle,
TInt anOffset
) [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 &)

IMPORT_C TInt Read ( TInt64 aPos,
TInt aLength,
TDes8 & aTrg
) [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)

IMPORT_C TInt ReduceSize ( TInt aPos,
TInt aLength
) [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.

SetMountInfo(const TDesC8 *, TInt)

IMPORT_C TInt SetMountInfo ( const TDesC8 * aMountInfo,
TInt aMountInfoThreadHandle =  KCurrentThreadHandle
) [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)

IMPORT_C TInt Unlock ( TMediaPassword & aPassword,
TBool aStorePassword
) [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 aOffset,
TInt aFlags
) [virtual]

Parameters

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

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

IMPORT_C TInt Write ( TInt64 aPos,
TInt aLength,
const TAny * aSrc,
TInt aThreadHandle,
TInt anOffset
) [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 &)

IMPORT_C TInt Write ( TInt64 aPos,
const TDesC8 & aSrc
) [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 Data Documentation

CProxyDrive * iProxy

CProxyDrive * iProxy [private]