Liblinphone  5.3.0
Public Types | Public Member Functions | List of all members
linphone::ParticipantDevice Class Reference

This object represents a unique device for a member of a Conference or ChatRoom. More...

#include <participant_device.hh>

Inheritance diagram for linphone::ParticipantDevice:

Public Types

enum  JoiningMethod {
  JoiningMethod::DialedIn = 0,
  JoiningMethod::DialedOut = 1,
  JoiningMethod::FocusOwner = 2
}
 JoiningMethod is used to indicate how a participant joined a conference or if it is the focus. More...
 
enum  DisconnectionMethod {
  DisconnectionMethod::Booted = 0,
  DisconnectionMethod::Departed = 1,
  DisconnectionMethod::Busy = 2,
  DisconnectionMethod::Failed = 3
}
 DisconnectionMethod is used to indicate how a participant left a conference. More...
 
enum  State {
  State::Joining = 0,
  State::Present = 1,
  State::Leaving = 2,
  State::Left = 3,
  State::ScheduledForJoining = 4,
  State::ScheduledForLeaving = 5,
  State::OnHold = 6,
  State::Alerting = 7,
  State::MutedByFocus = 8
}
 State is used to list all states a participant device can be in More...
 

Public Member Functions

LINPHONECXX_PUBLIC ParticipantDevice (void *ptr, bool takeRef=true)
 
LINPHONECXX_PUBLIC _LinphoneParticipantDevice * cPtr ()
 
LINPHONECXX_PUBLIC void addListener (const std::shared_ptr< ParticipantDeviceListener > &listener)
 Add an application listener to the ParticipantDevice instance. More...
 
LINPHONECXX_PUBLIC void removeListener (const std::shared_ptr< ParticipantDeviceListener > &listener)
 Remove a previously added listener from the ParticipantDevice instance. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AddressgetAddress () const
 Get the address of a participant's device. More...
 
LINPHONECXX_PUBLIC DisconnectionMethod getDisconnectionMethod () const
 Get the disconnection method. More...
 
LINPHONECXX_PUBLIC std::string getDisconnectionReason () const
 Get the disconnection reason. More...
 
LINPHONECXX_PUBLIC bool isInConference () const
 Return whether the participant device is in a conference or not. More...
 
LINPHONECXX_PUBLIC bool getIsMuted () const
 Return whether the participant device is muted or not. More...
 
LINPHONECXX_PUBLIC bool getIsSpeaking () const
 Return whether the participant device is speaking or not. More...
 
LINPHONECXX_PUBLIC JoiningMethod getJoiningMethod () const
 Get the joining method or it the device is the focus owner. More...
 
LINPHONECXX_PUBLIC std::string getName () const
 Return the name of the device or nullptr. More...
 
LINPHONECXX_PUBLIC void * getNativeVideoWindowId () const
 Get window ID. More...
 
LINPHONECXX_PUBLIC void setNativeVideoWindowId (void *windowId)
 Set window ID for a device. More...
 
LINPHONECXX_PUBLIC linphone::ChatRoom::SecurityLevel getSecurityLevel () const
 Get the security level of a participant's device. More...
 
LINPHONECXX_PUBLIC State getState () const
 Get the state of a participant device. More...
 
LINPHONECXX_PUBLIC time_t getTimeOfDisconnection () const
 Get the timestamp the device left a conference. More...
 
LINPHONECXX_PUBLIC time_t getTimeOfJoining () const
 Get the timestamp the device joined a conference. More...
 
LINPHONECXX_PUBLIC void * createNativeVideoWindowId () const
 Create a window ID and return it. More...
 
LINPHONECXX_PUBLIC uint32_t getSsrc (linphone::StreamType streamType) const
 Get the audio stream SSRC of the device. More...
 
LINPHONECXX_PUBLIC bool getStreamAvailability (linphone::StreamType streamType) const
 Get the stream availability of the device. More...
 
LINPHONECXX_PUBLIC linphone::MediaDirection getStreamCapability (linphone::StreamType streamType) const
 Get the stream capability of the device. More...
 

Detailed Description

This object represents a unique device for a member of a Conference or ChatRoom.

Devices are identified by the gruu parameter inside the Address which can be obtained by getAddress(). It is specially usefull to know the security level of each device inside an end-to-end encrypted ChatRoom. You can get a list of all ParticipantDevice using Participant::getDevices().

Member Enumeration Documentation

◆ DisconnectionMethod

DisconnectionMethod is used to indicate how a participant left a conference.

Enumerator
Booted 

an admin removes the device from a conference

Departed 

the device disconnects from the conference

Busy 

device is busy

Failed 

an error occurred while the device is leaving the conference or he declined a call from the server

◆ JoiningMethod

JoiningMethod is used to indicate how a participant joined a conference or if it is the focus.

Enumerator
DialedIn 

device called the conference

DialedOut 

device is called the conference

FocusOwner 

device is the focus

◆ State

State is used to list all states a participant device can be in

Enumerator
Joining 

an INVITE has been sent

Present 

the SIP session has been concluded, participant is part of the conference

Leaving 

A BYE is pending.

Left 

The Session is terminated.

ScheduledForJoining 

Initial state for the server group chatroom, when the participant has not yet been INVITEd.

ScheduledForLeaving 

Transitional state for a participant that will receive a BYE shortly.

OnHold 

