From 35634f442ab1ac5c70814766574e590359d1ff55 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Wed, 21 Feb 2018 18:06:09 +0100 Subject: [PATCH] Add findParticipantDevice method on Conference. --- src/conference/conference.cpp | 13 +++++++++++++ src/conference/conference.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/conference/conference.cpp b/src/conference/conference.cpp index efba1bad8..9e22d0207 100644 --- a/src/conference/conference.cpp +++ b/src/conference/conference.cpp @@ -141,6 +141,19 @@ shared_ptr Conference::findParticipant (const shared_ptr Conference::findParticipantDevice (const shared_ptr &session) const { + L_D(); + + for (const auto &participant : d->participants) { + for (const auto &device : participant->getPrivate()->getDevices()) { + if (device->getSession() == session) + return device; + } + } + + return nullptr; +} + bool Conference::isMe (const IdentityAddress &addr) const { L_D(); IdentityAddress cleanedAddr(addr); diff --git a/src/conference/conference.h b/src/conference/conference.h index 9891240ea..ed8d93637 100644 --- a/src/conference/conference.h +++ b/src/conference/conference.h @@ -34,6 +34,7 @@ class CallSession; class CallSessionListener; class CallSessionPrivate; class ConferencePrivate; +class ParticipantDevice; class LINPHONE_PUBLIC Conference : public ConferenceInterface, @@ -47,6 +48,7 @@ public: std::shared_ptr getActiveParticipant () const; std::shared_ptr findParticipant (const std::shared_ptr &session) const; + std::shared_ptr findParticipantDevice (const std::shared_ptr &session) const; /* ConferenceInterface */ void addParticipant (const IdentityAddress &addr, const CallSessionParams *params, bool hasMedia) override;