Detailed Description
The QModemPinManager class provides a method for the modem to query the user interface for pin values.
This class uses the AT+CPIN, AT+CPWD, and AT+CLCK commands from 3GPP TS 27.007.
Whenever an AT command fails in a way that requires a pin, the QModemPinManager class will emit the pinStatus() signal to request the desired pin. Once the correct pin has been entered, normal operations continue.
The QModemPinManager class implements the QPinManager telephony interface. Client applications should use QPinManager instead of this class to access the modem's pin functionality.
This modem interface handles the following posted events, via QModemService::post():
- pinquery - query the modem for the current pin. This is sent in response to an error from the modem indicating that a pin is required. This uses the AT+CPIN? command to determine the pin to ask the user for.
- simready - sufficient pin's have been supplied to return the SIM to the READY state. The pending operation can now continue.
See also QPinManager.
Member Function Documentation
QModemPinManager::QModemPinManager ( QModemService * service )
Create a modem pin manager for service.
QModemPinManager::~QModemPinManager ()
Destroy this modem pin manager.
bool QModemPinManager::emptyPinIsReady () const [virtual protected]
Returns true if an empty string in response to AT+CPIN? should be treated the same as READY; false otherwise. This is provided to work around bugs on some modems. Such modems should inherit QModemPinManager and override this method to return true. The default return value is false.
void QModemPinManager::needPin ( const QString & type, QObject * target, const char * pinSlot, const char * cancelSlot )
Ask for a specific type of pin and deliver it to pinSlot on target. The slot takes a single QString argument for the pin. If the user cancels the request, then invoke cancelSlot on target.
This method is typically used with AT+CPWD, AT+CLCK, and commands that require SIM PIN2.
If type indicates a puk (e.g. SIM PUK2), then this method will ask for both a puk and a new pin and then deliver the new pin to pinSlot once the puk has been verified. If repeated attempts to enter a puk fail, then cancelSlot will be notified.
int QModemPinManager::pinMaximum () const [virtual protected]
Returns the maximum size of a pin. The default implementation returns 32.
QString QModemPinManager::pinTypeToCode ( const QString & type ) const [virtual protected]
Convert a pin type such as SIM PIN, PH-SIM PIN, etc, into the two-letter code to be used with AT+CPWD. Returns an empty string if type is not recognized. This method can be overridden by modems that have more pin types than those defined by 3GPP TS 27.007.