mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-28 00:29:21 +00:00
Add class skeletons for refactoring of conference.
This commit is contained in:
parent
daa9ed3fa2
commit
6d54b3c46d
25 changed files with 931 additions and 0 deletions
|
|
@ -24,8 +24,21 @@ set(LINPHONE_CXX_OBJECTS_PRIVATE_HEADER_FILES
|
|||
address/address-p.h
|
||||
address/address.h
|
||||
c-wrapper/c-tools.h
|
||||
call/call.h
|
||||
chat/chat-room-p.h
|
||||
chat/chat-room.h
|
||||
conference/conference.h
|
||||
conference/conference-listener.h
|
||||
conference/conference-p.h
|
||||
conference/local-conference.h
|
||||
conference/params/call-session-params.h
|
||||
conference/params/call-session-params-p.h
|
||||
conference/params/media-session-params.h
|
||||
conference/participant.h
|
||||
conference/remote-conference.h
|
||||
conference/session/call-session.h
|
||||
conference/session/call-session-p.h
|
||||
conference/session/media-session.h
|
||||
content/content.h
|
||||
core/core.h
|
||||
chat/imdn.h
|
||||
|
|
@ -66,11 +79,20 @@ set(LINPHONE_CXX_OBJECTS_SOURCE_FILES
|
|||
address/address.cpp
|
||||
c-wrapper/api/c-address.cpp
|
||||
c-wrapper/api/c-event-log.cpp
|
||||
call/call.cpp
|
||||
chat/chat-room.cpp
|
||||
content/content.cpp
|
||||
core/core.cpp
|
||||
chat/imdn.cpp
|
||||
chat/is-composing.cpp
|
||||
conference/conference.cpp
|
||||
conference/local-conference.cpp
|
||||
conference/params/call-session-params.cpp
|
||||
conference/params/media-session-params.cpp
|
||||
conference/participant.cpp
|
||||
conference/remote-conference.cpp
|
||||
conference/session/call-session.cpp
|
||||
conference/session/media-session.cpp
|
||||
cpim/header/cpim-core-headers.cpp
|
||||
cpim/header/cpim-generic-header.cpp
|
||||
cpim/header/cpim-header.cpp
|
||||
|
|
|
|||
54
src/call/call.cpp
Normal file
54
src/call/call.cpp
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* call.cpp
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "object/object-p.h"
|
||||
|
||||
#include "call.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
using namespace LinphonePrivate;
|
||||
|
||||
// =============================================================================
|
||||
|
||||
class Call::CallPrivate : public ObjectPrivate {
|
||||
public:
|
||||
LinphoneCallDir direction;
|
||||
LinphoneCallState state = LinphoneCallIdle;
|
||||
};
|
||||
|
||||
// =============================================================================
|
||||
|
||||
Call::Call::Call (LinphoneCallDir direction) : Object(*new CallPrivate) {
|
||||
L_D(Call);
|
||||
d->direction = direction;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
LinphoneCallDir Call::Call::getDirection () const {
|
||||
L_D(const Call);
|
||||
return d->direction;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
LinphoneCallState Call::Call::getState () const {
|
||||
L_D(const Call);
|
||||
return d->state;
|
||||
}
|
||||
46
src/call/call.h
Normal file
46
src/call/call.h
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* call.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _CALL_CALL_H_
|
||||
#define _CALL_CALL_H_
|
||||
|
||||
#include "linphone/types.h"
|
||||
|
||||
#include "object/object.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
namespace LinphonePrivate {
|
||||
namespace Call {
|
||||
class CallPrivate;
|
||||
|
||||
class Call : public Object {
|
||||
public:
|
||||
Call (LinphoneCallDir direction);
|
||||
|
||||
LinphoneCallDir getDirection() const;
|
||||
LinphoneCallState getState() const;
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(Call);
|
||||
L_DISABLE_COPY(Call);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // ifndef _CALL_CALL_H_
|
||||
|
|
@ -995,3 +995,4 @@ const LinphoneAddress *ChatRoom::getPeerAddress () const {
|
|||
}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -68,3 +68,4 @@ private:
|
|||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _CHAT_ROOM_H_
|
||||
|
||||
|
|
|
|||
37
src/conference/conference-listener.h
Normal file
37
src/conference/conference-listener.h
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* conference-listener.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _CONFERENCE_LISTENER_H_
|
||||
#define _CONFERENCE_LISTENER_H_
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
class ConferenceListener : public Object {
|
||||
public:
|
||||
virtual void conferenceCreated (LinphoneAddress *addr) = 0;
|
||||
virtual void conferenceTerminated (LinphoneAddress *addr) = 0;
|
||||
virtual void participantAdded (LinphoneAddress *addr) = 0;
|
||||
virtual void participantRemoved (LinphoneAddress *addr) = 0;
|
||||
virtual void participantSetAdmin (LinphoneAddress *addr, bool isAdmin) = 0;
|
||||
};
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _CONFERENCE_LISTENER_H_
|
||||
43
src/conference/conference-p.h
Normal file
43
src/conference/conference-p.h
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* conference-p.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _CONFERENCE_P_H_
|
||||
#define _CONFERENCE_P_H_
|
||||
|
||||
#include "object/object-p.h"
|
||||
|
||||
#include "conference.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
class ConferencePrivate : public ObjectPrivate {
|
||||
public:
|
||||
virtual ~ConferencePrivate () = default;
|
||||
|
||||
std::string confId;
|
||||
|
||||
L_DECLARE_PUBLIC(Conference);
|
||||
};
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _CONFERENCE_P_H_
|
||||
29
src/conference/conference.cpp
Normal file
29
src/conference/conference.cpp
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* conference.cpp
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "conference-p.h"
|
||||
|
||||
#include "conference.h"
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
// =============================================================================
|
||||
|
||||
Conference::Conference (ConferencePrivate &p) : Object(p) {}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
44
src/conference/conference.h
Normal file
44
src/conference/conference.h
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* conference.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _CONFERENCE_H_
|
||||
#define _CONFERENCE_H_
|
||||
|
||||
#include "object/object.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
class ConferencePrivate;
|
||||
|
||||
class Conference : public Object {
|
||||
public:
|
||||
Conference ();
|
||||
|
||||
protected:
|
||||
explicit Conference (ConferencePrivate &p);
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(Conference);
|
||||
L_DISABLE_COPY(Conference);
|
||||
};
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _CONFERENCE_H_
|
||||
35
src/conference/local-conference.cpp
Normal file
35
src/conference/local-conference.cpp
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* local-conference.cpp
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "conference-p.h"
|
||||
|
||||
#include "local-conference.h"
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
// =============================================================================
|
||||
|
||||
class LocalConferencePrivate : public ConferencePrivate {
|
||||
public:
|
||||
};
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LocalConference::LocalConference () : Conference(*new LocalConferencePrivate) {}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
41
src/conference/local-conference.h
Normal file
41
src/conference/local-conference.h
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* local-conference.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _LOCAL_CONFERENCE_H_
|
||||
#define _LOCAL_CONFERENCE_H_
|
||||
|
||||
#include "conference.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
class LocalConferencePrivate;
|
||||
|
||||
class LocalConference : public Conference {
|
||||
public:
|
||||
LocalConference ();
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(LocalConference);
|
||||
L_DISABLE_COPY(LocalConference);
|
||||
};
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _LOCAL_CONFERENCE_H_
|
||||
43
src/conference/params/call-session-params-p.h
Normal file
43
src/conference/params/call-session-params-p.h
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* call-session-params-p.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _CONFERENCE_CALL_SESSION_PARAMS_P_H_
|
||||
#define _CONFERENCE_CALL_SESSION_PARAMS_P_H_
|
||||
|
||||
#include "object/object-p.h"
|
||||
|
||||
#include "call-session-params.h"
|
||||
|
||||
#include "linphone/types.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
namespace LinphonePrivate {
|
||||
namespace Conference {
|
||||
class CallSessionParamsPrivate : public ObjectPrivate {
|
||||
public:
|
||||
virtual ~CallSessionParamsPrivate () = default;
|
||||
|
||||
LinphonePrivacyMask privacy = LinphonePrivacyNone;
|
||||
|
||||
L_DECLARE_PUBLIC(CallSessionParams);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // ifndef _CONFERENCE_CALL_SESSION_PARAMS_P_H_
|
||||
27
src/conference/params/call-session-params.cpp
Normal file
27
src/conference/params/call-session-params.cpp
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* call-session-params.cpp
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "call-session-params-p.h"
|
||||
|
||||
#include "call-session-params.h"
|
||||
|
||||
using namespace LinphonePrivate;
|
||||
|
||||
// =============================================================================
|
||||
|
||||
Conference::CallSessionParams::CallSessionParams (CallSessionParamsPrivate &p) : Object(p) {}
|
||||
44
src/conference/params/call-session-params.h
Normal file
44
src/conference/params/call-session-params.h
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* call-session-params.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _CONFERENCE_CALL_SESSION_PARAMS_H_
|
||||
#define _CONFERENCE_CALL_SESSION_PARAMS_H_
|
||||
|
||||
#include "object/object.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
namespace LinphonePrivate {
|
||||
namespace Conference {
|
||||
class CallSessionParamsPrivate;
|
||||
|
||||
class CallSessionParams : public Object {
|
||||
public:
|
||||
CallSessionParams ();
|
||||
|
||||
protected:
|
||||
explicit CallSessionParams (CallSessionParamsPrivate &p);
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(CallSessionParams);
|
||||
L_DISABLE_COPY(CallSessionParams);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // ifndef _CONFERENCE_CALL_SESSION_PARAMS_H_
|
||||
36
src/conference/params/media-session-params.cpp
Normal file
36
src/conference/params/media-session-params.cpp
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* media-session-params.cpp
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "call-session-params-p.h"
|
||||
|
||||
#include "media-session-params.h"
|
||||
|
||||
#include "linphone/types.h"
|
||||
|
||||
using namespace LinphonePrivate;
|
||||
|
||||
// =============================================================================
|
||||
|
||||
class Conference::MediaSessionParamsPrivate : public CallSessionParamsPrivate {
|
||||
public:
|
||||
LinphoneMediaEncryption encryption = LinphoneMediaEncryptionNone;
|
||||
};
|
||||
|
||||
// =============================================================================
|
||||
|
||||
Conference::MediaSessionParams::MediaSessionParams () : CallSessionParams(*new MediaSessionParamsPrivate) {}
|
||||
41
src/conference/params/media-session-params.h
Normal file
41
src/conference/params/media-session-params.h
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* media-session-params.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _CONFERENCE_MEDIA_SESSION_PARAMS_H_
|
||||
#define _CONFERENCE_MEDIA_SESSION_PARAMS_H_
|
||||
|
||||
#include "call-session-params.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
namespace LinphonePrivate {
|
||||
namespace Conference {
|
||||
class MediaSessionParamsPrivate;
|
||||
|
||||
class MediaSessionParams : public CallSessionParams {
|
||||
public:
|
||||
MediaSessionParams ();
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(MediaSessionParams);
|
||||
L_DISABLE_COPY(MediaSessionParams);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // ifndef _CONFERENCE_MEDIA_SESSION_PARAMS_H_
|
||||
65
src/conference/participant.cpp
Normal file
65
src/conference/participant.cpp
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* participant.cpp
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "object/object-p.h"
|
||||
|
||||
#include "participant.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
// =============================================================================
|
||||
|
||||
class ParticipantPrivate : public ObjectPrivate {
|
||||
public:
|
||||
~ParticipantPrivate ();
|
||||
|
||||
Address addr;
|
||||
bool isAdmin = false;
|
||||
};
|
||||
|
||||
ParticipantPrivate::~ParticipantPrivate() {}
|
||||
|
||||
// =============================================================================
|
||||
|
||||
Participant::Participant (const Address &addr) : Object(*new ParticipantPrivate) {
|
||||
L_D(Participant);
|
||||
d->addr = addr;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
const Address& Participant::getAddress () const {
|
||||
L_D(const Participant);
|
||||
return d->addr;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
bool Participant::isAdmin () const {
|
||||
L_D(const Participant);
|
||||
return d->isAdmin;
|
||||
}
|
||||
|
||||
void Participant::setAdmin (bool isAdmin) {
|
||||
L_D(Participant);
|
||||
d->isAdmin = isAdmin;
|
||||
}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
48
src/conference/participant.h
Normal file
48
src/conference/participant.h
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* participant.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _PARTICIPANT_H_
|
||||
#define _PARTICIPANT_H_
|
||||
|
||||
#include "address/address.h"
|
||||
|
||||
#include "object/object.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
class ParticipantPrivate;
|
||||
|
||||
class Participant : public Object {
|
||||
public:
|
||||
Participant (const Address &addr);
|
||||
|
||||
const Address& getAddress () const;
|
||||
|
||||
bool isAdmin () const;
|
||||
void setAdmin (bool isAdmin);
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(Participant);
|
||||
L_DISABLE_COPY(Participant);
|
||||
};
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _PARTICIPANT_H_
|
||||
35
src/conference/remote-conference.cpp
Normal file
35
src/conference/remote-conference.cpp
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* remote-conference.cpp
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "conference-p.h"
|
||||
|
||||
#include "remote-conference.h"
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
// =============================================================================
|
||||
|
||||
class RemoteConferencePrivate : public ConferencePrivate {
|
||||
public:
|
||||
};
|
||||
|
||||
// =============================================================================
|
||||
|
||||
RemoteConference::RemoteConference () : Conference(*new RemoteConferencePrivate) {}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
41
src/conference/remote-conference.h
Normal file
41
src/conference/remote-conference.h
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* remote-conference.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _REMOTE_CONFERENCE_H_
|
||||
#define _REMOTE_CONFERENCE_H_
|
||||
|
||||
#include "conference.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
class RemoteConferencePrivate;
|
||||
|
||||
class RemoteConference : public Conference {
|
||||
public:
|
||||
RemoteConference ();
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(RemoteConference);
|
||||
L_DISABLE_COPY(RemoteConference);
|
||||
};
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _REMOTE_CONFERENCE_H_
|
||||
43
src/conference/session/call-session-p.h
Normal file
43
src/conference/session/call-session-p.h
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* call-session-p.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _CALL_SESSION_P_H_
|
||||
#define _CALL_SESSION_P_H_
|
||||
|
||||
#include "object/object-p.h"
|
||||
|
||||
#include "call-session.h"
|
||||
|
||||
#include "bellesip_sal/sal_impl.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
class CallSessionPrivate : public ObjectPrivate {
|
||||
public:
|
||||
virtual ~CallSessionPrivate () = default;
|
||||
|
||||
SalOp *op;
|
||||
|
||||
L_DECLARE_PUBLIC(CallSession);
|
||||
};
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _CALL_SESSION_P_H_
|
||||
29
src/conference/session/call-session.cpp
Normal file
29
src/conference/session/call-session.cpp
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* call-session.cpp
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "call-session-p.h"
|
||||
|
||||
#include "call-session.h"
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
// =============================================================================
|
||||
|
||||
CallSession::CallSession (CallSessionPrivate &p) : Object(p) {}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
44
src/conference/session/call-session.h
Normal file
44
src/conference/session/call-session.h
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* call-session.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _CALL_SESSION_H_
|
||||
#define _CALL_SESSION_H_
|
||||
|
||||
#include "object/object.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
class CallSessionPrivate;
|
||||
|
||||
class CallSession : public Object {
|
||||
public:
|
||||
CallSession ();
|
||||
|
||||
protected:
|
||||
explicit CallSession (CallSessionPrivate &p);
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(CallSession);
|
||||
L_DISABLE_COPY(CallSession);
|
||||
};
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _CALL_SESSION_H_
|
||||
41
src/conference/session/media-session.cpp
Normal file
41
src/conference/session/media-session.cpp
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* media-session.cpp
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "call-session-p.h"
|
||||
|
||||
#include "media-session.h"
|
||||
|
||||
#include <mediastreamer2/mediastream.h>
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
// =============================================================================
|
||||
|
||||
class MediaSessionPrivate : public CallSessionPrivate {
|
||||
public:
|
||||
AudioStream *audioStream = nullptr;
|
||||
VideoStream *videoStream = nullptr;
|
||||
TextStream *textStream = nullptr;
|
||||
IceSession *iceSession = nullptr;
|
||||
};
|
||||
|
||||
// =============================================================================
|
||||
|
||||
MediaSession::MediaSession () : CallSession(*new MediaSessionPrivate) {}
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
41
src/conference/session/media-session.h
Normal file
41
src/conference/session/media-session.h
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* media-session.h
|
||||
* Copyright (C) 2017 Belledonne Communications SARL
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef _MEDIA_SESSION_H_
|
||||
#define _MEDIA_SESSION_H_
|
||||
|
||||
#include "call-session.h"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
LINPHONE_BEGIN_NAMESPACE
|
||||
|
||||
class MediaSessionPrivate;
|
||||
|
||||
class MediaSession : public CallSession {
|
||||
public:
|
||||
MediaSession ();
|
||||
|
||||
private:
|
||||
L_DECLARE_PRIVATE(MediaSession);
|
||||
L_DISABLE_COPY(MediaSession);
|
||||
};
|
||||
|
||||
LINPHONE_END_NAMESPACE
|
||||
|
||||
#endif // ifndef _MEDIA_SESSION_H_
|
||||
Loading…
Add table
Reference in a new issue