cinterion: when ^SLCC is supported, detailed call state updates are implicit

This commit is contained in:
Aleksander Morgado
2019-07-11 23:01:08 +02:00
parent b22f90c4c4
commit faaaf20276
4 changed files with 40 additions and 0 deletions
@@ -1965,6 +1965,8 @@ iface_modem_voice_init (MMIfaceModemVoice *iface)
{
iface_modem_voice_parent = g_type_interface_peek_parent (iface);
iface->create_call = mm_shared_cinterion_create_call;
iface->enable_unsolicited_events = mm_shared_cinterion_voice_enable_unsolicited_events;
iface->enable_unsolicited_events_finish = mm_shared_cinterion_voice_enable_unsolicited_events_finish;
iface->disable_unsolicited_events = mm_shared_cinterion_voice_disable_unsolicited_events;
@@ -89,6 +89,8 @@ iface_modem_voice_init (MMIfaceModemVoice *iface)
{
iface_modem_voice_parent = g_type_interface_peek_parent (iface);
iface->create_call = mm_shared_cinterion_create_call;
iface->enable_unsolicited_events = mm_shared_cinterion_voice_enable_unsolicited_events;
iface->enable_unsolicited_events_finish = mm_shared_cinterion_voice_enable_unsolicited_events_finish;
iface->disable_unsolicited_events = mm_shared_cinterion_voice_disable_unsolicited_events;
+29
View File
@@ -798,6 +798,35 @@ mm_shared_cinterion_enable_location_gathering (MMIfaceModemLocation *self,
enable_location_gathering_context_gps_step (task);
}
/*****************************************************************************/
MMBaseCall *
mm_shared_cinterion_create_call (MMIfaceModemVoice *self,
MMCallDirection direction,
const gchar *number)
{
Private *priv;
/* If ^SLCC is supported create a cinterion call object */
priv = get_private (MM_SHARED_CINTERION (self));
if (priv->slcc_support == FEATURE_SUPPORTED) {
mm_dbg ("Created new call with ^SLCC support");
return mm_base_call_new (MM_BASE_MODEM (self),
direction,
number,
/* When SLCC is supported we have support for detailed
* call list events via call list report URCs */
TRUE, /* incoming timeout not required */
TRUE, /* dialing->ringing supported */
TRUE); /* ringing->active supported */
}
/* otherwise, run parent's generic base call logic */
g_assert (priv->iface_modem_voice_parent);
g_assert (priv->iface_modem_voice_parent->create_call);
return priv->iface_modem_voice_parent->create_call (self, direction, number);
}
/*****************************************************************************/
/* Common enable/disable voice unsolicited events */
+7
View File
@@ -70,6 +70,13 @@ gboolean mm_shared_cinterion_disable_location_gathering_finish (MMI
GAsyncResult *res,
GError **error);
/*****************************************************************************/
/* Create call (Voice interface) */
MMBaseCall *mm_shared_cinterion_create_call (MMIfaceModemVoice *self,
MMCallDirection direction,
const gchar *number);
void mm_shared_cinterion_voice_setup_unsolicited_events (MMIfaceModemVoice *self,
GAsyncReadyCallback callback,
gpointer user_data);