diff --git a/src/c-wrapper/c-types.h b/src/c-wrapper/c-types.h index a95e0c4ca..901a0d4c5 100644 --- a/src/c-wrapper/c-types.h +++ b/src/c-wrapper/c-types.h @@ -30,10 +30,26 @@ extern "C" { #endif +L_DECLARE_C_STRUCT(ConferenceParticipantEvent); L_DECLARE_C_STRUCT(EventLog); L_DECLARE_C_STRUCT(Message); L_DECLARE_C_STRUCT(MessageEvent); +// TODO: Remove me in the future. +typedef struct SalAddress LinphoneAddress; + +// ----------------------------------------------------------------------------- +// Conference Participant Event. +// ----------------------------------------------------------------------------- + +LINPHONE_PUBLIC LinphoneConferenceParticipantEvent *conference_participant_event_new ( + LinphoneEventLogType type, + const LinphoneAddress *conferenceAddress, + const LinphoneAddress *participantAddress +); + +LINPHONE_PUBLIC const LinphoneAddress *conference_participant_event_get_participant_address (); + // ----------------------------------------------------------------------------- // Event log. // ----------------------------------------------------------------------------- diff --git a/src/event-log/conference-event-p.h b/src/event-log/conference-event-p.h index 654e2a932..1a44b76b8 100644 --- a/src/event-log/conference-event-p.h +++ b/src/event-log/conference-event-p.h @@ -29,7 +29,7 @@ LINPHONE_BEGIN_NAMESPACE class ConferenceEventPrivate : public EventLogPrivate { private: - std::shared_ptr
address; + std::shared_ptr address; L_DECLARE_PUBLIC(ConferenceEvent); }; diff --git a/src/event-log/conference-event.cpp b/src/event-log/conference-event.cpp index 890a76d54..169e9dfa5 100644 --- a/src/event-log/conference-event.cpp +++ b/src/event-log/conference-event.cpp @@ -26,20 +26,22 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE -ConferenceEvent::ConferenceEvent (Type type, const shared_ptr
&address) : +ConferenceEvent::ConferenceEvent (Type type, const shared_ptr &address) : EventLog(*new ConferenceEventPrivate, type) { L_D(ConferenceEvent); L_ASSERT(type == ConferenceCreatedEvent || type == ConferenceDestroyedEvent); L_ASSERT(address); + // TODO: Duplicate 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 shared_ptr &address) : EventLog(p, type) { L_D(ConferenceEvent); L_ASSERT(address); + // TODO: Duplicate address. d->address = address; } @@ -47,13 +49,14 @@ ConferenceEvent &ConferenceEvent::operator= (const ConferenceEvent &src) { L_D(ConferenceEvent); if (this != &src) { EventLog::operator=(src); + // TODO: Duplicate address. d->address = src.getPrivate()->address; } return *this; } -shared_ptr
ConferenceEvent::getAddress () const { +shared_ptr ConferenceEvent::getAddress () const { // TODO. return nullptr; } diff --git a/src/event-log/conference-event.h b/src/event-log/conference-event.h index 6bdb10fa0..966af2b2d 100644 --- a/src/event-log/conference-event.h +++ b/src/event-log/conference-event.h @@ -32,16 +32,16 @@ class ConferenceEventPrivate; class LINPHONE_PUBLIC ConferenceEvent : public EventLog { public: - ConferenceEvent (Type type, const std::shared_ptr
&address); + ConferenceEvent (Type type, const std::shared_ptr &address); ConferenceEvent (const ConferenceEvent &src); virtual ~ConferenceEvent () = default; ConferenceEvent &operator= (const ConferenceEvent &src); - std::shared_ptr
getAddress () const; + std::shared_ptr getAddress () const; protected: - ConferenceEvent (ConferenceEventPrivate &p, Type type, const std::shared_ptr
&address); + ConferenceEvent (ConferenceEventPrivate &p, Type type, const std::shared_ptr &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 5cb0a1ce7..4d3500144 100644 --- a/src/event-log/conference-participant-event.cpp +++ b/src/event-log/conference-participant-event.cpp @@ -28,15 +28,15 @@ LINPHONE_BEGIN_NAMESPACE class ConferenceParticipantEventPrivate : public ConferenceEventPrivate { public: - shared_ptr
participantAddress; + shared_ptr participantAddress; }; // ----------------------------------------------------------------------------- ConferenceParticipantEvent::ConferenceParticipantEvent ( Type type, - const shared_ptr
&conferenceAddress, - const shared_ptr
&participantAddress + const shared_ptr &conferenceAddress, + const shared_ptr &participantAddress ) : ConferenceEvent(*new ConferenceParticipantEventPrivate, type, conferenceAddress) { L_D(ConferenceParticipantEvent); L_ASSERT( @@ -46,6 +46,7 @@ ConferenceParticipantEvent::ConferenceParticipantEvent ( type == ConferenceParticipantUnsetAdminEvent ); L_ASSERT(participantAddress); + // TODO: Duplicate address. d->participantAddress = participantAddress; } @@ -56,13 +57,14 @@ ConferenceParticipantEvent &ConferenceParticipantEvent::operator= (const Confere L_D(ConferenceParticipantEvent); if (this != &src) { ConferenceEvent::operator=(src); + // TODO: Duplicate address. d->participantAddress = src.getPrivate()->participantAddress; } return *this; } -shared_ptr
ConferenceParticipantEvent::getParticipantAddress () const { +shared_ptr ConferenceParticipantEvent::getParticipantAddress () const { // TODO. return nullptr; } diff --git a/src/event-log/conference-participant-event.h b/src/event-log/conference-participant-event.h index 9b65f1002..fbb6514d7 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 std::shared_ptr &conferenceAddress, + const std::shared_ptr &participantAddress ); ConferenceParticipantEvent (const ConferenceParticipantEvent &src); ConferenceParticipantEvent &operator= (const ConferenceParticipantEvent &src); - std::shared_ptr
getParticipantAddress () const; + std::shared_ptr getParticipantAddress () const; private: L_DECLARE_PRIVATE(ConferenceParticipantEvent);