From 94b9dfdfbf647b058e909ee86a5f74539ae25078 Mon Sep 17 00:00:00 2001 From: mannol Date: Fri, 4 Jul 2014 18:16:53 +0200 Subject: Added getter for current call status --- toxav/toxav.c | 19 +++++++++++++++++-- toxav/toxav.h | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/toxav/toxav.c b/toxav/toxav.c index 743d7fcf..108c36eb 100644 --- a/toxav/toxav.c +++ b/toxav/toxav.c @@ -797,8 +797,6 @@ int toxav_get_peer_transmission_type ( ToxAv *av, int32_t call_index, int peer ) */ int toxav_get_peer_id ( ToxAv *av, int32_t call_index, int peer ) { - assert(av->msi_session); - if ( peer < 0 || cii(call_index, av->msi_session) || !av->msi_session->calls[call_index] || av->msi_session->calls[call_index]->peer_count <= peer ) return ErrorInternal; @@ -806,6 +804,23 @@ int toxav_get_peer_id ( ToxAv *av, int32_t call_index, int peer ) return av->msi_session->calls[call_index]->peers[peer]; } +/** + * @brief Get id of peer participating in conversation + * + * @param av Handler + * @param peer peer index + * @return int + * @retval ToxAvError No peer id + */ +ToxAvCallState toxav_get_call_state(ToxAv* av, int32_t call_index) +{ + if ( cii(call_index, av->msi_session) || !av->msi_session->calls[call_index] ) + return av_CallNonExistant; + + return av->msi_session->calls[call_index]->state; + +} + /** * @brief Is certain capability supported * diff --git a/toxav/toxav.h b/toxav/toxav.h index a548ee90..2e71c4da 100644 --- a/toxav/toxav.h +++ b/toxav/toxav.h @@ -74,6 +74,15 @@ typedef enum { } ToxAvCallType; +typedef enum { + av_CallNonExistant = -1, + av_CallInviting, /* when sending call invite */ + av_CallStarting, /* when getting call invite */ + av_CallActive, + av_CallHold, + av_CallHanged_up +} ToxAvCallState; + /** * @brief Error indicators. */ @@ -342,6 +351,15 @@ int toxav_get_peer_transmission_type ( ToxAv *av, int32_t call_index, int peer ) */ int toxav_get_peer_id ( ToxAv *av, int32_t call_index, int peer ); +/** + * @brief Get current call state + * + * @param av Handler + * @param call_index What call + * @return int + * @retval ToxAvCallState State id + */ +ToxAvCallState toxav_get_call_state ( ToxAv *av, int32_t call_index ); /** * @brief Is certain capability supported * -- cgit v1.2.3