diff options
author | Dylan Van Assche <me@dylanvanassche.be> | 2021-08-15 16:53:18 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-09-08 10:02:51 +0200 |
commit | 15d66197b369384c72675b71ce83758289a87dc4 (patch) | |
tree | a69cb18ffa7dc7dacd9fb5370512b73b1cba0f95 /src/mm-iface-modem-voice.h | |
parent | 92ad38432c2a14d1ac310b58fde7d9336a45aff9 (diff) |
mm-broadband-modem-qmi: add AT URCs fall back for calls
Enable AT URCs for calls on top of QMI Voice indications
for AT+QMI devices only. Some AT+QMI devices send unreliable
QMI indications when the host is resuming. In such cases,
AT URCs can be used as a fall back to make calls reliable.
While AT+QMI devices relied before on AT commands to load
call list information and handle AT URCs for async updates,
this is now handled through QMI by forcefully reloading the
call list instead of processing the AT URCs.
This approach is disabled by default through the
MM_IFACE_MODEM_VOICE_INDICATION_CALL_LIST_RELOAD_ENABLED property.
This property is set to true in case of QMI modems.
Diffstat (limited to 'src/mm-iface-modem-voice.h')
-rw-r--r-- | src/mm-iface-modem-voice.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/mm-iface-modem-voice.h b/src/mm-iface-modem-voice.h index fe2ae243..f3164d64 100644 --- a/src/mm-iface-modem-voice.h +++ b/src/mm-iface-modem-voice.h @@ -30,9 +30,10 @@ #define MM_IS_IFACE_MODEM_VOICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_IFACE_MODEM_VOICE)) #define MM_IFACE_MODEM_VOICE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MM_TYPE_IFACE_MODEM_VOICE, MMIfaceModemVoice)) -#define MM_IFACE_MODEM_VOICE_DBUS_SKELETON "iface-modem-voice-dbus-skeleton" -#define MM_IFACE_MODEM_VOICE_CALL_LIST "iface-modem-voice-call-list" -#define MM_IFACE_MODEM_VOICE_PERIODIC_CALL_LIST_CHECK_DISABLED "iface-modem-voice-periodic-call-list-check-disabled" +#define MM_IFACE_MODEM_VOICE_DBUS_SKELETON "iface-modem-voice-dbus-skeleton" +#define MM_IFACE_MODEM_VOICE_CALL_LIST "iface-modem-voice-call-list" +#define MM_IFACE_MODEM_VOICE_PERIODIC_CALL_LIST_CHECK_DISABLED "iface-modem-voice-periodic-call-list-check-disabled" +#define MM_IFACE_MODEM_VOICE_INDICATION_CALL_LIST_RELOAD_ENABLED "iface-modem-voice-indication-call-list-reload-enabled" typedef struct _MMIfaceModemVoice MMIfaceModemVoice; @@ -239,6 +240,14 @@ void mm_iface_modem_voice_report_call (MMIfaceModemVoice *self, void mm_iface_modem_voice_report_all_calls (MMIfaceModemVoice *self, GList *call_info_list); +/* Full reload of call list (async) */ +void mm_iface_modem_voice_reload_all_calls (MMIfaceModemVoice *self, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean mm_iface_modem_voice_reload_all_calls_finish (MMIfaceModemVoice *self, + GAsyncResult *res, + GError **error); + /* Report an incoming DTMF received */ void mm_iface_modem_voice_received_dtmf (MMIfaceModemVoice *self, guint index, |