api,call: new Multiparty boolean property

It will be set to TRUE if this call is part of a multiparty call.
This commit is contained in:
Aleksander Morgado
2019-07-02 14:38:49 +02:00
parent 8bc38110c9
commit 213c60b76d
9 changed files with 60 additions and 11 deletions

View File

@@ -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));

View File

@@ -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, },

View File

@@ -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,

View File

@@ -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

View File

@@ -127,6 +127,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:

View File

@@ -147,6 +147,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.

View File

@@ -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);

View File

@@ -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.

View File

@@ -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);
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);
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_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,