From 30dbfe2bf6a03e42557d8edf6d415fe50caf8fdf Mon Sep 17 00:00:00 2001
From: Ghislain MARY <ghislain.mary@belledonne-communications.com>
Date: Mon, 6 Nov 2017 16:02:52 +0100
Subject: [PATCH] Add linphone_core_find_chat_room() function for testers.

---
 coreapi/tester_utils.cpp | 12 ++++++++++++
 coreapi/tester_utils.h   |  1 +
 2 files changed, 13 insertions(+)

diff --git a/coreapi/tester_utils.cpp b/coreapi/tester_utils.cpp
index c484077745..4589778a73 100644
--- a/coreapi/tester_utils.cpp
+++ b/coreapi/tester_utils.cpp
@@ -20,6 +20,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 #include "tester_utils.h"
 #include "private.h"
 
+#include "chat/chat-room/chat-room.h"
+#include "core/core.h"
+#include "c-wrapper/c-wrapper.h"
+
 LinphoneVcardContext *linphone_core_get_vcard_context(const LinphoneCore *lc) {
 	return lc->vcard_context;
 }
@@ -48,6 +52,14 @@ bctbx_list_t **linphone_core_get_call_logs_attribute(LinphoneCore *lc) {
 	return &lc->call_logs;
 }
 
+LinphoneChatRoom * linphone_core_find_chat_room (const LinphoneCore *lc, const LinphoneAddress *addr) {
+	const LinphonePrivate::Address *cppAddr = L_GET_CPP_PTR_FROM_C_OBJECT(addr);
+	std::shared_ptr<LinphonePrivate::ChatRoom> cr = lc->cppCore->findChatRoom(*cppAddr);
+	if (!cr)
+		return nullptr;
+	return L_GET_C_BACK_PTR(cr);
+}
+
 void linphone_core_cbs_set_auth_info_requested(LinphoneCoreCbs *cbs, LinphoneCoreAuthInfoRequestedCb cb) {
 	cbs->vtable->auth_info_requested = cb;
 }
diff --git a/coreapi/tester_utils.h b/coreapi/tester_utils.h
index c486e59f64..1d6f7f7010 100644
--- a/coreapi/tester_utils.h
+++ b/coreapi/tester_utils.h
@@ -94,6 +94,7 @@ LINPHONE_PUBLIC LinphoneQualityReporting *linphone_call_log_get_quality_reportin
 LINPHONE_PUBLIC reporting_session_report_t **linphone_quality_reporting_get_reports(LinphoneQualityReporting *qreporting);
 
 LINPHONE_PUBLIC bctbx_list_t * linphone_chat_room_get_transient_messages(const LinphoneChatRoom *cr);
+LINPHONE_PUBLIC LinphoneChatRoom * linphone_core_find_chat_room (const LinphoneCore *lc, const LinphoneAddress *addr);
 
 LINPHONE_PUBLIC MSList* linphone_core_fetch_friends_from_db(LinphoneCore *lc, LinphoneFriendList *list);
 LINPHONE_PUBLIC MSList* linphone_core_fetch_friends_lists_from_db(LinphoneCore *lc);
-- 
GitLab