Liblinphone  5.4.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::RequestingToJoin = 9
}
 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
 Gets the address of a participant's device. More...
 
LINPHONECXX_PUBLIC DisconnectionMethod getDisconnectionMethod () const
 Gets the disconnection method. More...
 
LINPHONECXX_PUBLIC std::string getDisconnectionReason () const
 Gets the disconnection reason. More...
 
LINPHONECXX_PUBLIC bool isInConference () const
 Returns whether the participant device is in a conference or not. More...
 
LINPHONECXX_PUBLIC bool getIsMuted () const
 Returns whether the participant device is muted or not. More...
 
LINPHONECXX_PUBLIC bool getIsSpeaking () const
 Returns whether the participant device is speaking or not. More...
 
LINPHONECXX_PUBLIC JoiningMethod getJoiningMethod () const
 Gets the joining method or it the device is the focus owner. More...
 
LINPHONECXX_PUBLIC std::string getName () const
 Returns the name of the device. More...
 
LINPHONECXX_PUBLIC void * getNativeVideoWindowId () const
 Gets the native window ID where video for this participant device is to be rendered. More...
 
LINPHONECXX_PUBLIC void setNativeVideoWindowId (void *windowId)
 Sets the the native window ID where video for this participant device is to be rendered. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ParticipantgetParticipant () const
 Returns the Participant this ParticipantDevice belongs to. More...
 
LINPHONECXX_PUBLIC bool screenSharingEnabled () const
 Returns whether the participant device is screen sharing or not. More...
 
LINPHONECXX_PUBLIC linphone::ChatRoom::SecurityLevel getSecurityLevel () const
 Gets the security level of a participant's device. More...
 
LINPHONECXX_PUBLIC State getState () const
 Gets the state of a participant device. More...
 
LINPHONECXX_PUBLIC uint32_t getThumbnailSsrc () const
 Get the thumbnail stream SSRC of the device. More...
 
LINPHONECXX_PUBLIC bool getThumbnailStreamAvailability () const
 Gets the thumbnail stream availability of the device. More...
 
LINPHONECXX_PUBLIC linphone::MediaDirection getThumbnailStreamCapability () const
 Gets the thumbnail stream capability of the device. More...
 
LINPHONECXX_PUBLIC std::string getThumbnailStreamLabel () const
 Gets the thumbnail stream label of the device. More...
 
LINPHONECXX_PUBLIC time_t getTimeOfDisconnection () const
 Gets the timestamp the device left a conference. More...
 
LINPHONECXX_PUBLIC time_t getTimeOfJoining () const
 Gets the timestamp the device joined a conference. More...
 
LINPHONECXX_PUBLIC void * createNativeVideoWindowId (void *context)
 Creates a window ID and return it. More...
 
LINPHONECXX_PUBLIC void * createNativeVideoWindowId ()
 Creates 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
 Gets the stream availability of the device. More...
 
LINPHONECXX_PUBLIC linphone::MediaDirection getStreamCapability (linphone::StreamType streamType) const
 Gets the stream capability of the device. More...
 
LINPHONECXX_PUBLIC std::string getStreamLabel (linphone::StreamType streamType) const
 Gets the stream label 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.

RequestingToJoin 

the participant has sent a request to join the conference as he/she didn't receive any invitation for

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() [1/2]

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

Creates a window ID and return it.

See also
Core::setNativeVideoWindowId() for a general discussion about window IDs. A context can be used to prevent Linphone from allocating the container (#MSOglContextInfo for MSOGL). nullptr if not used.
Parameters
contextpreallocated Window ID (Used only for MSOGL)
Returns
the native video window id (type may vary depending on platform).

◆ createNativeVideoWindowId() [2/2]

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

Creates a window ID and return it.

See also
Core::setNativeVideoWindowId() for a general discussion about window IDs.
Returns
the native video window id (type may vary depending on platform).

◆ getAddress()

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

Gets the address of a participant's device.

Returns
The Address of the participant's device

◆ getDisconnectionMethod()

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

Gets the disconnection method.

Returns
disconnection method DisconnectionMethod

◆ getDisconnectionReason()

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

Gets the disconnection reason.

Returns
disconnection reason

◆ getIsMuted()

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

Returns 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

Returns 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

Gets 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

Returns the name of the device.

Returns
the name of the device or nullptr.

◆ getNativeVideoWindowId()

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

Gets the native window ID where video for this participant device is to be rendered.

Returns
the window ID of the device

◆ getParticipant()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::Participant> linphone::ParticipantDevice::getParticipant ( ) const

Returns the Participant this ParticipantDevice belongs to.

Returns
the Participant this device belongs to

◆ getSecurityLevel()

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

Gets 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 stream's SSRC of the device

◆ getState()

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

Gets the state of a participant device.

Returns
The State of the device

◆ getStreamAvailability()

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

Gets 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

Gets 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

◆ getStreamLabel()

LINPHONECXX_PUBLIC std::string linphone::ParticipantDevice::getStreamLabel ( linphone::StreamType  streamType) const

Gets the stream label 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 label of stream of type stream_type of the device

◆ getThumbnailSsrc()

LINPHONECXX_PUBLIC uint32_t linphone::ParticipantDevice::getThumbnailSsrc ( ) const

Get the thumbnail stream SSRC of the device.

Returns
the thumbnail stream's SSRC of the device

◆ getThumbnailStreamAvailability()

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

Gets the thumbnail 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

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

◆ getThumbnailStreamCapability()

LINPHONECXX_PUBLIC linphone::MediaDirection linphone::ParticipantDevice::getThumbnailStreamCapability ( ) const

Gets the thumbnail stream capability of the device.

Returns
the capability of the thumbnail stream of the device MediaDirection

◆ getThumbnailStreamLabel()

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

Gets the thumbnail stream label of the device.

Returns
the label of the thumbnail stream of the device

◆ getTimeOfDisconnection()

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

Gets 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:00:00 of the 1st of January 1970

◆ getTimeOfJoining()

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

Gets the timestamp the device joined a conference.

Returns
time of joining a conference expressed as a number of seconds since 00:00:00 of the 1st of January 1970

◆ isInConference()

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

Returns 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

◆ screenSharingEnabled()

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

Returns whether the participant device is screen sharing or not.

Returns
true if the participant device is screen sharing, false otherwise.

◆ setNativeVideoWindowId()

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

Sets the the native window ID where video for this participant device is to be rendered.

Parameters
windowIdthe window ID of the device

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