mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-07 05:53:06 +00:00
fix(callbacks): fix partially previous merge
This commit is contained in:
parent
90d8d651cb
commit
4315f674f7
4 changed files with 18 additions and 9 deletions
|
|
@ -128,7 +128,7 @@ static void call_received(SalCallOp *h) {
|
|||
linphone_address_unref(fromAddr);
|
||||
LinphonePrivate::Address addr(h->get_to());
|
||||
if (addr.isValid()) {
|
||||
LinphoneChatRoom *cr = _linphone_core_find_group_chat_room(lc, addr.asStringUriOnly().c_str());
|
||||
LinphoneChatRoom *cr = L_GET_C_BACK_PTR(lc->cppCore->findChatRoom(addr));
|
||||
if (cr) {
|
||||
L_GET_PRIVATE_FROM_C_OBJECT(cr, ServerGroupChatRoom)->confirmJoining(h);
|
||||
return;
|
||||
|
|
@ -751,7 +751,9 @@ static void refer_received(SalOp *op, const SalAddress *refer_to){
|
|||
if (addr.hasUriParam("method") && (addr.getUriParamValue("method") == "BYE")) {
|
||||
if (linphone_core_conference_server_enabled(lc)) {
|
||||
// Removal of a participant at the server side
|
||||
LinphoneChatRoom *cr = _linphone_core_find_group_chat_room(lc, op->get_to());
|
||||
LinphoneChatRoom *cr = L_GET_C_BACK_PTR(
|
||||
lc->cppCore->findChatRoom(Address(op->get_to()))
|
||||
);
|
||||
if (cr) {
|
||||
Address fromAddr(op->get_from());
|
||||
std::shared_ptr<Participant> participant = L_GET_CPP_PTR_FROM_C_OBJECT(cr)->findParticipant(fromAddr);
|
||||
|
|
@ -767,7 +769,9 @@ static void refer_received(SalOp *op, const SalAddress *refer_to){
|
|||
}
|
||||
} else {
|
||||
// The server asks a participant to leave a chat room
|
||||
LinphoneChatRoom *cr = _linphone_core_find_group_chat_room(lc, addr.asStringUriOnly().c_str());
|
||||
LinphoneChatRoom *cr = L_GET_C_BACK_PTR(
|
||||
lc->cppCore->findChatRoom(addr)
|
||||
);
|
||||
if (cr) {
|
||||
L_GET_CPP_PTR_FROM_C_OBJECT(cr)->leave();
|
||||
static_cast<SalReferOp *>(op)->reply(SalReasonNone);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
#include "chat/chat-room/server-group-chat-room-p.h"
|
||||
#include "conference/participant.h"
|
||||
#include "core/core-p.h"
|
||||
#include "content/content.h"
|
||||
#include "event-log/event-log.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
|
|
|
|||
|
|
@ -45,14 +45,14 @@
|
|||
F(ChatRoom, BasicChatRoom) \
|
||||
F(ChatRoom, ClientGroupChatRoom) \
|
||||
F(ChatRoom, RealTimeTextChatRoom) \
|
||||
F(ChatRoom, ServerGroupChatRoom) \
|
||||
F(EventLog, ConferenceCallEvent) \
|
||||
F(EventLog, ConferenceChatMessageEvent) \
|
||||
F(EventLog, ConferenceEvent) \
|
||||
F(EventLog, ConferenceNotifiedEvent) \
|
||||
F(EventLog, ConferenceParticipantDeviceEvent) \
|
||||
F(EventLog, ConferenceParticipantEvent) \
|
||||
F(EventLog, ConferenceSubjectEvent) \
|
||||
F(ChatRoom, ServerGroupChatRoom)
|
||||
F(EventLog, ConferenceSubjectEvent)
|
||||
|
||||
// =============================================================================
|
||||
// Register belle-sip ID.
|
||||
|
|
|
|||
|
|
@ -84,9 +84,14 @@ void RemoteConferenceEventHandler::notifyReceived (const string &xmlBody) {
|
|||
Address entityAddress(confInfo->getEntity().c_str());
|
||||
Address cleanedConfAddress2(cleanedConfAddress);
|
||||
cleanedConfAddress2.setDomain(entityAddress.getDomain());
|
||||
if (confInfo->getEntity() == cleanedConfAddress.asString()
|
||||
|| confInfo->getEntity() == cleanedConfAddress2.asString()) {
|
||||
if (confInfo->getConferenceDescription().present() && confInfo->getConferenceDescription().get().getSubject().present())
|
||||
if (
|
||||
confInfo->getEntity() == cleanedConfAddress.asString() ||
|
||||
confInfo->getEntity() == cleanedConfAddress2.asString()
|
||||
) {
|
||||
if (
|
||||
confInfo->getConferenceDescription().present() &&
|
||||
confInfo->getConferenceDescription().get().getSubject().present()
|
||||
)
|
||||
d->listener->onSubjectChanged(tm, confInfo->getConferenceDescription().get().getSubject().get());
|
||||
|
||||
if (confInfo->getVersion().present())
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue