diff options
-rw-r--r-- | cli/mmcli-call.c | 1 | ||||
-rw-r--r-- | cli/mmcli-output.c | 1 | ||||
-rw-r--r-- | cli/mmcli-output.h | 1 | ||||
-rw-r--r-- | docs/reference/libmm-glib/libmm-glib-sections.txt | 3 | ||||
-rw-r--r-- | introspection/org.freedesktop.ModemManager1.Call.xml | 7 | ||||
-rw-r--r-- | libmm-glib/mm-call.c | 18 | ||||
-rw-r--r-- | libmm-glib/mm-call.h | 2 | ||||
-rw-r--r-- | src/mm-base-call.c | 13 | ||||
-rw-r--r-- | src/mm-base-call.h | 29 |
9 files changed, 62 insertions, 13 deletions
diff --git a/cli/mmcli-call.c b/cli/mmcli-call.c index 83a0c017..f3fd9382 100644 --- a/cli/mmcli-call.c +++ b/cli/mmcli-call.c @@ -162,6 +162,7 @@ print_call_info (MMCall *call) mmcli_output_string (MMC_F_CALL_GENERAL_DBUS_PATH, mm_call_get_path (call)); mmcli_output_string (MMC_F_CALL_PROPERTIES_NUMBER, mm_call_get_number (call)); mmcli_output_string (MMC_F_CALL_PROPERTIES_DIRECTION, mm_call_direction_get_string (mm_call_get_direction (call))); + mmcli_output_string (MMC_F_CALL_PROPERTIES_MULTIPARTY, mm_call_get_multiparty (call) ? "yes" : "no"); mmcli_output_string (MMC_F_CALL_PROPERTIES_STATE, mm_call_state_get_string (mm_call_get_state (call))); mmcli_output_string (MMC_F_CALL_PROPERTIES_STATE_REASON, mm_call_state_reason_get_string (mm_call_get_state_reason (call))); mmcli_output_string (MMC_F_CALL_PROPERTIES_AUDIO_PORT, mm_call_get_audio_port (call)); diff --git a/cli/mmcli-output.c b/cli/mmcli-output.c index 0242460c..7699f25e 100644 --- a/cli/mmcli-output.c +++ b/cli/mmcli-output.c @@ -227,6 +227,7 @@ static FieldInfo field_infos[] = { [MMC_F_CALL_GENERAL_DBUS_PATH] = { "call.dbus-path", "dbus path", MMC_S_CALL_GENERAL, }, [MMC_F_CALL_PROPERTIES_NUMBER] = { "call.properties.number", "number", MMC_S_CALL_PROPERTIES, }, [MMC_F_CALL_PROPERTIES_DIRECTION] = { "call.properties.direction", "direction", MMC_S_CALL_PROPERTIES, }, + [MMC_F_CALL_PROPERTIES_MULTIPARTY] = { "call.properties.multiparty", "multiparty", MMC_S_CALL_PROPERTIES, }, [MMC_F_CALL_PROPERTIES_STATE] = { "call.properties.state", "state", MMC_S_CALL_PROPERTIES, }, [MMC_F_CALL_PROPERTIES_STATE_REASON] = { "call.properties.state-reason", "state reason", MMC_S_CALL_PROPERTIES, }, [MMC_F_CALL_PROPERTIES_AUDIO_PORT] = { "call.properties.audio-port", "audio port", MMC_S_CALL_PROPERTIES, }, diff --git a/cli/mmcli-output.h b/cli/mmcli-output.h index 7793f797..024d2440 100644 --- a/cli/mmcli-output.h +++ b/cli/mmcli-output.h @@ -243,6 +243,7 @@ typedef enum { MMC_F_CALL_GENERAL_DBUS_PATH, MMC_F_CALL_PROPERTIES_NUMBER, MMC_F_CALL_PROPERTIES_DIRECTION, + MMC_F_CALL_PROPERTIES_MULTIPARTY, MMC_F_CALL_PROPERTIES_STATE, MMC_F_CALL_PROPERTIES_STATE_REASON, MMC_F_CALL_PROPERTIES_AUDIO_PORT, diff --git a/docs/reference/libmm-glib/libmm-glib-sections.txt b/docs/reference/libmm-glib/libmm-glib-sections.txt index 5daaff5c..dc92cec5 100644 --- a/docs/reference/libmm-glib/libmm-glib-sections.txt +++ b/docs/reference/libmm-glib/libmm-glib-sections.txt @@ -1332,6 +1332,7 @@ mm_call_get_audio_port mm_call_dup_audio_port mm_call_get_audio_format mm_call_peek_audio_format +mm_call_get_multiparty <SUBSECTION Methods> mm_call_start mm_call_start_finish @@ -3246,6 +3247,7 @@ mm_gdbus_call_dup_audio_format mm_gdbus_call_dup_audio_port mm_gdbus_call_get_audio_format mm_gdbus_call_get_audio_port +mm_gdbus_call_get_multiparty <SUBSECTION Methods> mm_gdbus_call_call_accept mm_gdbus_call_call_accept_finish @@ -3269,6 +3271,7 @@ mm_gdbus_call_set_state mm_gdbus_call_set_state_reason mm_gdbus_call_set_audio_format mm_gdbus_call_set_audio_port +mm_gdbus_call_set_multiparty mm_gdbus_call_complete_accept mm_gdbus_call_complete_hangup mm_gdbus_call_complete_send_dtmf diff --git a/introspection/org.freedesktop.ModemManager1.Call.xml b/introspection/org.freedesktop.ModemManager1.Call.xml index 0f704f2f..d32b0836 100644 --- a/introspection/org.freedesktop.ModemManager1.Call.xml +++ b/introspection/org.freedesktop.ModemManager1.Call.xml @@ -128,6 +128,13 @@ <property name="Number" type="s" access="read" /> <!-- + Multiparty: + + Whether the call is currently part of a multiparty conference call. + --> + <property name="Multiparty" type="b" access="read" /> + + <!-- AudioPort: If call audio is routed via the host, the name of the kernel device that diff --git a/libmm-glib/mm-call.c b/libmm-glib/mm-call.c index 7800249d..1ee624e2 100644 --- a/libmm-glib/mm-call.c +++ b/libmm-glib/mm-call.c @@ -148,6 +148,24 @@ mm_call_get_direction (MMCall *self) /*****************************************************************************/ /** + * mm_call_get_multiparty: + * @self: A #MMCall. + * + * Gets whether the call is part of a multiparty call. + * + * Returns: %TRUE if the call is part of a multiparty call, %FALSE otherwise.. + */ +gboolean +mm_call_get_multiparty (MMCall *self) +{ + g_return_val_if_fail (MM_IS_CALL (self), FALSE); + + return mm_gdbus_call_get_multiparty (MM_GDBUS_CALL (self)); +} + +/*****************************************************************************/ + +/** * mm_call_get_state: * @self: A #MMCall. * diff --git a/libmm-glib/mm-call.h b/libmm-glib/mm-call.h index 9344367b..d073120f 100644 --- a/libmm-glib/mm-call.h +++ b/libmm-glib/mm-call.h @@ -76,6 +76,8 @@ MMCallStateReason mm_call_get_state_reason (MMCall *self); MMCallDirection mm_call_get_direction (MMCall *self); +gboolean mm_call_get_multiparty (MMCall *self); + const gchar *mm_call_get_audio_port (MMCall *self); gchar *mm_call_dup_audio_port (MMCall *self); diff --git a/src/mm-base-call.c b/src/mm-base-call.c index 6ff7153d..ccf1222f 100644 --- a/src/mm-base-call.c +++ b/src/mm-base-call.c @@ -770,6 +770,19 @@ mm_base_call_get_state (MMBaseCall *self) return (MMCallState) mm_gdbus_call_get_state (MM_GDBUS_CALL (self)); } +gboolean +mm_base_call_get_multiparty (MMBaseCall *self) +{ + return mm_gdbus_call_get_multiparty (MM_GDBUS_CALL (self)); +} + +void +mm_base_call_set_multiparty (MMBaseCall *self, + gboolean multiparty) +{ + return mm_gdbus_call_set_multiparty (MM_GDBUS_CALL (self), multiparty); +} + /*****************************************************************************/ /* Current call index, only applicable while the call is ongoing * See 3GPP TS 22.030 [27], subclause 6.5.5.1. diff --git a/src/mm-base-call.h b/src/mm-base-call.h index e858e08f..279edec1 100644 --- a/src/mm-base-call.h +++ b/src/mm-base-call.h @@ -104,19 +104,22 @@ MMBaseCall *mm_base_call_new (MMBaseModem *modem, gboolean supports_dialing_to_ringing, gboolean supports_ringing_to_active); -void mm_base_call_export (MMBaseCall *self); -void mm_base_call_unexport (MMBaseCall *self); - -const gchar *mm_base_call_get_path (MMBaseCall *self); -const gchar *mm_base_call_get_number (MMBaseCall *self); -MMCallDirection mm_base_call_get_direction (MMBaseCall *self); -MMCallState mm_base_call_get_state (MMBaseCall *self); -guint mm_base_call_get_index (MMBaseCall *self); - -void mm_base_call_set_number (MMBaseCall *self, - const gchar *number); -void mm_base_call_set_index (MMBaseCall *self, - guint index); +void mm_base_call_export (MMBaseCall *self); +void mm_base_call_unexport (MMBaseCall *self); + +const gchar *mm_base_call_get_path (MMBaseCall *self); +const gchar *mm_base_call_get_number (MMBaseCall *self); +MMCallDirection mm_base_call_get_direction (MMBaseCall *self); +MMCallState mm_base_call_get_state (MMBaseCall *self); +guint mm_base_call_get_index (MMBaseCall *self); +gboolean mm_base_call_get_multiparty (MMBaseCall *self); + +void mm_base_call_set_number (MMBaseCall *self, + const gchar *number); +void mm_base_call_set_index (MMBaseCall *self, + guint index); +void mm_base_call_set_multiparty (MMBaseCall *self, + gboolean multiparty); void mm_base_call_change_state (MMBaseCall *self, MMCallState new_state, |