diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2019-06-16 16:15:28 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2019-07-11 23:01:08 +0200 |
commit | faaaf2027662b3f00bbdb90076abd72d5eed9397 (patch) | |
tree | 9ff7582891b5e51c8fd8872f0addb6e329b05a31 /plugins/cinterion/mm-shared-cinterion.c | |
parent | b22f90c4c4f874b5bef0e0b7a45b8888328e6aa4 (diff) |
cinterion: when ^SLCC is supported, detailed call state updates are implicit
Diffstat (limited to 'plugins/cinterion/mm-shared-cinterion.c')
-rw-r--r-- | plugins/cinterion/mm-shared-cinterion.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/plugins/cinterion/mm-shared-cinterion.c b/plugins/cinterion/mm-shared-cinterion.c index 59bf3266..cfc5b0ca 100644 --- a/plugins/cinterion/mm-shared-cinterion.c +++ b/plugins/cinterion/mm-shared-cinterion.c @@ -799,6 +799,35 @@ mm_shared_cinterion_enable_location_gathering (MMIfaceModemLocation *self, } /*****************************************************************************/ + +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 */ typedef struct { |