manager: Differentiate the NO_ORIGIN state

This avoids confusion when only the SIP plugin is loaded, but no account
is being used.

For this we introduce two new functions in the abstract CallsProvider class:
`is_modem()` to indicate whether the the provider deals with PTSN telephony and
`is_operational()` which by default simply checks if there any avalaible origins
This commit is contained in:
Evangelos Ribeiro Tzaras
2021-05-04 21:49:07 +02:00
parent 98d66743a1
commit 44f2002f86
7 changed files with 90 additions and 5 deletions

View File

@@ -306,6 +306,12 @@ calls_ofono_provider_get_protocols (CallsProvider *provider)
return supported_protocols;
}
static gboolean
calls_ofono_provider_is_modem (CallsProvider *provider)
{
return TRUE;
}
static void
modem_added_cb (GDBOManager *manager,
const gchar *path,
@@ -535,6 +541,7 @@ calls_ofono_provider_class_init (CallsOfonoProviderClass *klass)
provider_class->get_status = calls_ofono_provider_get_status;
provider_class->get_origins = calls_ofono_provider_get_origins;
provider_class->get_protocols = calls_ofono_provider_get_protocols;
provider_class->is_modem = calls_ofono_provider_is_modem;
}