From 6b143b0cad5994d6875e3c682bae197a8518cde5 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 20 Sep 2017 17:30:07 +0200 Subject: [PATCH] feat(EventLog): wrap (partially) --- coreapi/private.h | 76 +++++++------ include/linphone/api/c-event-log.h | 22 +++- include/linphone/api/c-types.h | 2 +- include/linphone/enums/event-log-enums.h | 2 +- src/CMakeLists.txt | 4 +- src/c-wrapper/api/c-event-log.cpp | 106 ++++++++++++------ src/db/events-db.cpp | 4 +- ...ssage-event.cpp => chat-message-event.cpp} | 34 +++--- .../{message-event.h => chat-message-event.h} | 24 ++-- src/event-log/conference-event-p.h | 3 +- src/event-log/conference-event.cpp | 14 +-- src/event-log/conference-event.h | 8 +- .../conference-participant-event.cpp | 13 +-- src/event-log/conference-participant-event.h | 6 +- 14 files changed, 184 insertions(+), 134 deletions(-) rename src/event-log/{message-event.cpp => chat-message-event.cpp} (56%) rename src/event-log/{message-event.h => chat-message-event.h} (64%) diff --git a/coreapi/private.h b/coreapi/private.h index 3bcd62a49..06652f862 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -1658,66 +1658,68 @@ LinphoneCallStats *linphone_call_stats_new(void); /** Belle Sip-based objects need unique ids */ -BELLE_SIP_DECLARE_TYPES_BEGIN(linphone,10000) +BELLE_SIP_DECLARE_TYPES_BEGIN(linphone, 10000) BELLE_SIP_TYPE_ID(LinphoneAccountCreator), BELLE_SIP_TYPE_ID(LinphoneAccountCreatorCbs), BELLE_SIP_TYPE_ID(LinphoneAccountCreatorService), BELLE_SIP_TYPE_ID(LinphoneAddress), +BELLE_SIP_TYPE_ID(LinphoneAuthInfo), BELLE_SIP_TYPE_ID(LinphoneBuffer), -BELLE_SIP_TYPE_ID(LinphoneContactProvider), -BELLE_SIP_TYPE_ID(LinphoneContactSearch), BELLE_SIP_TYPE_ID(LinphoneCall), BELLE_SIP_TYPE_ID(LinphoneCallCbs), +BELLE_SIP_TYPE_ID(LinphoneCallEvent), BELLE_SIP_TYPE_ID(LinphoneCallLog), BELLE_SIP_TYPE_ID(LinphoneCallParams), +BELLE_SIP_TYPE_ID(LinphoneCallStats), BELLE_SIP_TYPE_ID(LinphoneChatMessage), BELLE_SIP_TYPE_ID(LinphoneChatMessageCbs), +BELLE_SIP_TYPE_ID(LinphoneChatMessageEvent), BELLE_SIP_TYPE_ID(LinphoneChatRoom), BELLE_SIP_TYPE_ID(LinphoneChatRoomCbs), +BELLE_SIP_TYPE_ID(LinphoneConference), +BELLE_SIP_TYPE_ID(LinphoneConferenceEvent), +BELLE_SIP_TYPE_ID(LinphoneConferenceParams), +BELLE_SIP_TYPE_ID(LinphoneConferenceParticipantEvent), +BELLE_SIP_TYPE_ID(LinphoneConfig), +BELLE_SIP_TYPE_ID(LinphoneContactProvider), +BELLE_SIP_TYPE_ID(LinphoneContactSearch), BELLE_SIP_TYPE_ID(LinphoneContent), +BELLE_SIP_TYPE_ID(LinphoneCore), +BELLE_SIP_TYPE_ID(LinphoneCoreCbs), +BELLE_SIP_TYPE_ID(LinphoneErrorInfo), +BELLE_SIP_TYPE_ID(LinphoneEvent), +BELLE_SIP_TYPE_ID(LinphoneEventLog), +BELLE_SIP_TYPE_ID(LinphoneFactory), +BELLE_SIP_TYPE_ID(LinphoneFriend), +BELLE_SIP_TYPE_ID(LinphoneFriendList), +BELLE_SIP_TYPE_ID(LinphoneFriendListCbs), BELLE_SIP_TYPE_ID(LinphoneImEncryptionEngine), BELLE_SIP_TYPE_ID(LinphoneImEncryptionEngineCbs), BELLE_SIP_TYPE_ID(LinphoneImNotifPolicy), +BELLE_SIP_TYPE_ID(LinphoneInfoMessage), BELLE_SIP_TYPE_ID(LinphoneLDAPContactProvider), BELLE_SIP_TYPE_ID(LinphoneLDAPContactSearch), -BELLE_SIP_TYPE_ID(LinphoneProxyConfig), -BELLE_SIP_TYPE_ID(LinphoneFriend), -BELLE_SIP_TYPE_ID(LinphoneFriendList), -BELLE_SIP_TYPE_ID(LinphoneXmlRpcRequest), -BELLE_SIP_TYPE_ID(LinphoneXmlRpcRequestCbs), -BELLE_SIP_TYPE_ID(LinphoneXmlRpcSession), -BELLE_SIP_TYPE_ID(LinphoneTunnel), -BELLE_SIP_TYPE_ID(LinphoneTunnelConfig), -BELLE_SIP_TYPE_ID(LinphoneFriendListCbs), -BELLE_SIP_TYPE_ID(LinphoneEvent), BELLE_SIP_TYPE_ID(LinphoneNatPolicy), -BELLE_SIP_TYPE_ID(LinphoneCore), -BELLE_SIP_TYPE_ID(LinphoneCoreCbs), -BELLE_SIP_TYPE_ID(LinphoneFactory), -BELLE_SIP_TYPE_ID(LinphoneAuthInfo), -BELLE_SIP_TYPE_ID(LinphoneVcard), -BELLE_SIP_TYPE_ID(LinphoneConfig), -BELLE_SIP_TYPE_ID(LinphonePresenceModel), -BELLE_SIP_TYPE_ID(LinphonePresenceService), -BELLE_SIP_TYPE_ID(LinphonePresencePerson), -BELLE_SIP_TYPE_ID(LinphonePresenceActivity), -BELLE_SIP_TYPE_ID(LinphonePresenceNote), -BELLE_SIP_TYPE_ID(LinphoneErrorInfo), -BELLE_SIP_TYPE_ID(LinphoneConferenceParams), -BELLE_SIP_TYPE_ID(LinphoneConference), -BELLE_SIP_TYPE_ID(LinphoneInfoMessage), +BELLE_SIP_TYPE_ID(LinphoneParticipant), BELLE_SIP_TYPE_ID(LinphonePayloadType), -BELLE_SIP_TYPE_ID(LinphoneRange), -BELLE_SIP_TYPE_ID(LinphoneVideoDefinition), -BELLE_SIP_TYPE_ID(LinphoneTransports), -BELLE_SIP_TYPE_ID(LinphoneVideoActivationPolicy), -BELLE_SIP_TYPE_ID(LinphoneCallStats), BELLE_SIP_TYPE_ID(LinphonePlayer), BELLE_SIP_TYPE_ID(LinphonePlayerCbs), -BELLE_SIP_TYPE_ID(LinphoneEventLog), -BELLE_SIP_TYPE_ID(LinphoneMessage), -BELLE_SIP_TYPE_ID(LinphoneMessageEvent), -BELLE_SIP_TYPE_ID(LinphoneParticipant) +BELLE_SIP_TYPE_ID(LinphonePresenceActivity), +BELLE_SIP_TYPE_ID(LinphonePresenceModel), +BELLE_SIP_TYPE_ID(LinphonePresenceNote), +BELLE_SIP_TYPE_ID(LinphonePresencePerson), +BELLE_SIP_TYPE_ID(LinphonePresenceService), +BELLE_SIP_TYPE_ID(LinphoneProxyConfig), +BELLE_SIP_TYPE_ID(LinphoneRange), +BELLE_SIP_TYPE_ID(LinphoneTransports), +BELLE_SIP_TYPE_ID(LinphoneTunnel), +BELLE_SIP_TYPE_ID(LinphoneTunnelConfig), +BELLE_SIP_TYPE_ID(LinphoneVcard), +BELLE_SIP_TYPE_ID(LinphoneVideoActivationPolicy), +BELLE_SIP_TYPE_ID(LinphoneVideoDefinition), +BELLE_SIP_TYPE_ID(LinphoneXmlRpcRequest), +BELLE_SIP_TYPE_ID(LinphoneXmlRpcRequestCbs), +BELLE_SIP_TYPE_ID(LinphoneXmlRpcSession) BELLE_SIP_DECLARE_TYPES_END diff --git a/include/linphone/api/c-event-log.h b/include/linphone/api/c-event-log.h index dcc56f76b..2f4cd097f 100644 --- a/include/linphone/api/c-event-log.h +++ b/include/linphone/api/c-event-log.h @@ -28,16 +28,19 @@ #endif // ifdef __cplusplus LINPHONE_PUBLIC LinphoneEventLog *linphone_event_log_new (); +LINPHONE_PUBLIC LinphoneEventLog *linphone_event_log_clone (const LinphoneEventLog *event_log); +LINPHONE_PUBLIC LinphoneEventLog *linphone_event_log_ref (LinphoneEventLog *event_log); LINPHONE_PUBLIC LinphoneEventLogType linphone_event_log_get_type (const LinphoneEventLog *event_log); LINPHONE_PUBLIC LinphoneCallEvent *linphone_call_event_new (LinphoneEventLogType type, LinphoneCall *call); +LINPHONE_PUBLIC LinphoneCallEvent *linphone_call_event_clone (const LinphoneCallEvent *call_event); LINPHONE_PUBLIC LinphoneCall *linphone_call_event_get_call (const LinphoneCallEvent *call_event); LINPHONE_PUBLIC LinphoneConferenceEvent *linphone_conference_event_new ( LinphoneEventLogType type, const LinphoneAddress *address ); - +LINPHONE_PUBLIC LinphoneConferenceEvent *linphone_conference_event_clone (const LinphoneConferenceEvent *conference_event); LINPHONE_PUBLIC const LinphoneAddress *linphone_conference_event_get_address (const LinphoneConferenceEvent *conference_event); LINPHONE_PUBLIC LinphoneConferenceParticipantEvent *linphone_conference_participant_event_new ( @@ -45,11 +48,20 @@ LINPHONE_PUBLIC LinphoneConferenceParticipantEvent *linphone_conference_particip const LinphoneAddress *conferenceAddress, const LinphoneAddress *participantAddress ); +LINPHONE_PUBLIC LinphoneConferenceParticipantEvent *linphone_conference_participant_event_clone ( + const LinphoneConferenceParticipantEvent *conference_participant_event +); +LINPHONE_PUBLIC const LinphoneAddress *linphone_conference_participant_event_get_participant_address ( + const LinphoneConferenceParticipantEvent *conference_participant_event +); -LINPHONE_PUBLIC const LinphoneAddress *linphone_conference_participant_event_get_participant_address (const LinphoneConferenceParticipantEvent *conference_participant_event); - -LINPHONE_PUBLIC LinphoneMessageEvent *linphone_message_event_new (LinphoneMessage *message); -LINPHONE_PUBLIC LinphoneMessage *linphone_message_event_get_message (const LinphoneMessageEvent *message_event); +LINPHONE_PUBLIC LinphoneChatMessageEvent *linphone_chat_message_event_new (LinphoneChatMessage *chat_message); +LINPHONE_PUBLIC LinphoneChatMessageEvent *linphone_chat_message_event_clone ( + const LinphoneChatMessageEvent *chat_message_event +); +LINPHONE_PUBLIC LinphoneChatMessage *linphone_chat_message_event_get_chat_message ( + const LinphoneChatMessageEvent *chat_message_event +); #ifdef __cplusplus } diff --git a/include/linphone/api/c-types.h b/include/linphone/api/c-types.h index 7e53de356..be2d44f2b 100644 --- a/include/linphone/api/c-types.h +++ b/include/linphone/api/c-types.h @@ -114,7 +114,7 @@ typedef struct _LinphoneCallEvent LinphoneCallEvent; typedef struct _LinphoneConferenceEvent LinphoneConferenceEvent; typedef struct _LinphoneConferenceParticipantEvent LinphoneConferenceParticipantEvent; typedef struct _LinphoneEventLog LinphoneEventLog; -typedef struct _LinphoneMessageEvent LinphoneMessageEvent; +typedef struct _LinphoneChatMessageEvent LinphoneChatMessageEvent; // ============================================================================= // C Enums. diff --git a/include/linphone/enums/event-log-enums.h b/include/linphone/enums/event-log-enums.h index 2eb4d4416..b71606f6b 100644 --- a/include/linphone/enums/event-log-enums.h +++ b/include/linphone/enums/event-log-enums.h @@ -23,7 +23,7 @@ #define L_ENUM_VALUES_EVENT_LOG_TYPE(F) \ F(None) \ - F(Message) \ + F(ChatMessage) \ F(CallStart) \ F(CallEnd) \ F(ConferenceCreated) \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 20eaccdc7..a7febd197 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -78,12 +78,12 @@ set(LINPHONE_CXX_OBJECTS_PRIVATE_HEADER_FILES db/provider/db-session.h enums.h event-log/call-event.h + event-log/chat-message-event.h event-log/conference-event-p.h event-log/conference-event.h event-log/conference-participant-event.h event-log/event-log-p.h event-log/event-log.h - event-log/message-event.h logger/logger.h nat/ice-agent.h nat/stun-client.h @@ -143,10 +143,10 @@ set(LINPHONE_CXX_OBJECTS_SOURCE_FILES db/provider/db-session-provider.cpp db/provider/db-session.cpp event-log/call-event.cpp + event-log/chat-message-event.cpp event-log/conference-event.cpp event-log/conference-participant-event.cpp event-log/event-log.cpp - event-log/message-event.cpp logger/logger.cpp nat/ice-agent.cpp nat/stun-client.cpp diff --git a/src/c-wrapper/api/c-event-log.cpp b/src/c-wrapper/api/c-event-log.cpp index 8c021be21..a1bd1a12f 100644 --- a/src/c-wrapper/api/c-event-log.cpp +++ b/src/c-wrapper/api/c-event-log.cpp @@ -16,68 +16,80 @@ * along with this program. If not, see . */ +#include "linphone/api/c-chat-message.h" #include "linphone/api/c-event-log.h" #include "c-wrapper/c-tools.h" +#include "call/call.h" +#include "chat/chat-message.h" #include "event-log/call-event.h" +#include "event-log/chat-message-event.h" #include "event-log/conference-participant-event.h" -#include "event-log/message-event.h" // ============================================================================= +L_DECLARE_C_CLONABLE_STRUCT_IMPL(EventLog, EventLog, event_log); +L_DECLARE_C_CLONABLE_STRUCT_IMPL(CallEvent, CallEvent, call_event); +L_DECLARE_C_CLONABLE_STRUCT_IMPL(ConferenceEvent, ConferenceEvent, conference_event); +L_DECLARE_C_CLONABLE_STRUCT_IMPL(ConferenceParticipantEvent, ConferenceParticipantEvent, conference_participant_event); +L_DECLARE_C_CLONABLE_STRUCT_IMPL(ChatMessageEvent, ChatMessageEvent, chat_message_event); + using namespace std; // ----------------------------------------------------------------------------- // Event log. // ----------------------------------------------------------------------------- -L_DECLARE_C_STRUCT_IMPL(EventLog, EventLog, event_log); -L_DECLARE_C_STRUCT_NEW_DEFAULT(EventLog, event_log); - -LinphoneEventLogType linphone_event_log_get_type (const LinphoneEventLog *eventLog) { - return static_cast(eventLog->cppPtr->getType()); +LinphoneEventLog *linphone_event_log_new () { + LinphoneEventLog *event_log = _linphone_event_log_init(); + L_SET_CPP_PTR_FROM_C_STRUCT(event_log, new LINPHONE_NAMESPACE::EventLog()); + return event_log; } -// ----------------------------------------------------------------------------- -// Message event. -// ----------------------------------------------------------------------------- - -L_DECLARE_C_STRUCT_IMPL(MessageEvent, MessageEvent, message_event); - -LinphoneMessageEvent *linphone_message_event_new (LinphoneMessage *message) { - LinphoneMessageEvent *object = _linphone_message_event_init(); - // TODO: call make_shared with cppPtr. - object->cppPtr = make_shared(nullptr); - return object; +LinphoneEventLog *linphone_event_log_ref (LinphoneEventLog *event_log) { + belle_sip_object_ref(event_log); + return event_log; } -LinphoneMessage *linphone_message_event_get_message (const LinphoneMessageEvent *messageEvent) { - // TODO. - return nullptr; +LinphoneEventLogType linphone_event_log_get_type (const LinphoneEventLog *event_log) { + return static_cast( + L_GET_CPP_PTR_FROM_C_STRUCT(event_log, EventLog, EventLog)->getType() + ); } // ----------------------------------------------------------------------------- // Call event. // ----------------------------------------------------------------------------- -// L_DECLARE_C_STRUCT_IMPL(CallEvent, call_event); - LinphoneCallEvent *linphone_call_event_new (LinphoneEventLogType type, LinphoneCall *call) { - // TODO. - return nullptr; + LinphoneCallEvent *call_event = _linphone_call_event_init(); + L_SET_CPP_PTR_FROM_C_STRUCT( + call_event, + new LINPHONE_NAMESPACE::CallEvent( + static_cast(type), + L_GET_CPP_PTR_FROM_C_STRUCT(call, Call, Call) + ) + ); + return call_event; } +// TODO: REMOVE ME. +extern LinphoneCall *_linphone_call_init (); + LinphoneCall *linphone_call_event_get_call (const LinphoneCallEvent *call_event) { - // TODO. - return nullptr; + return L_GET_C_BACK_PTR( + L_GET_CPP_PTR_FROM_C_STRUCT( + call_event, CallEvent, CallEvent + )->getCall(), + Call, + call + ); } // ----------------------------------------------------------------------------- // Conference event. // ----------------------------------------------------------------------------- -// L_DECLARE_C_STRUCT_IMPL(ConferenceEvent, conference_event); - LinphoneConferenceEvent *linphone_conference_event_new ( LinphoneEventLogType type, const LinphoneAddress *address @@ -95,18 +107,46 @@ const LinphoneAddress *linphone_conference_event_get_address (const LinphoneConf // Conference participant event. // ----------------------------------------------------------------------------- -// L_DECLARE_C_STRUCT_IMPL(ConferenceParticipantEvent, conference_participant_event); - LinphoneConferenceParticipantEvent *linphone_conference_participant_event_new ( LinphoneEventLogType type, - const LinphoneAddress *conference_address, - const LinphoneAddress *participant_address + const LinphoneAddress *conferenceAddress, + const LinphoneAddress *participantAddress ) { // TODO. return nullptr; } -const LinphoneAddress *linphone_conference_participant_event_get_participant_address (const LinphoneConferenceParticipantEvent *conference_participant_event) { +const LinphoneAddress *linphone_conference_participant_event_get_participant_address ( + const LinphoneConferenceParticipantEvent *conference_participant_event +) { // TODO. return nullptr; } + +// ----------------------------------------------------------------------------- +// Message event. +// ----------------------------------------------------------------------------- + +LinphoneChatMessageEvent *linphone_chat_message_event_new (LinphoneChatMessage *chat_message) { + LinphoneChatMessageEvent *chat_message_event = _linphone_chat_message_event_init(); + L_SET_CPP_PTR_FROM_C_STRUCT( + chat_message_event, + new LINPHONE_NAMESPACE::ChatMessageEvent( + L_GET_CPP_PTR_FROM_C_STRUCT(chat_message, ChatMessage, ChatMessage) + ) + ); + return chat_message_event; +} + +// TODO: REMOVE ME. +extern LinphoneChatMessage *_linphone_chat_message_init (); + +LinphoneChatMessage *linphone_chat_message_event_get_chat_message (const LinphoneChatMessageEvent *chat_message_event) { + return L_GET_C_BACK_PTR( + L_GET_CPP_PTR_FROM_C_STRUCT( + chat_message_event, ChatMessageEvent, ChatMessageEvent + )->getChatMessage(), + ChatMessage, + chat_message + ); +} diff --git a/src/db/events-db.cpp b/src/db/events-db.cpp index 6cd193f5b..2c30994fd 100644 --- a/src/db/events-db.cpp +++ b/src/db/events-db.cpp @@ -25,7 +25,7 @@ #include "abstract/abstract-db-p.h" #include "chat/chat-message.h" #include "event-log/call-event.h" -#include "event-log/message-event.h" +#include "event-log/chat-message-event.h" #include "logger/logger.h" #include "events-db.h" @@ -283,7 +283,7 @@ EventsDb::EventsDb () : AbstractDb(*new EventsDbPrivate) {} switch (eventLog.getType()) { case EventLog::Type::None: return false; - case EventLog::Type::Message: + case EventLog::Type::ChatMessage: case EventLog::Type::CallStart: case EventLog::Type::CallEnd: case EventLog::Type::ConferenceCreated: diff --git a/src/event-log/message-event.cpp b/src/event-log/chat-message-event.cpp similarity index 56% rename from src/event-log/message-event.cpp rename to src/event-log/chat-message-event.cpp index 319ab3b7a..bae401244 100644 --- a/src/event-log/message-event.cpp +++ b/src/event-log/chat-message-event.cpp @@ -1,5 +1,5 @@ /* - * message-event.cpp + * chat-message-event.cpp * Copyright (C) 2017 Belledonne Communications SARL * * This program is free software: you can redistribute it and/or modify @@ -18,7 +18,7 @@ #include "event-log-p.h" -#include "message-event.h" +#include "chat-message-event.h" // ============================================================================= @@ -26,35 +26,35 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE -class MessageEventPrivate : public EventLogPrivate { +class ChatMessageEventPrivate : public EventLogPrivate { public: - shared_ptr message; + shared_ptr chatMessage; }; // ----------------------------------------------------------------------------- -MessageEvent::MessageEvent (const shared_ptr &message) : - EventLog(*new MessageEventPrivate, EventLog::Type::Message) { - L_D(MessageEvent); - L_ASSERT(message); - d->message = message; +ChatMessageEvent::ChatMessageEvent (const shared_ptr &chatMessage) : + EventLog(*new ChatMessageEventPrivate, EventLog::Type::ChatMessage) { + L_D(ChatMessageEvent); + L_ASSERT(chatMessage); + d->chatMessage = chatMessage; } -MessageEvent::MessageEvent (const MessageEvent &src) : MessageEvent(src.getMessage()) {} +ChatMessageEvent::ChatMessageEvent (const ChatMessageEvent &src) : ChatMessageEvent(src.getChatMessage()) {} -MessageEvent &MessageEvent::operator= (const MessageEvent &src) { - L_D(MessageEvent); +ChatMessageEvent &ChatMessageEvent::operator= (const ChatMessageEvent &src) { + L_D(ChatMessageEvent); if (this != &src) { - EventLog::operator=(src); - d->message = src.getPrivate()->message; + EventLog::operator= (src); + d->chatMessage = src.getPrivate()->chatMessage; } return *this; } -shared_ptr MessageEvent::getMessage () const { - L_D(const MessageEvent); - return d->message; +shared_ptr ChatMessageEvent::getChatMessage () const { + L_D(const ChatMessageEvent); + return d->chatMessage; } LINPHONE_END_NAMESPACE diff --git a/src/event-log/message-event.h b/src/event-log/chat-message-event.h similarity index 64% rename from src/event-log/message-event.h rename to src/event-log/chat-message-event.h index b1c12a5fb..9acf3c745 100644 --- a/src/event-log/message-event.h +++ b/src/event-log/chat-message-event.h @@ -1,5 +1,5 @@ /* - * message-event.h + * chat-message-event.h * Copyright (C) 2017 Belledonne Communications SARL * * This program is free software: you can redistribute it and/or modify @@ -16,8 +16,8 @@ * along with this program. If not, see . */ -#ifndef _MESSAGE_EVENT_H_ -#define _MESSAGE_EVENT_H_ +#ifndef _CHAT_MESSAGE_EVENT_H_ +#define _CHAT_MESSAGE_EVENT_H_ #include @@ -27,22 +27,22 @@ LINPHONE_BEGIN_NAMESPACE -class Message; -class MessageEventPrivate; +class ChatMessage; +class ChatMessageEventPrivate; -class LINPHONE_PUBLIC MessageEvent : public EventLog { +class LINPHONE_PUBLIC ChatMessageEvent : public EventLog { public: - MessageEvent (const std::shared_ptr &message); - MessageEvent (const MessageEvent &src); + ChatMessageEvent (const std::shared_ptr &chatMessage); + ChatMessageEvent (const ChatMessageEvent &src); - MessageEvent &operator= (const MessageEvent &src); + ChatMessageEvent &operator= (const ChatMessageEvent &src); - std::shared_ptr getMessage () const; + std::shared_ptr getChatMessage () const; private: - L_DECLARE_PRIVATE(MessageEvent); + L_DECLARE_PRIVATE(ChatMessageEvent); }; LINPHONE_END_NAMESPACE -#endif // ifndef _MESSAGE_EVENT_H_ +#endif // ifndef _CHAT_MESSAGE_EVENT_H_ diff --git a/src/event-log/conference-event-p.h b/src/event-log/conference-event-p.h index 1a44b76b8..bad6d92cd 100644 --- a/src/event-log/conference-event-p.h +++ b/src/event-log/conference-event-p.h @@ -19,6 +19,7 @@ #ifndef _CONFERENCE_EVENT_P_H_ #define _CONFERENCE_EVENT_P_H_ +#include "address/address.h" #include "conference-event.h" #include "event-log-p.h" @@ -29,7 +30,7 @@ LINPHONE_BEGIN_NAMESPACE class ConferenceEventPrivate : public EventLogPrivate { private: - std::shared_ptr address; + Address address; L_DECLARE_PUBLIC(ConferenceEvent); }; diff --git a/src/event-log/conference-event.cpp b/src/event-log/conference-event.cpp index 43c040b25..57657d527 100644 --- a/src/event-log/conference-event.cpp +++ b/src/event-log/conference-event.cpp @@ -27,34 +27,32 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE -ConferenceEvent::ConferenceEvent (Type type, const shared_ptr &address) : +ConferenceEvent::ConferenceEvent (Type type, const Address &address) : EventLog(*new ConferenceEventPrivate, type) { L_D(ConferenceEvent); L_ASSERT(type == Type::ConferenceCreated || type == Type::ConferenceDestroyed); - L_ASSERT(address); - d->address = make_shared
(*address); + d->address = address; } ConferenceEvent::ConferenceEvent (const ConferenceEvent &src) : ConferenceEvent(src.getType(), src.getAddress()) {} -ConferenceEvent::ConferenceEvent (ConferenceEventPrivate &p, Type type, const shared_ptr &address) : +ConferenceEvent::ConferenceEvent (ConferenceEventPrivate &p, Type type, const Address &address) : EventLog(p, type) { L_D(ConferenceEvent); - L_ASSERT(address); - d->address = make_shared
(*address); + d->address = address; } ConferenceEvent &ConferenceEvent::operator= (const ConferenceEvent &src) { L_D(ConferenceEvent); if (this != &src) { EventLog::operator=(src); - d->address = make_shared
(*src.getPrivate()->address); + d->address = src.getPrivate()->address; } return *this; } -shared_ptr ConferenceEvent::getAddress () const { +const Address &ConferenceEvent::getAddress () const { L_D(const ConferenceEvent); return d->address; } diff --git a/src/event-log/conference-event.h b/src/event-log/conference-event.h index 966af2b2d..cd1584cb7 100644 --- a/src/event-log/conference-event.h +++ b/src/event-log/conference-event.h @@ -19,8 +19,6 @@ #ifndef _CONFERENCE_EVENT_H_ #define _CONFERENCE_EVENT_H_ -#include - #include "event-log.h" // ============================================================================= @@ -32,16 +30,16 @@ class ConferenceEventPrivate; class LINPHONE_PUBLIC ConferenceEvent : public EventLog { public: - ConferenceEvent (Type type, const std::shared_ptr &address); + ConferenceEvent (Type type, const Address &address); ConferenceEvent (const ConferenceEvent &src); virtual ~ConferenceEvent () = default; ConferenceEvent &operator= (const ConferenceEvent &src); - std::shared_ptr getAddress () const; + const Address &getAddress () const; protected: - ConferenceEvent (ConferenceEventPrivate &p, Type type, const std::shared_ptr &address); + ConferenceEvent (ConferenceEventPrivate &p, Type type, const Address &address); private: L_DECLARE_PRIVATE(ConferenceEvent); diff --git a/src/event-log/conference-participant-event.cpp b/src/event-log/conference-participant-event.cpp index 7db503cad..145d03956 100644 --- a/src/event-log/conference-participant-event.cpp +++ b/src/event-log/conference-participant-event.cpp @@ -29,15 +29,15 @@ LINPHONE_BEGIN_NAMESPACE class ConferenceParticipantEventPrivate : public ConferenceEventPrivate { public: - shared_ptr participantAddress; + Address participantAddress; }; // ----------------------------------------------------------------------------- ConferenceParticipantEvent::ConferenceParticipantEvent ( Type type, - const shared_ptr &conferenceAddress, - const shared_ptr &participantAddress + const Address &conferenceAddress, + const Address &participantAddress ) : ConferenceEvent(*new ConferenceParticipantEventPrivate, type, conferenceAddress) { L_D(ConferenceParticipantEvent); L_ASSERT( @@ -46,8 +46,7 @@ ConferenceParticipantEvent::ConferenceParticipantEvent ( type == Type::ConferenceParticipantSetAdmin || type == Type::ConferenceParticipantUnsetAdmin ); - L_ASSERT(participantAddress); - d->participantAddress = make_shared
(*participantAddress); + d->participantAddress = participantAddress; } ConferenceParticipantEvent::ConferenceParticipantEvent (const ConferenceParticipantEvent &src) : @@ -57,13 +56,13 @@ ConferenceParticipantEvent &ConferenceParticipantEvent::operator= (const Confere L_D(ConferenceParticipantEvent); if (this != &src) { ConferenceEvent::operator=(src); - d->participantAddress = make_shared
(*src.getPrivate()->participantAddress); + d->participantAddress = src.getPrivate()->participantAddress; } return *this; } -shared_ptr ConferenceParticipantEvent::getParticipantAddress () const { +const Address &ConferenceParticipantEvent::getParticipantAddress () const { L_D(const ConferenceParticipantEvent); return d->participantAddress; } diff --git a/src/event-log/conference-participant-event.h b/src/event-log/conference-participant-event.h index fbb6514d7..03d0d4b48 100644 --- a/src/event-log/conference-participant-event.h +++ b/src/event-log/conference-participant-event.h @@ -31,14 +31,14 @@ class LINPHONE_PUBLIC ConferenceParticipantEvent : public ConferenceEvent { public: ConferenceParticipantEvent ( Type type, - const std::shared_ptr &conferenceAddress, - const std::shared_ptr &participantAddress + const Address &conferenceAddress, + const Address &participantAddress ); ConferenceParticipantEvent (const ConferenceParticipantEvent &src); ConferenceParticipantEvent &operator= (const ConferenceParticipantEvent &src); - std::shared_ptr getParticipantAddress () const; + const Address &getParticipantAddress () const; private: L_DECLARE_PRIVATE(ConferenceParticipantEvent);