diff --git a/src/chat/chat-message/chat-message.cpp b/src/chat/chat-message/chat-message.cpp index 2de641c73..dfae54c1c 100644 --- a/src/chat/chat-message/chat-message.cpp +++ b/src/chat/chat-message/chat-message.cpp @@ -357,7 +357,7 @@ LinphoneReason ChatMessagePrivate::receive () { ChatMessageModifier::Result result = ecmm.decode(q->getSharedFromThis(), errorCode); if (result == ChatMessageModifier::Result::Error) { /* Unable to decrypt message */ - chatRoom->getPrivate()->notifyUndecryptableMessageReceived(q->getSharedFromThis()); + chatRoom->getPrivate()->notifyUndecryptableChatMessageReceived(q->getSharedFromThis()); reason = linphone_error_code_to_reason(errorCode); q->sendDeliveryNotification(reason); return reason; diff --git a/src/chat/chat-room/abstract-chat-room-p.h b/src/chat/chat-room/abstract-chat-room-p.h index 1ed5a37ee..0476db804 100644 --- a/src/chat/chat-room/abstract-chat-room-p.h +++ b/src/chat/chat-room/abstract-chat-room-p.h @@ -43,7 +43,7 @@ public: virtual void addTransientEvent (const std::shared_ptr &eventLog) = 0; virtual void removeTransientEvent (const std::shared_ptr &eventLog) = 0; - virtual void notifyUndecryptableMessageReceived (const std::shared_ptr &chatMessage) = 0; + virtual void notifyUndecryptableChatMessageReceived (const std::shared_ptr &chatMessage) = 0; virtual void onChatMessageReceived (const std::shared_ptr &chatMessage) = 0; virtual LinphoneReason onSipMessageReceived (SalOp *op, const SalMessage *message) = 0; diff --git a/src/chat/chat-room/basic-chat-room.cpp b/src/chat/chat-room/basic-chat-room.cpp index ae171bdb6..9b748b3c1 100644 --- a/src/chat/chat-room/basic-chat-room.cpp +++ b/src/chat/chat-room/basic-chat-room.cpp @@ -95,7 +95,7 @@ const list> &BasicChatRoom::getParticipants () const { return d->participants; } -void BasicChatRoom::setParticipantAdminStatus (shared_ptr &, bool) { +void BasicChatRoom::setParticipantAdminStatus (const shared_ptr &, bool) { lError() << "setParticipantAdminStatus() is not allowed on a BasicChatRoom"; } diff --git a/src/chat/chat-room/basic-chat-room.h b/src/chat/chat-room/basic-chat-room.h index e761ca791..50d0eb522 100644 --- a/src/chat/chat-room/basic-chat-room.h +++ b/src/chat/chat-room/basic-chat-room.h @@ -51,7 +51,7 @@ public: int getParticipantCount () const override; const std::list> &getParticipants () const override; - void setParticipantAdminStatus (std::shared_ptr &participant, bool isAdmin) override; + void setParticipantAdminStatus (const std::shared_ptr &participant, bool isAdmin) override; const std::string &getSubject () const override; void setSubject (const std::string &subject) override; diff --git a/src/chat/chat-room/chat-room-p.h b/src/chat/chat-room/chat-room-p.h index f91c1e947..35016b22e 100644 --- a/src/chat/chat-room/chat-room-p.h +++ b/src/chat/chat-room/chat-room-p.h @@ -47,7 +47,7 @@ public: void addTransientEvent (const std::shared_ptr &eventLog) override; void removeTransientEvent (const std::shared_ptr &eventLog) override; - void notifyUndecryptableMessageReceived (const std::shared_ptr &chatMessage) override; + void notifyUndecryptableChatMessageReceived (const std::shared_ptr &chatMessage) override; void onChatMessageReceived (const std::shared_ptr &chatMessage) override; LinphoneReason onSipMessageReceived (SalOp *op, const SalMessage *message) override; diff --git a/src/chat/chat-room/chat-room.cpp b/src/chat/chat-room/chat-room.cpp index 309431ad2..715bdc95f 100644 --- a/src/chat/chat-room/chat-room.cpp +++ b/src/chat/chat-room/chat-room.cpp @@ -271,7 +271,7 @@ void ChatRoomPrivate::notifyStateChanged () { cb(cr, (LinphoneChatRoomState)state); } -void ChatRoomPrivate::notifyUndecryptableMessageReceived (const shared_ptr &msg) { +void ChatRoomPrivate::notifyUndecryptableChatMessageReceived (const shared_ptr &msg) { L_Q(); LinphoneChatRoom *cr = L_GET_C_BACK_PTR(q); LinphoneChatRoomCbs *cbs = linphone_chat_room_get_callbacks(cr); diff --git a/src/chat/chat-room/chat-room.h b/src/chat/chat-room/chat-room.h index e8fd16d4d..6b90553ea 100644 --- a/src/chat/chat-room/chat-room.h +++ b/src/chat/chat-room/chat-room.h @@ -29,9 +29,6 @@ LINPHONE_BEGIN_NAMESPACE class ChatRoomPrivate; class LINPHONE_PUBLIC ChatRoom : public AbstractChatRoom { - friend class Core; - friend class FileTransferChatMessageModifier; - public: L_OVERRIDE_SHARED_FROM_THIS(ChatRoom); diff --git a/src/chat/chat-room/client-group-chat-room.cpp b/src/chat/chat-room/client-group-chat-room.cpp index 05e0c7433..6edbe5ecb 100644 --- a/src/chat/chat-room/client-group-chat-room.cpp +++ b/src/chat/chat-room/client-group-chat-room.cpp @@ -247,7 +247,7 @@ const list> &ClientGroupChatRoom::getParticipants () con return RemoteConference::getParticipants(); } -void ClientGroupChatRoom::setParticipantAdminStatus (shared_ptr &participant, bool isAdmin) { +void ClientGroupChatRoom::setParticipantAdminStatus (const shared_ptr &participant, bool isAdmin) { if (isAdmin == participant->isAdmin()) return; diff --git a/src/chat/chat-room/client-group-chat-room.h b/src/chat/chat-room/client-group-chat-room.h index 8a91d137e..8d8689cb3 100644 --- a/src/chat/chat-room/client-group-chat-room.h +++ b/src/chat/chat-room/client-group-chat-room.h @@ -69,7 +69,7 @@ public: int getParticipantCount () const override; const std::list> &getParticipants () const override; - void setParticipantAdminStatus (std::shared_ptr &participant, bool isAdmin) override; + void setParticipantAdminStatus (const std::shared_ptr &participant, bool isAdmin) override; const std::string &getSubject () const override; void setSubject (const std::string &subject) override; diff --git a/src/chat/chat-room/server-group-chat-room-p.h b/src/chat/chat-room/server-group-chat-room-p.h index be7dd87f7..a77da5bc4 100644 --- a/src/chat/chat-room/server-group-chat-room-p.h +++ b/src/chat/chat-room/server-group-chat-room-p.h @@ -20,36 +20,34 @@ #ifndef _SERVER_GROUP_CHAT_ROOM_P_H_ #define _SERVER_GROUP_CHAT_ROOM_P_H_ -// From coreapi. -#include "private.h" - -#include "address/address.h" #include "chat-room-p.h" -#include "server-group-chat-room.h" #include "conference/session/call-session-listener.h" +#include "server-group-chat-room.h" // ============================================================================= LINPHONE_BEGIN_NAMESPACE -class Participant; - class ServerGroupChatRoomPrivate : public ChatRoomPrivate, public CallSessionListener { public: - ServerGroupChatRoomPrivate () = default; + std::shared_ptr addParticipant (const IdentityAddress &participantAddress); + void removeParticipant (const std::shared_ptr &participant); + std::shared_ptr findRemovedParticipant (const std::shared_ptr &session) const; - std::shared_ptr addParticipant (const IdentityAddress &addr); void confirmCreation (); void confirmJoining (SalCallOp *op); - std::shared_ptr findRemovedParticipant (const std::shared_ptr &session) const; + std::string generateConferenceId () const; - void removeParticipant (const std::shared_ptr &participant); + void subscribeReceived (LinphoneEvent *event); + void update (SalCallOp *op); - void dispatchMessage (const IdentityAddress &fromAddr, const Content &content); + void dispatchMessage (const IdentityAddress &fromAddress, const Content &content); + + void setConferenceAddress (const IdentityAddress &conferenceAddress); + LinphoneReason onSipMessageReceived (SalOp *op, const SalMessage *message) override; - void setConferenceAddress (const IdentityAddress &confAddr); private: void designateAdmin (); @@ -57,7 +55,11 @@ private: bool isAdminLeft () const; // CallSessionListener - void onCallSessionStateChanged (const std::shared_ptr &session, LinphoneCallState state, const std::string &message) override; + void onCallSessionStateChanged ( + const std::shared_ptr &session, + LinphoneCallState state, + const std::string &message + ) override; std::list> removedParticipants; diff --git a/src/chat/chat-room/server-group-chat-room-stub.cpp b/src/chat/chat-room/server-group-chat-room-stub.cpp index 8a5fa5ceb..11c28e8f3 100644 --- a/src/chat/chat-room/server-group-chat-room-stub.cpp +++ b/src/chat/chat-room/server-group-chat-room-stub.cpp @@ -18,7 +18,6 @@ */ #include "core/core.h" - #include "server-group-chat-room-p.h" // ============================================================================= @@ -33,9 +32,7 @@ shared_ptr ServerGroupChatRoomPrivate::addParticipant (const Identi return nullptr; } -void ServerGroupChatRoomPrivate::confirmCreation () {} - -void ServerGroupChatRoomPrivate::confirmJoining (SalCallOp *) {} +void ServerGroupChatRoomPrivate::removeParticipant (const shared_ptr &) {} shared_ptr ServerGroupChatRoomPrivate::findRemovedParticipant ( const shared_ptr & @@ -43,12 +40,18 @@ shared_ptr ServerGroupChatRoomPrivate::findRemovedParticipant ( return nullptr; } +// ----------------------------------------------------------------------------- + +void ServerGroupChatRoomPrivate::confirmCreation () {} + +void ServerGroupChatRoomPrivate::confirmJoining (SalCallOp *) {} + +// ----------------------------------------------------------------------------- + string ServerGroupChatRoomPrivate::generateConferenceId () const { return ""; } -void ServerGroupChatRoomPrivate::removeParticipant (const shared_ptr &) {} - void ServerGroupChatRoomPrivate::subscribeReceived (LinphoneEvent *) {} void ServerGroupChatRoomPrivate::update (SalCallOp *) {} @@ -57,12 +60,14 @@ void ServerGroupChatRoomPrivate::update (SalCallOp *) {} void ServerGroupChatRoomPrivate::dispatchMessage (const IdentityAddress &, const Content &) {} +void ServerGroupChatRoomPrivate::setConferenceAddress (const IdentityAddress &) {} + +// ----------------------------------------------------------------------------- + LinphoneReason ServerGroupChatRoomPrivate::onSipMessageReceived (SalOp *, const SalMessage *) { return LinphoneReasonNone; } -void ServerGroupChatRoomPrivate::setConferenceAddress (const IdentityAddress &confAddr) {} - // ----------------------------------------------------------------------------- void ServerGroupChatRoomPrivate::designateAdmin () {} @@ -104,6 +109,10 @@ bool ServerGroupChatRoom::hasBeenLeft () const { return true; } +const IdentityAddress &ServerGroupChatRoom::getConferenceAddress () const { + return LocalConference::getConferenceAddress(); +} + bool ServerGroupChatRoom::canHandleParticipants () const { return false; } @@ -112,10 +121,6 @@ void ServerGroupChatRoom::addParticipant (const IdentityAddress &, const CallSes void ServerGroupChatRoom::addParticipants (const list &, const CallSessionParams *, bool) {} -const IdentityAddress &ServerGroupChatRoom::getConferenceAddress () const { - return LocalConference::getConferenceAddress(); -} - void ServerGroupChatRoom::removeParticipant (const shared_ptr &) {} void ServerGroupChatRoom::removeParticipants (const list> &) {} @@ -136,7 +141,7 @@ const list> &ServerGroupChatRoom::getParticipants () con return LocalConference::getParticipants(); } -void ServerGroupChatRoom::setParticipantAdminStatus (shared_ptr &, bool) {} +void ServerGroupChatRoom::setParticipantAdminStatus (const shared_ptr &, bool) {} const string &ServerGroupChatRoom::getSubject () const { return LocalConference::getSubject(); diff --git a/src/chat/chat-room/server-group-chat-room.h b/src/chat/chat-room/server-group-chat-room.h index ff5239da9..b6f8d5f76 100644 --- a/src/chat/chat-room/server-group-chat-room.h +++ b/src/chat/chat-room/server-group-chat-room.h @@ -20,18 +20,14 @@ #ifndef _SERVER_GROUP_CHAT_ROOM_H_ #define _SERVER_GROUP_CHAT_ROOM_H_ -// From coreapi -#include "private.h" - #include "chat/chat-room/chat-room.h" #include "conference/local-conference.h" -#include "linphone/types.h" - // ============================================================================= LINPHONE_BEGIN_NAMESPACE +class SalCallOp; class ServerGroupChatRoomPrivate; class ServerGroupChatRoom : public ChatRoom, public LocalConference { @@ -55,19 +51,23 @@ public: bool canHandleParticipants () const override; - void addParticipant (const IdentityAddress &addr, const CallSessionParams *params, bool hasMedia) override; - void addParticipants (const std::list &addresses, const CallSessionParams *params, bool hasMedia) override; + void addParticipant (const IdentityAddress &address, const CallSessionParams *params, bool hasMedia) override; + void addParticipants ( + const std::list &addresses, + const CallSessionParams *params, + bool hasMedia + ) override; void removeParticipant (const std::shared_ptr &participant) override; void removeParticipants (const std::list> &participants) override; - std::shared_ptr findParticipant (const IdentityAddress &addr) const override; + std::shared_ptr findParticipant (const IdentityAddress &participantAddress) const override; std::shared_ptr getMe () const override; int getParticipantCount () const override; const std::list> &getParticipants () const override; - void setParticipantAdminStatus (std::shared_ptr &participant, bool isAdmin) override; + void setParticipantAdminStatus (const std::shared_ptr &participant, bool isAdmin) override; const std::string &getSubject () const override; void setSubject (const std::string &subject) override; diff --git a/src/conference/conference-interface.h b/src/conference/conference-interface.h index f7b8fd829..bee481231 100644 --- a/src/conference/conference-interface.h +++ b/src/conference/conference-interface.h @@ -50,7 +50,7 @@ public: virtual void leave () = 0; virtual void removeParticipant (const std::shared_ptr &participant) = 0; virtual void removeParticipants (const std::list> &participants) = 0; - virtual void setParticipantAdminStatus (std::shared_ptr &participant, bool isAdmin) = 0; + virtual void setParticipantAdminStatus (const std::shared_ptr &participant, bool isAdmin) = 0; virtual void setSubject (const std::string &subject) = 0; }; diff --git a/src/conference/conference.cpp b/src/conference/conference.cpp index f0877187b..42f3151ef 100644 --- a/src/conference/conference.cpp +++ b/src/conference/conference.cpp @@ -110,7 +110,7 @@ void Conference::removeParticipants (const list> &partic removeParticipant(p); } -void Conference::setParticipantAdminStatus (shared_ptr &participant, bool isAdmin) { +void Conference::setParticipantAdminStatus (const shared_ptr &participant, bool isAdmin) { lError() << "Conference class does not handle setParticipantAdminStatus() generically"; } diff --git a/src/conference/conference.h b/src/conference/conference.h index 0bf6b2aea..af693fe83 100644 --- a/src/conference/conference.h +++ b/src/conference/conference.h @@ -60,7 +60,7 @@ public: void leave () override; void removeParticipant (const std::shared_ptr &participant) override; void removeParticipants (const std::list> &participants) override; - void setParticipantAdminStatus (std::shared_ptr &participant, bool isAdmin) override; + void setParticipantAdminStatus (const std::shared_ptr &participant, bool isAdmin) override; void setSubject (const std::string &subject) override; protected: