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:58:13 -05:00
parent d81fa43c1d
commit b122938ab5
4 changed files with 11 additions and 19 deletions
+3 -10
View File
@@ -757,20 +757,13 @@ custom_init_response (MMAtSerialPort *port,
MMPluginBaseSupportsTaskPrivate *task_priv = MM_PLUGIN_BASE_SUPPORTS_TASK_GET_PRIVATE (task);
CustomInit *custom = task_priv->cur_custom->data;
gboolean retry = FALSE;
gboolean fail = FALSE;
gboolean stop = FALSE;
guint32 level = 0;
custom->tries++;
retry = custom->callback (task, response, error, custom->tries, &fail, &level, custom->callback_data);
retry = custom->callback (task, response, error, custom->tries, &stop, &level, custom->callback_data);
if (fail) {
/* Plugin said to fail the probe */
probe_complete (task);
return;
}
if (level > 0) {
/* Plugin supports the modem */
if (stop) {
task_priv->probed_caps = level;
probe_complete (task);
return;