core: allow plugins to stop probing and not support a modem

Previously plugins could only stop probing, *or* stop probing and
indicate support for a device.  For the Alcatel X200/X060s debacle
we need to stop probing and indicate that the plugin does not
support the device at all.
This commit is contained in:
Dan Williams
2011-06-05 20:21:52 -05:00
parent d81fa43c1d
commit b122938ab5
4 changed files with 11 additions and 19 deletions

View File

@@ -60,20 +60,19 @@ GType mm_plugin_base_supports_task_get_type (void);
* response: the response string from the modem, if no error occurred
* error: the error returned by the modem or serial stack, if any
* tries: number of times the custom init command has been sent to the modem
* out_fail: on return, TRUE means fail the probe and close the port
* out_level: if the custom init command has determined that the modem is
* supported, return the support level here, and probing will cease
* out_stop: on return, TRUE means stop the probe and close the port
* out_level: on return, if out_stop is TRUE this should indicate the plugin's
* support level for this modem
*
* Function should return TRUE if the custom init command should be retried,
* FALSE if it should not. If FALSE is returned, generic probing will continue
* if out_fail == FALSE and out_level == 0, otherwise if out_fail == FALSE
* probing will stop, or if out_level > 0 the port will be claimed.
* if out_stop == FALSE.
*/
typedef gboolean (*MMBaseSupportsTaskCustomInitResultFunc) (MMPluginBaseSupportsTask *task,
GString *response,
GError *error,
guint32 tries,
gboolean *out_fail,
gboolean *out_stop,
guint32 *out_level,
gpointer user_data);