From 091a5e38aa14739b05c484930c6e881dcf0ab14c Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Thu, 12 Apr 2018 12:10:39 +0200 Subject: [PATCH] Improve content handling in local conference event handler. --- .../handlers/local-conference-event-handler.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/conference/handlers/local-conference-event-handler.cpp b/src/conference/handlers/local-conference-event-handler.cpp index a9aca08b7..fd67e2d00 100644 --- a/src/conference/handlers/local-conference-event-handler.cpp +++ b/src/conference/handlers/local-conference-event-handler.cpp @@ -107,10 +107,8 @@ string LocalConferenceEventHandlerPrivate::createNotifyMultipart (int notifyId) static_cast(notifyId) ); - list contents; + list contents; for (const auto &eventLog : events) { - Content *content = new Content(); - content->setContentType(ContentType("application","conference-info")); string body; shared_ptr notifiedEvent = static_pointer_cast(eventLog); int eventNotifyId = static_cast(notifiedEvent->getNotifyId()); @@ -180,14 +178,17 @@ string LocalConferenceEventHandlerPrivate::createNotifyMultipart (int notifyId) L_ASSERT(false); continue; } - content->setBody(body); - contents.push_back(content); + contents.emplace_back(Content()); + contents.back().setContentType(ContentType::ConferenceInfo); + contents.back().setBody(body); } if (contents.empty()) return ""; - string multipart = ContentManager::contentListToMultipart(contents).getBodyAsString(); - contents.clear(); + list contentPtrs; + for (auto &content : contents) + contentPtrs.push_back(&content); + string multipart = ContentManager::contentListToMultipart(contentPtrs).getBodyAsString(); return multipart; }