the SIP session has been concluded, participant is not media mixed

Alerting 

180 Ringing

MutedByFocus 

Some medias have been muted by the focus.

Member Function Documentation

◆ addListener()

LINPHONECXX_PUBLIC void linphone::ParticipantDevice::addListener ( const std::shared_ptr< ParticipantDeviceListener > &  listener)

Add an application listener to the ParticipantDevice instance.

Parameters
listenerthe application listener

◆ createNativeVideoWindowId()

LINPHONECXX_PUBLIC void* linphone::ParticipantDevice::createNativeVideoWindowId ( ) const

Create a window ID and return it.

Returns
the window ID of the device

◆ getAddress()

LINPHONECXX_PUBLIC std::shared_ptr<const linphone::Address> linphone::ParticipantDevice::getAddress ( ) const

Get the address of a participant's device.

Returns
The Address of the participant's device

◆ getDisconnectionMethod()

LINPHONECXX_PUBLIC DisconnectionMethod linphone::ParticipantDevice::getDisconnectionMethod ( ) const

Get the disconnection method.

Returns
disconnection method DisconnectionMethod

◆ getDisconnectionReason()

LINPHONECXX_PUBLIC std::string linphone::ParticipantDevice::getDisconnectionReason ( ) const

Get the disconnection reason.

Returns
disconnection reason

◆ getIsMuted()

LINPHONECXX_PUBLIC bool linphone::ParticipantDevice::getIsMuted ( ) const

Return whether the participant device is muted or not.

Returns
true if the participant device is muted, false otherwise.

◆ getIsSpeaking()

LINPHONECXX_PUBLIC bool linphone::ParticipantDevice::getIsSpeaking ( ) const

Return whether the participant device is speaking or not.

Returns
true if the participant device is speaking, false otherwise.

◆ getJoiningMethod()

LINPHONECXX_PUBLIC JoiningMethod linphone::ParticipantDevice::getJoiningMethod ( ) const

Get the joining method or it the device is the focus owner.

Returns
joining method or focus owner JoiningMethod

◆ getName()

LINPHONECXX_PUBLIC std::string linphone::ParticipantDevice::getName ( ) const

Return the name of the device or nullptr.

Returns
the name of the device or nullptr.

◆ getNativeVideoWindowId()

LINPHONECXX_PUBLIC void* linphone::ParticipantDevice::getNativeVideoWindowId ( ) const

Get window ID.

Returns
the window ID of the device

◆ getSecurityLevel()

LINPHONECXX_PUBLIC linphone::ChatRoom::SecurityLevel linphone::ParticipantDevice::getSecurityLevel ( ) const

Get the security level of a participant's device.

Returns
The ChatRoom::SecurityLevel of the device

◆ getSsrc()

LINPHONECXX_PUBLIC uint32_t linphone::ParticipantDevice::getSsrc ( linphone::StreamType  streamType) const

Get the audio stream SSRC of the device.

Parameters
streamTypeA StreamType
Returns
the audio stream SSRC of the device

◆ getState()

LINPHONECXX_PUBLIC State linphone::ParticipantDevice::getState ( ) const

Get the state of a participant device.

Returns
The State of the device

◆ getStreamAvailability()

LINPHONECXX_PUBLIC bool linphone::ParticipantDevice::getStreamAvailability ( linphone::StreamType  streamType) const

Get the stream availability of the device.

The availability information represents whether a given stream type is currently available to be presented in the conference for a ParticipantDevice

Parameters
streamTypeA StreamType
Returns
true if the stream of type stream_type is available for device, false otherwise

◆ getStreamCapability()

LINPHONECXX_PUBLIC linphone::MediaDirection linphone::ParticipantDevice::getStreamCapability ( linphone::StreamType  streamType) const

Get the stream capability of the device.

The capability information represents the capability for the #ParticipantDevice to handle a given stream type (audio, video or text).

Parameters
streamTypeA StreamType
Returns
the capability of stream of type stream_type of the device MediaDirection

◆ getTimeOfDisconnection()

LINPHONECXX_PUBLIC time_t linphone::ParticipantDevice::getTimeOfDisconnection ( ) const

Get the timestamp the device left a conference.

Returns
time of disconnection a conference as returned by time(nullptr). For UNIX based systems it is the number of seconds since 00:00hours of the 1st of January 1970

◆ getTimeOfJoining()

LINPHONECXX_PUBLIC time_t linphone::ParticipantDevice::getTimeOfJoining ( ) const

Get the timestamp the device joined a conference.

Returns
time of joining a conference as returned by time(nullptr). For UNIX based systems it is the number of seconds since 00:00hours of the 1st of January 1970

◆ isInConference()

LINPHONECXX_PUBLIC bool linphone::ParticipantDevice::isInConference ( ) const

Return whether the participant device is in a conference or not.

Returns
a boolean to state whether the device is in a conference

◆ removeListener()

LINPHONECXX_PUBLIC void linphone::ParticipantDevice::removeListener ( const std::shared_ptr< ParticipantDeviceListener > &  listener)

Remove a previously added listener from the ParticipantDevice instance.

Parameters
listenerthe application listener

◆ setNativeVideoWindowId()

LINPHONECXX_PUBLIC void linphone::ParticipantDevice::setNativeVideoWindowId ( void *  windowId)

Set window ID for a device.

Parameters
windowIdthe window ID of the device

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