MFdcPluginObserver Class Reference

class MFdcPluginObserver

Interface for FDCs to call into the FDF. The public methods are non-virtual and exported, so that they can be added to without breaking BC for existing (non-rebuilt) FDCs.

Constructor & Destructor Documentation

MFdcPluginObserver()

MFdcPluginObserver()[private, inline]

Member Functions Documentation

GetManufacturerStringDescriptor(TUint, TUint, TName &)

IMPORT_C TIntGetManufacturerStringDescriptor(TUintaDeviceId,
TUintaLangId,
TName &aString
)

Retrieves the manufacturer string descriptor from the given device with the given language ID.

Parameters

TUint aDeviceIdThis is the device ID as given in MFdcInterfaceV1::Mfi1NewFunction.
TUint aLangIdThe language ID of the desired string.
TName & aStringOn return, the desired string.

GetProductStringDescriptor(TUint, TUint, TName &)

IMPORT_C TIntGetProductStringDescriptor(TUintaDeviceId,
TUintaLangId,
TName &aString
)

Retrieves the product string descriptor from the given device with the given language ID.

Parameters

TUint aDeviceIdThis is the device ID as given in MFdcInterfaceV1::Mfi1NewFunction.
TUint aLangIdThe language ID of the desired string.
TName & aStringOn return, the desired string.

GetSerialNumberStringDescriptor(TUint, TUint, TName &)

IMPORT_C TIntGetSerialNumberStringDescriptor(TUintaDeviceId,
TUintaLangId,
TName &aString
)

Retrieves the serial number string descriptor from the given device with the given language ID.

Parameters

TUint aDeviceIdThis is the device ID as given in MFdcInterfaceV1::Mfi1NewFunction.
TUint aLangIdThe language ID of the desired string.
TName & aStringOn return, the desired string.

GetSupportedLanguagesL(TUint)

IMPORT_C const RArray< TUint > &GetSupportedLanguagesL(TUintaDeviceId)

Retrieves the language IDs supported by the given device (as expressed in the device's string descriptor zero).

Parameters

TUint aDeviceIdThis is the device ID as given in MFdcInterfaceV1::Mfi1NewFunction. If an invalid device ID is used then the method will leave with KErrNotFound.

MfpoGetManufacturerStringDescriptor(TUint, TUint, TName &)

TInt MfpoGetManufacturerStringDescriptor(TUintaDeviceId,
TUintaLangId,
TName &aString
)[private, pure virtual]

Parameters

TUint aDeviceId
TUint aLangId
TName & aString

MfpoGetProductStringDescriptor(TUint, TUint, TName &)

TInt MfpoGetProductStringDescriptor(TUintaDeviceId,
TUintaLangId,
TName &aString
)[private, pure virtual]

Parameters

TUint aDeviceId
TUint aLangId
TName & aString

MfpoGetSerialNumberStringDescriptor(TUint, TUint, TName &)

TInt MfpoGetSerialNumberStringDescriptor(TUintaDeviceId,
TUintaLangId,
TName &aString
)[private, pure virtual]

Parameters

TUint aDeviceId
TUint aLangId
TName & aString

MfpoGetSupportedLanguagesL(TUint)

const RArray< TUint > &MfpoGetSupportedLanguagesL(TUintaDeviceId)[private, pure virtual]

Parameters

TUint aDeviceId

MfpoTokenForInterface(TUint8)

TUint32 MfpoTokenForInterface(TUint8aInterface)[private, pure virtual]

Parameters

TUint8 aInterface

TokenForInterface(TUint8)

IMPORT_C TUint32TokenForInterface(TUint8aInterface)

Retrieves the token for an interface and claims ownership of the interface.

This method may only be called during execution of the FDC's implementation of MFdcInterfaceV1::Mfi1NewFunction. If it is called at any other time the FDC will be panicked.

If aInterface is not one of the interfaces listed in the array 'aInterfaces', passed to the FDC's implementation of MFdcInterfaceV1::Mfi1NewFunction, then the FDC will be panicked.

In its implementation of MFdcInterfaceV1::Mfi1NewFunction, the FDC is expected to make at least one call to TokenForInterface. If it does not, it will be panicked.

The FDC is expected to make sufficient calls to TokenForInterface to claim ownership of interfaces and to collect the tokens necessary to open RUsbInterface handles on those interfaces. The FDC must take a complete Function's worth of interfaces, and only a single Function's worth of interfaces, depending on how the relevant USB Class defines Functions.

WARNING:If the token is equal to 0 then the FDC should not make any attempt to open any RUsbInterface handles with it because that means that the device has been disconnected (cable removed or detached because was draining too much current) thus will not being able to use the device

Parameters

TUint8 aInterfaceThe interface number. This will come from aInterfaces as passed in a call to MFdcInterfaceV1::Mfi1NewFunction.