diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2019-06-15 22:59:22 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2019-07-11 23:00:50 +0200 |
commit | 3873fda83f130b7bc76059dea8ffd6e4e34d1669 (patch) | |
tree | ac2a5ad0500313f653c19ead6af039a8d9ff4fbb /src | |
parent | a006ed0744a7d505ead16a86eaf8ec708e7f46fe (diff) |
base-call: allow keeping ongoing call index for easy call matching
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-base-call.c | 23 | ||||
-rw-r--r-- | src/mm-base-call.h | 3 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/mm-base-call.c b/src/mm-base-call.c index 46e06ee6..cab4bdc0 100644 --- a/src/mm-base-call.c +++ b/src/mm-base-call.c @@ -63,6 +63,9 @@ struct _MMBaseCallPrivate { /* The port used for audio while call is ongoing, if known */ MMPort *audio_port; + + /* Ongoing call index */ + guint index; }; /*****************************************************************************/ @@ -812,6 +815,24 @@ mm_base_call_get_state (MMBaseCall *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 MM_CALL_STATE_IS_IN_CALL(state) \ @@ -872,6 +893,8 @@ mm_base_call_change_state (MMBaseCall *self, (GAsyncReadyCallback) cleanup_audio_channel_ready, NULL); } + /* reset index */ + self->priv->index = 0; } mm_gdbus_call_set_state (MM_GDBUS_CALL (self), new_state); diff --git a/src/mm-base-call.h b/src/mm-base-call.h index 86caa485..3e89467d 100644 --- a/src/mm-base-call.h +++ b/src/mm-base-call.h @@ -120,9 +120,12 @@ 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_change_state (MMBaseCall *self, MMCallState new_state, |