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_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_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_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, 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_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)); 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_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_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_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] = { "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_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, }, [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_GENERAL_DBUS_PATH,
MMC_F_CALL_PROPERTIES_NUMBER, MMC_F_CALL_PROPERTIES_NUMBER,
MMC_F_CALL_PROPERTIES_DIRECTION, MMC_F_CALL_PROPERTIES_DIRECTION,
MMC_F_CALL_PROPERTIES_MULTIPARTY,
MMC_F_CALL_PROPERTIES_STATE, MMC_F_CALL_PROPERTIES_STATE,
MMC_F_CALL_PROPERTIES_STATE_REASON, MMC_F_CALL_PROPERTIES_STATE_REASON,
MMC_F_CALL_PROPERTIES_AUDIO_PORT, MMC_F_CALL_PROPERTIES_AUDIO_PORT,

View File

@@ -1332,6 +1332,7 @@ mm_call_get_audio_port
mm_call_dup_audio_port mm_call_dup_audio_port
mm_call_get_audio_format mm_call_get_audio_format
mm_call_peek_audio_format mm_call_peek_audio_format
mm_call_get_multiparty
<SUBSECTION Methods> <SUBSECTION Methods>
mm_call_start mm_call_start
mm_call_start_finish mm_call_start_finish
@@ -3246,6 +3247,7 @@ mm_gdbus_call_dup_audio_format
mm_gdbus_call_dup_audio_port mm_gdbus_call_dup_audio_port
mm_gdbus_call_get_audio_format mm_gdbus_call_get_audio_format
mm_gdbus_call_get_audio_port mm_gdbus_call_get_audio_port
mm_gdbus_call_get_multiparty
<SUBSECTION Methods> <SUBSECTION Methods>
mm_gdbus_call_call_accept mm_gdbus_call_call_accept
mm_gdbus_call_call_accept_finish 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_state_reason
mm_gdbus_call_set_audio_format mm_gdbus_call_set_audio_format
mm_gdbus_call_set_audio_port mm_gdbus_call_set_audio_port
mm_gdbus_call_set_multiparty
mm_gdbus_call_complete_accept mm_gdbus_call_complete_accept
mm_gdbus_call_complete_hangup mm_gdbus_call_complete_hangup
mm_gdbus_call_complete_send_dtmf mm_gdbus_call_complete_send_dtmf

View File

@@ -127,6 +127,13 @@
--> -->
<property name="Number" type="s" access="read" /> <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: 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: * mm_call_get_state:
* @self: A #MMCall. * @self: A #MMCall.

View File

@@ -76,6 +76,8 @@ MMCallStateReason mm_call_get_state_reason (MMCall *self);
MMCallDirection mm_call_get_direction (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); const gchar *mm_call_get_audio_port (MMCall *self);
gchar *mm_call_dup_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)); 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 /* Current call index, only applicable while the call is ongoing
* See 3GPP TS 22.030 [27], subclause 6.5.5.1. * See 3GPP TS 22.030 [27], subclause 6.5.5.1.

View File

@@ -112,11 +112,14 @@ const gchar *mm_base_call_get_number (MMBaseCall *self);
MMCallDirection mm_base_call_get_direction (MMBaseCall *self); MMCallDirection mm_base_call_get_direction (MMBaseCall *self);
MMCallState mm_base_call_get_state (MMBaseCall *self); MMCallState mm_base_call_get_state (MMBaseCall *self);
guint mm_base_call_get_index (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, void mm_base_call_set_number (MMBaseCall *self,
const gchar *number); const gchar *number);
void mm_base_call_set_index (MMBaseCall *self, void mm_base_call_set_index (MMBaseCall *self,
guint index); guint index);
void mm_base_call_set_multiparty (MMBaseCall *self,
gboolean multiparty);
void mm_base_call_change_state (MMBaseCall *self, void mm_base_call_change_state (MMBaseCall *self,
MMCallState new_state, MMCallState new_state,