base-call: allow keeping ongoing call index for easy call matching
This commit is contained in:
@@ -63,6 +63,9 @@ struct _MMBaseCallPrivate {
|
|||||||
|
|
||||||
/* The port used for audio while call is ongoing, if known */
|
/* The port used for audio while call is ongoing, if known */
|
||||||
MMPort *audio_port;
|
MMPort *audio_port;
|
||||||
|
|
||||||
|
/* Ongoing call index */
|
||||||
|
guint index;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -811,6 +814,24 @@ 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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* Current call index, only applicable while the call is ongoing
|
||||||
|
* See 3GPP TS 22.030 [27], subclause 6.5.5.1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
guint
|
||||||
|
mm_base_call_get_index (MMBaseCall *self)
|
||||||
|
{
|
||||||
|
return self->priv->index;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
mm_base_call_set_index (MMBaseCall *self,
|
||||||
|
guint index)
|
||||||
|
{
|
||||||
|
self->priv->index = index;
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
/* Define the states in which we want to handle in-call events */
|
/* Define the states in which we want to handle in-call events */
|
||||||
@@ -872,6 +893,8 @@ mm_base_call_change_state (MMBaseCall *self,
|
|||||||
(GAsyncReadyCallback) cleanup_audio_channel_ready,
|
(GAsyncReadyCallback) cleanup_audio_channel_ready,
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
/* reset index */
|
||||||
|
self->priv->index = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
mm_gdbus_call_set_state (MM_GDBUS_CALL (self), new_state);
|
mm_gdbus_call_set_state (MM_GDBUS_CALL (self), new_state);
|
||||||
|
@@ -120,9 +120,12 @@ const gchar *mm_base_call_get_path (MMBaseCall *self);
|
|||||||
const gchar *mm_base_call_get_number (MMBaseCall *self);
|
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);
|
||||||
|
|
||||||
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,
|
||||||
|
guint index);
|
||||||
|
|
||||||
void mm_base_call_change_state (MMBaseCall *self,
|
void mm_base_call_change_state (MMBaseCall *self,
|
||||||
MMCallState new_state,
|
MMCallState new_state,
|
||||||
|
Reference in New Issue
Block a user