reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
recon::LibWebRTCConversation Class Reference

This class is used to manage membership of participants. More...

#include <LibWebRTCConversation.hxx>

Inheritance diagram for recon::LibWebRTCConversation:
[legend]

Public Member Functions

 LibWebRTCConversation (ConversationHandle handle, ConversationManager &conversationManager, LibWebRTCMediaStackAdapter &libwebrtcMediaStackAdapter, RelatedConversationSet *relatedConversationSet, ConversationHandle sharedMediaInterfaceConvHandle, ConversationManager::AutoHoldMode autoHoldMode)
 
virtual ~LibWebRTCConversation ()
 
virtual void confirmParticipant (Participant *participant)
 
- Public Member Functions inherited from recon::Conversation
virtual ~Conversation ()
 
void addParticipant (Participant *participant, unsigned int inputGain=100, unsigned int outputGain=100)
 
void removeParticipant (Participant *participant)
 
void modifyParticipantContribution (Participant *participant, unsigned int inputGain, unsigned int outputGain)
 
unsigned int getNumLocalParticipants ()
 
unsigned int getNumRemoteParticipants ()
 
unsigned int getNumRemoteIMParticipants ()
 
unsigned int getNumMediaParticipants ()
 
bool shouldHold ()
 
bool broadcastOnly ()
 
void notifyRemoteParticipantsOfHoldChange ()
 
void relayInstantMessageToRemoteParticipants (ParticipantHandle sourceParticipant, const resip::Data &senderDisplayName, const resip::SipMessage &msg)
 
void createRelatedConversation (RemoteParticipant *newForkedParticipant, ParticipantHandle origParticipantHandle)
 
void join (Conversation *conversation)
 
void destroy ()
 
ConversationHandle getHandle ()
 
void setMaxParticipants (unsigned int maxParticipants)
 
unsigned int getMaxParticipants () const
 

Protected Member Functions

virtual void onParticipantAdded (Participant *participant)
 
virtual void onParticipantRemoved (Participant *participant)
 
- Protected Member Functions inherited from recon::Conversation
 Conversation (ConversationHandle handle, ConversationManager &conversationManager, RelatedConversationSet *relatedConversationSet, ConversationHandle sharedMediaInterfaceConvHandle, ConversationManager::AutoHoldMode autoHoldMode, unsigned int maxParticipants=0)
 
std::shared_ptr< resip::ConfigParse > getConfig ()
 
void registerParticipant (Participant *, unsigned int inputGain=100, unsigned int outputGain=100)
 
void unregisterParticipant (Participant *)
 
ParticipantMap & getParticipants ()
 
BridgeMixer * getBridgeMixer () noexcept
 
std::shared_ptr< BridgeMixer > getBridgeMixerShared ()
 
virtual void setBridgeMixer (std::shared_ptr< BridgeMixer > mixer)
 
virtual bool isSharingMediaInterfaceWithAnotherConversation ()
 
virtual ConversationManager & getConversationManager ()
 

Friends

class Participant
 
class LibWebRTCParticipant
 
class LocalParticipant
 
class LibWebRTCLocalParticipant
 
class RemoteParticipant
 
class LibWebRTCRemoteParticipant
 
class MediaResourceParticipant
 
class LibWebRTCMediaResourceParticipant
 
class BridgeMixer
 
class LibWebRTCBridgeMixer
 
class AddParticipantCmd
 
class JoinConversationCmd
 
class MoveParticipantCmd
 
class ConversationManager
 
class LibWebRTCMediaStackAdapter
 

Additional Inherited Members

- Protected Types inherited from recon::Conversation
typedef std::map< ParticipantHandle, ConversationParticipantAssignment > ParticipantMap
 

Detailed Description

This class is used to manage membership of participants.

Conversations are used to designate the audio properties between a number of managed participants. By default all participants in a Conversation can talk to and hear all other participants. A modified participants contribution setting to a conversation can change this.

If a remote participant is a sole member in a conversation, then he/she will be put on hold for the default AutoHoldMode of enabled.

Definition at line 31 of file LibWebRTCConversation.hxx.

Constructor & Destructor Documentation

◆ LibWebRTCConversation()

LibWebRTCConversation::LibWebRTCConversation ( ConversationHandle  handle,
ConversationManager &  conversationManager,
LibWebRTCMediaStackAdapter &  libwebrtcMediaStackAdapter,
RelatedConversationSet *  relatedConversationSet,
ConversationHandle  sharedMediaInterfaceConvHandle,
ConversationManager::AutoHoldMode  autoHoldMode 
)

Definition at line 29 of file LibWebRTCConversation.cxx.

◆ ~LibWebRTCConversation()

LibWebRTCConversation::~LibWebRTCConversation ( )
virtual

Definition at line 67 of file LibWebRTCConversation.cxx.

Member Function Documentation

◆ confirmParticipant()

void LibWebRTCConversation::confirmParticipant ( Participant *  participant)
virtual

Reimplemented from recon::Conversation.

Definition at line 79 of file LibWebRTCConversation.cxx.

◆ onParticipantAdded()

void LibWebRTCConversation::onParticipantAdded ( Participant *  participant)
protectedvirtual

Implements recon::Conversation.

Definition at line 74 of file LibWebRTCConversation.cxx.

◆ onParticipantRemoved()

void LibWebRTCConversation::onParticipantRemoved ( Participant *  participant)
protectedvirtual

Implements recon::Conversation.

Definition at line 159 of file LibWebRTCConversation.cxx.

Friends And Related Symbol Documentation

◆ AddParticipantCmd

Definition at line 57 of file LibWebRTCConversation.hxx.

◆ BridgeMixer

Definition at line 54 of file LibWebRTCConversation.hxx.

◆ ConversationManager

Definition at line 70 of file LibWebRTCConversation.hxx.

◆ JoinConversationCmd

Definition at line 58 of file LibWebRTCConversation.hxx.

◆ LibWebRTCBridgeMixer

Definition at line 55 of file LibWebRTCConversation.hxx.

◆ LibWebRTCLocalParticipant

friend class LibWebRTCLocalParticipant
friend

Definition at line 48 of file LibWebRTCConversation.hxx.

◆ LibWebRTCMediaResourceParticipant

friend class LibWebRTCMediaResourceParticipant
friend

Definition at line 52 of file LibWebRTCConversation.hxx.

◆ LibWebRTCMediaStackAdapter

◆ LibWebRTCParticipant

Definition at line 46 of file LibWebRTCConversation.hxx.

◆ LibWebRTCRemoteParticipant

◆ LocalParticipant

Definition at line 47 of file LibWebRTCConversation.hxx.

◆ MediaResourceParticipant

◆ MoveParticipantCmd

Definition at line 59 of file LibWebRTCConversation.hxx.

◆ Participant

Definition at line 45 of file LibWebRTCConversation.hxx.

◆ RemoteParticipant

Definition at line 49 of file LibWebRTCConversation.hxx.


The documentation for this class was generated from the following files: