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.
Public Member Functions | |
---|---|
IMPORT_C TInt | GetManufacturerStringDescriptor(TUint, TUint, TName &) |
IMPORT_C TInt | GetProductStringDescriptor(TUint, TUint, TName &) |
IMPORT_C TInt | GetSerialNumberStringDescriptor(TUint, TUint, TName &) |
IMPORT_C const RArray< TUint > & | GetSupportedLanguagesL(TUint) |
IMPORT_C TUint32 | TokenForInterface(TUint8) |
Private Member Functions | |
---|---|
MFdcPluginObserver() | |
TInt | MfpoGetManufacturerStringDescriptor(TUint, TUint, TName &) |
TInt | MfpoGetProductStringDescriptor(TUint, TUint, TName &) |
TInt | MfpoGetSerialNumberStringDescriptor(TUint, TUint, TName &) |
const RArray< TUint > & | MfpoGetSupportedLanguagesL(TUint) |
TUint32 | MfpoTokenForInterface(TUint8) |
IMPORT_C TInt | GetManufacturerStringDescriptor | ( | TUint | aDeviceId, |
TUint | aLangId, | |||
TName & | aString | |||
) |
Retrieves the manufacturer string descriptor from the given device with the given language ID.
IMPORT_C TInt | GetProductStringDescriptor | ( | TUint | aDeviceId, |
TUint | aLangId, | |||
TName & | aString | |||
) |
Retrieves the product string descriptor from the given device with the given language ID.
IMPORT_C TInt | GetSerialNumberStringDescriptor | ( | TUint | aDeviceId, |
TUint | aLangId, | |||
TName & | aString | |||
) |
Retrieves the serial number string descriptor from the given device with the given language ID.
IMPORT_C const RArray< TUint > & | GetSupportedLanguagesL | ( | TUint | aDeviceId | ) |
Retrieves the language IDs supported by the given device (as expressed in the device's string descriptor zero).
TUint aDeviceId | This is the device ID as given in MFdcInterfaceV1::Mfi1NewFunction. If an invalid device ID is used then the method will leave with KErrNotFound. |
TInt | MfpoGetManufacturerStringDescriptor | ( | TUint | aDeviceId, |
TUint | aLangId, | |||
TName & | aString | |||
) | [private, pure virtual] |
TInt | MfpoGetProductStringDescriptor | ( | TUint | aDeviceId, |
TUint | aLangId, | |||
TName & | aString | |||
) | [private, pure virtual] |
TInt | MfpoGetSerialNumberStringDescriptor | ( | TUint | aDeviceId, |
TUint | aLangId, | |||
TName & | aString | |||
) | [private, pure virtual] |
const RArray< TUint > & | MfpoGetSupportedLanguagesL | ( | TUint | aDeviceId | ) | [private, pure virtual] |
TUint aDeviceId |
TUint32 | MfpoTokenForInterface | ( | TUint8 | aInterface | ) | [private, pure virtual] |
TUint8 aInterface |
IMPORT_C TUint32 | TokenForInterface | ( | TUint8 | aInterface | ) |
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
TUint8 aInterface | The interface number. This will come from aInterfaces as passed in a call to MFdcInterfaceV1::Mfi1NewFunction. |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.