Liblinphone  4.5.0
Public Types | Public Member Functions | List of all members
linphone::ChatRoom Class Reference

A chat room is the place where ChatMessage are exchanged. More...

#include <chat_room.hh>

Inheritance diagram for linphone::ChatRoom:

Public Types

enum  State {
  State::None,
  State::Instantiated,
  State::CreationPending,
  State::Created,
  State::CreationFailed,
  State::TerminationPending,
  State::Terminated,
  State::TerminationFailed,
  State::Deleted
}
 State is used to indicate the current state of a chat room. More...
 

Public Member Functions

 ChatRoom (void *ptr, bool takeRef=true)
 
LINPHONECXX_PUBLIC _LinphoneChatRoom * cPtr ()
 
LINPHONECXX_PUBLIC void addListener (const std::shared_ptr< ChatRoomListener > &listener)
 
LINPHONECXX_PUBLIC void removeListener (const std::shared_ptr< ChatRoomListener > &listener)
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::CallgetCall () const
 Gets the current call associated to this chatroom if any To commit a message, use linphone_chat_room_send_message. More...
 
LINPHONECXX_PUBLIC unsigned int getCapabilities () const
 Get the capabilities of a chat room. More...
 
LINPHONECXX_PUBLIC uint32_t getChar ()
 When realtime text is enabled CallParams::realtimeTextEnabled(), LinphoneCoreIsComposingReceivedCb is call everytime a char is received from peer. More...
 
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Address > > getComposingAddresses ()
 Gets the list of participants that are currently composing. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AddressgetConferenceAddress () const
 Get the conference address of the chat room. More...
 
LINPHONECXX_PUBLIC void setConferenceAddress (const std::shared_ptr< const linphone::Address > &conferenceAddress)
 Set the conference address of a group chat room. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::CoregetCore () const
 Returns back pointer to Core object. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::ChatRoomParamsgetCurrentParams () const
 Returns current parameters associated with the chat room. More...
 
LINPHONECXX_PUBLIC bool ephemeralEnabled () const
 Returns whether or not the ephemeral message feature is enabled in the chat room. More...
 
LINPHONECXX_PUBLIC void enableEphemeral (bool enable)
 Enable or disable the ephemeral message feature in the chat room. More...
 
LINPHONECXX_PUBLIC long getEphemeralLifetime () const
 Get lifetime (in seconds) for all new ephemeral messages in the chat room. More...
 
LINPHONECXX_PUBLIC void setEphemeralLifetime (long time)
 Set lifetime (in seconds) for all new ephemral messages in the chat room. More...
 
LINPHONECXX_PUBLIC int getHistoryEventsSize ()
 Gets the number of events in a chat room. More...
 
LINPHONECXX_PUBLIC int getHistorySize ()
 Gets the number of messages in a chat room. More...
 
LINPHONECXX_PUBLIC bool isEmpty ()
 Returns whether or not a ChatRoom has at least one ChatMessage or not. More...
 
LINPHONECXX_PUBLIC bool isRemoteComposing () const
 Tells whether the remote is currently composing a message. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatMessagegetLastMessageInHistory ()
 Gets the last chat message sent or received in this chat room. More...
 
LINPHONECXX_PUBLIC time_t getLastUpdateTime () const
 Return the last updated time for the chat room. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AddressgetLocalAddress ()
 Get the local address associated to this chat room. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ParticipantgetMe () const
 Get the participant representing myself in the chat room. More...
 
LINPHONECXX_PUBLIC int getNbParticipants () const
 Get the number of participants in the chat room (that is without ourselves). More...
 
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::Participant > > getParticipants () const
 Get the list of participants of a chat room. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< const linphone::AddressgetPeerAddress ()
 Get the peer address associated to this chat room. More...
 
LINPHONECXX_PUBLIC linphone::ChatRoomSecurityLevel getSecurityLevel ()
 Get the security level of a chat room. More...
 
LINPHONECXX_PUBLIC State getState () const
 Get the state of the chat room. More...
 
LINPHONECXX_PUBLIC std::string getSubject () const
 Get the subject of a chat room. More...
 
LINPHONECXX_PUBLIC void setSubject (const std::string &subject)
 Set the subject of a chat room. More...
 
LINPHONECXX_PUBLIC int getUnreadMessagesCount ()
 Gets the number of unread messages in the chatroom. More...
 
LINPHONECXX_PUBLIC void addParticipant (const std::shared_ptr< const linphone::Address > &addr)
 Add a participant to a chat room. More...
 
LINPHONECXX_PUBLIC bool addParticipants (const std::list< std::shared_ptr< linphone::Address >> &addresses)
 Add several participants to a chat room at once. More...
 
LINPHONECXX_PUBLIC void allowCpim ()
 Allow cpim on a basic chat room .
 
LINPHONECXX_PUBLIC void allowMultipart ()
 Allow multipart on a basic chat room .
 
LINPHONECXX_PUBLIC bool canHandleParticipants () const
 Tells whether a chat room is able to handle participants. More...
 
LINPHONECXX_PUBLIC void compose ()
 Notifies the destination of the chat message being composed that the user is typing a new message.
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatMessagecreateEmptyMessage ()
 Creates an empty message attached to the given chat room. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatMessagecreateFileTransferMessage (const std::shared_ptr< linphone::Content > &initialContent)
 Creates a message attached to the given chat room with a particular content. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatMessagecreateForwardMessage (const std::shared_ptr< linphone::ChatMessage > &message)
 Creates a forward message attached to the given chat room with a particular message. More...
 
LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr< linphone::ChatMessagecreateMessage (const std::string &message)
 Creates a message attached to the given chat room with a plain text content filled with the given message. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatMessagecreateMessageFromUtf8 (const std::string &message)
 Creates a message attached to the given chat room with a plain text content filled with the given message. More...
 
LINPHONECXX_PUBLIC void deleteHistory ()
 Delete all messages from the history.
 
LINPHONECXX_PUBLIC void deleteMessage (const std::shared_ptr< linphone::ChatMessage > &message)
 Delete a message from the chat room history. More...
 
LINPHONECXX_PUBLIC bool ephemeralSupportedByAllParticipants () const
 Uses linphone spec to check if all participants support ephemeral messages. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ChatMessagefindMessage (const std::string &messageId)
 Gets the chat message sent or received in this chat room that matches the message_id. More...
 
LINPHONECXX_PUBLIC std::shared_ptr< linphone::ParticipantfindParticipant (const std::shared_ptr< const linphone::Address > &address) const
 Find a participant of a chat room from its address. More...
 
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ChatMessage > > getHistory (int nbMessage)
 Gets nb_message most recent messages from chat_room chat room, sorted from oldest to most recent. More...
 
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::EventLog > > getHistoryEvents (int nbEvents)
 Gets nb_events most recent events from chat_room chat room, sorted from oldest to most recent. More...
 
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::EventLog > > getHistoryMessageEvents (int nbEvents)
 Gets nb_events most recent chat message events from chat_room chat room, sorted from oldest to most recent. More...
 
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::ChatMessage > > getHistoryRange (int begin, int end)
 Gets the partial list of messages in the given range, sorted from oldest to most recent. More...
 
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::EventLog > > getHistoryRangeEvents (int begin, int end)
 Gets the partial list of events in the given range, sorted from oldest to most recent. More...
 
LINPHONECXX_PUBLIC std::list< std::shared_ptr< linphone::EventLog > > getHistoryRangeMessageEvents (int begin, int end)
 Gets the partial list of chat message events in the given range, sorted from oldest to most recent. More...
 
LINPHONECXX_PUBLIC bool hasBeenLeft () const
 Return whether or not the chat room has been left. More...
 
LINPHONECXX_PUBLIC bool hasCapability (int mask) const
 Check if a chat room has given capabilities. More...
 
LINPHONECXX_PUBLIC void leave ()
 Leave a chat room.
 
LINPHONECXX_PUBLIC bool limeAvailable ()
 Returns wether lime is available for given peer or not.
 
LINPHONECXX_PUBLIC void markAsRead ()
 Mark all messages of the conversation as read.
 
LINPHONECXX_PUBLIC void notifyParticipantDeviceRegistration (const std::shared_ptr< const linphone::Address > &participantDevice)
 Notify the chatroom that a participant device has just registered. More...
 
LINPHONECXX_PUBLIC void receiveChatMessage (const std::shared_ptr< linphone::ChatMessage > &message)
 Used to receive a chat message when using async mechanism with IM enchat_roomyption engine. More...
 
LINPHONECXX_PUBLIC void removeParticipant (const std::shared_ptr< linphone::Participant > &participant)
 Remove a participant of a chat room. More...
 
LINPHONECXX_PUBLIC void removeParticipants (const std::list< std::shared_ptr< linphone::Participant >> &participants)
 Remove several participants of a chat room at once. More...
 
LINPHONECXX_PUBLIC void setParticipantAdminStatus (const std::shared_ptr< linphone::Participant > &participant, bool isAdmin)
 Change the admin status of a participant of a chat room (you need to be an admin yourself to do this). More...
 
LINPHONECXX_PUBLIC void setParticipantDevices (const std::shared_ptr< const linphone::Address > &participantAddress, const std::list< std::shared_ptr< linphone::ParticipantDeviceIdentity >> &deviceIdentities)
 Set the list of participant devices in the form of SIP URIs with GRUUs for a given participant. More...
 

Detailed Description

A chat room is the place where ChatMessage are exchanged.

To create (or find) a ChatRoom, you first need a ChatRoomParams object. A chat room is uniquely identified by it's local and remote SIP addresses, meaning you can only have one chat room between two accounts (unless the backend is ChatRoomBackend::FlexisipChat). Then you can call Core::searchChatRoom() or Core::createChatRoom(). Be careful as a ChatRoomBackend::FlexisipChat backend ChatRoom will be created asynchronously, so make sure you add a LinphoneChatRoomCbs to the returned object to be notified when it will be in state State::Created. All chat rooms are loaded from database when the Core starts, and you can get them using Core::getChatRooms(). This method doesn't return empty chat rooms nor ones for which the local address doesn't match an existing ProxyConfig identity, unless you specify otherwise in the [misc] section of your configuration file by setting hide_empty_chat_rooms=0 and/or hide_chat_rooms_from_removed_proxies=0.

Member Enumeration Documentation

◆ State

State is used to indicate the current state of a chat room.

Enumerator
None 

Initial state.

Instantiated 

Chat room is now instantiated on local.

CreationPending 

One creation request was sent to the server.

Created 

Chat room was created on the server.

CreationFailed 

Chat room creation failed.

TerminationPending 

Wait for chat room termination.

Terminated 

Chat room exists on server but not in local.

TerminationFailed 

The chat room termination failed.

Deleted 

Chat room was deleted on the server.

Member Function Documentation

◆ addParticipant()

LINPHONECXX_PUBLIC void linphone::ChatRoom::addParticipant ( const std::shared_ptr< const linphone::Address > &  addr)

Add a participant to a chat room.

This may fail if this type of chat room does not handle participants. Use canHandleParticipants() to know if this chat room handles participants.

Parameters
addrThe address of the participant to add to the chat room

◆ addParticipants()

LINPHONECXX_PUBLIC bool linphone::ChatRoom::addParticipants ( const std::list< std::shared_ptr< linphone::Address >> &  addresses)

Add several participants to a chat room at once.

This may fail if this type of chat room does not handle participants. Use canHandleParticipants() to know if this chat room handles participants.

Parameters
addressesThe participants to add.
Returns
true if everything is OK, false otherwise

◆ canHandleParticipants()

LINPHONECXX_PUBLIC bool linphone::ChatRoom::canHandleParticipants ( ) const

Tells whether a chat room is able to handle participants.

Returns
true if the chat room can handle participants, false otherwise

◆ createEmptyMessage()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::ChatMessage> linphone::ChatRoom::createEmptyMessage ( )

Creates an empty message attached to the given chat room.

Returns
a new ChatMessage

◆ createFileTransferMessage()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::ChatMessage> linphone::ChatRoom::createFileTransferMessage ( const std::shared_ptr< linphone::Content > &  initialContent)

Creates a message attached to the given chat room with a particular content.

Use linphone_chat_room_send_message to initiate the transfer

Parameters
initialContentContent initial content.
Returns
a new ChatMessage

◆ createForwardMessage()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::ChatMessage> linphone::ChatRoom::createForwardMessage ( const std::shared_ptr< linphone::ChatMessage > &  message)

Creates a forward message attached to the given chat room with a particular message.

Parameters
messageChatMessage message to be forwarded.
Returns
a new ChatMessage

◆ createMessage()

LINPHONECXX_PUBLIC LINPHONECXX_DEPRECATED std::shared_ptr<linphone::ChatMessage> linphone::ChatRoom::createMessage ( const std::string &  message)

Creates a message attached to the given chat room with a plain text content filled with the given message.

Parameters
messagetext message, nullptr if absent.
Returns
a new ChatMessage
Deprecated:
01/07/2020. Use createMessageFromUtf8() instead.

◆ createMessageFromUtf8()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::ChatMessage> linphone::ChatRoom::createMessageFromUtf8 ( const std::string &  message)

Creates a message attached to the given chat room with a plain text content filled with the given message.

Introduced in 01/07/2020

Parameters
messagetext message in UTF8, nullptr if absent.
Returns
a new ChatMessage

◆ deleteMessage()

LINPHONECXX_PUBLIC void linphone::ChatRoom::deleteMessage ( const std::shared_ptr< linphone::ChatMessage > &  message)

Delete a message from the chat room history.

Parameters
messageThe ChatMessage object to remove.

◆ enableEphemeral()

LINPHONECXX_PUBLIC void linphone::ChatRoom::enableEphemeral ( bool  enable)

Enable or disable the ephemeral message feature in the chat room.

Works only for conference based chat room. An ephemeral message will automatically disappear from the recipient's schat_roomeen after the message has been viewed.

Parameters
enabletrue if the ephemeral message feature is enabled, false otherwise.

◆ ephemeralEnabled()

LINPHONECXX_PUBLIC bool linphone::ChatRoom::ephemeralEnabled ( ) const

Returns whether or not the ephemeral message feature is enabled in the chat room.

Returns
true if ephemeral is enabled, false otherwise.

◆ ephemeralSupportedByAllParticipants()

LINPHONECXX_PUBLIC bool linphone::ChatRoom::ephemeralSupportedByAllParticipants ( ) const

Uses linphone spec to check if all participants support ephemeral messages.

It doesn't prevent to send ephemeral messages in the room but those who don't support it won't delete messages after lifetime has expired.

See also
ephemeralEnabled()
Returns
true if all participants in the chat room support ephemeral messages, false otherwise

◆ findMessage()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::ChatMessage> linphone::ChatRoom::findMessage ( const std::string &  messageId)

Gets the chat message sent or received in this chat room that matches the message_id.

Parameters
messageIdThe id of the message to find
Returns
the ChatMessage if found or nullptr.

◆ findParticipant()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::Participant> linphone::ChatRoom::findParticipant ( const std::shared_ptr< const linphone::Address > &  address) const

Find a participant of a chat room from its address.

Parameters
addressThe Address to search in the list of participants of the chat room
Returns
The participant if found, nullptr otherwise.

◆ getCall()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::Call> linphone::ChatRoom::getCall ( ) const

Gets the current call associated to this chatroom if any To commit a message, use linphone_chat_room_send_message.

Returns
Call or nullptr.

◆ getCapabilities()

LINPHONECXX_PUBLIC unsigned int linphone::ChatRoom::getCapabilities ( ) const

Get the capabilities of a chat room.

Returns
The capabilities of the chat room (as a LinphoneChatRoomCapabilitiesMask)

◆ getChar()

LINPHONECXX_PUBLIC uint32_t linphone::ChatRoom::getChar ( )

When realtime text is enabled CallParams::realtimeTextEnabled(), LinphoneCoreIsComposingReceivedCb is call everytime a char is received from peer.

At the end of remote typing a regular ChatMessage is received with committed data from LinphoneCoreMessageReceivedCb.

Returns
RFC 4103/T.140 char

◆ getComposingAddresses()

LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::Address> > linphone::ChatRoom::getComposingAddresses ( )

Gets the list of participants that are currently composing.

Returns
List of addresses that are in the is_composing state.

◆ getConferenceAddress()

LINPHONECXX_PUBLIC std::shared_ptr<const linphone::Address> linphone::ChatRoom::getConferenceAddress ( ) const

Get the conference address of the chat room.

Returns
The conference address of the chat room or nullptr if this type of chat room is not conference based.

◆ getCore()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::Core> linphone::ChatRoom::getCore ( ) const

Returns back pointer to Core object.

Returns
the Core object this chat room is attached to.

◆ getCurrentParams()

LINPHONECXX_PUBLIC std::shared_ptr<const linphone::ChatRoomParams> linphone::ChatRoom::getCurrentParams ( ) const

Returns current parameters associated with the chat room.

This is typically the parameters passed at chat room chat_roomeation to linphone_core_chat_roomeate_chat_room() or some default parameters if no ChatRoomParams was explicitely passed during chat room chat_roomeation.

Returns
the current ChatRoomParams parameters.

◆ getEphemeralLifetime()

LINPHONECXX_PUBLIC long linphone::ChatRoom::getEphemeralLifetime ( ) const

Get lifetime (in seconds) for all new ephemeral messages in the chat room.

After the message is read, it will be deleted after "time" seconds.

See also
ephemeralEnabled()
Returns
the ephemeral lifetime (in secoonds)

◆ getHistory()

LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::ChatMessage> > linphone::ChatRoom::getHistory ( int  nbMessage)

Gets nb_message most recent messages from chat_room chat room, sorted from oldest to most recent.

Parameters
nbMessageNumber of message to retrieve. 0 means everything.
Returns
A list of chat messages.

◆ getHistoryEvents()

LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::EventLog> > linphone::ChatRoom::getHistoryEvents ( int  nbEvents)

Gets nb_events most recent events from chat_room chat room, sorted from oldest to most recent.

Parameters
nbEventsNumber of events to retrieve. 0 means everything.
Returns
The list of the most recent events.

◆ getHistoryEventsSize()

LINPHONECXX_PUBLIC int linphone::ChatRoom::getHistoryEventsSize ( )

Gets the number of events in a chat room.

Returns
the number of events.

◆ getHistoryMessageEvents()

LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::EventLog> > linphone::ChatRoom::getHistoryMessageEvents ( int  nbEvents)

Gets nb_events most recent chat message events from chat_room chat room, sorted from oldest to most recent.

Parameters
nbEventsNumber of events to retrieve. 0 means everything.
Returns
A list

◆ getHistoryRange()

LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::ChatMessage> > linphone::ChatRoom::getHistoryRange ( int  begin,
int  end 
)

Gets the partial list of messages in the given range, sorted from oldest to most recent.

Parameters
endThe last message of the range to be retrieved. History oldest message has index of history size - 1 (use getHistorySize() to retrieve history size)
Returns
A list of chat messages.

◆ getHistoryRangeEvents()

LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::EventLog> > linphone::ChatRoom::getHistoryRangeEvents ( int  begin,
int  end 
)

Gets the partial list of events in the given range, sorted from oldest to most recent.

Parameters
endThe last event of the range to be retrieved. History oldest event has index of history size - 1
Returns
The list of the found events.

◆ getHistoryRangeMessageEvents()

LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::EventLog> > linphone::ChatRoom::getHistoryRangeMessageEvents ( int  begin,
int  end 
)

Gets the partial list of chat message events in the given range, sorted from oldest to most recent.

Parameters
endThe last event of the range to be retrieved. History oldest event has index of history size - 1
Returns
The list of chat message events.

◆ getHistorySize()

LINPHONECXX_PUBLIC int linphone::ChatRoom::getHistorySize ( )

Gets the number of messages in a chat room.

Returns
the number of messages.

◆ getLastMessageInHistory()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::ChatMessage> linphone::ChatRoom::getLastMessageInHistory ( )

Gets the last chat message sent or received in this chat room.

Returns
the latest ChatMessage or nullptr if no message.

◆ getLastUpdateTime()

LINPHONECXX_PUBLIC time_t linphone::ChatRoom::getLastUpdateTime ( ) const

Return the last updated time for the chat room.

Returns
the last updated time

◆ getLocalAddress()

LINPHONECXX_PUBLIC std::shared_ptr<const linphone::Address> linphone::ChatRoom::getLocalAddress ( )

Get the local address associated to this chat room.

Returns
The local address.

◆ getMe()

LINPHONECXX_PUBLIC std::shared_ptr<linphone::Participant> linphone::ChatRoom::getMe ( ) const

Get the participant representing myself in the chat room.

Returns
The participant representing myself in the conference or nullptr if me is not set.

◆ getNbParticipants()

LINPHONECXX_PUBLIC int linphone::ChatRoom::getNbParticipants ( ) const

Get the number of participants in the chat room (that is without ourselves).

Returns
The number of participants in the chat room

◆ getParticipants()

LINPHONECXX_PUBLIC std::list<std::shared_ptr<linphone::Participant> > linphone::ChatRoom::getParticipants ( ) const

Get the list of participants of a chat room.

Returns
A of the participants

◆ getPeerAddress()

LINPHONECXX_PUBLIC std::shared_ptr<const linphone::Address> linphone::ChatRoom::getPeerAddress ( )

Get the peer address associated to this chat room.

Returns
The peer address.

◆ getSecurityLevel()

LINPHONECXX_PUBLIC linphone::ChatRoomSecurityLevel linphone::ChatRoom::getSecurityLevel ( )

Get the security level of a chat room.

Returns
The current ChatRoomSecurityLevel of the chat room

◆ getState()

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

Get the state of the chat room.

Returns
The current State of the chat room

◆ getSubject()

LINPHONECXX_PUBLIC std::string linphone::ChatRoom::getSubject ( ) const

Get the subject of a chat room.

Returns
The subject of the chat room.

◆ getUnreadMessagesCount()

LINPHONECXX_PUBLIC int linphone::ChatRoom::getUnreadMessagesCount ( )

Gets the number of unread messages in the chatroom.

Returns
the number of unread messages.

◆ hasBeenLeft()

LINPHONECXX_PUBLIC bool linphone::ChatRoom::hasBeenLeft ( ) const

Return whether or not the chat room has been left.

Returns
true if the chat room has been left, false otherwise.

◆ hasCapability()

LINPHONECXX_PUBLIC bool linphone::ChatRoom::hasCapability ( int  mask) const

Check if a chat room has given capabilities.

Parameters
maska LinphoneChatRoomCapabilitiesMask mask
Returns
true if the mask matches, false otherwise

◆ isEmpty()

LINPHONECXX_PUBLIC bool linphone::ChatRoom::isEmpty ( )

Returns whether or not a ChatRoom has at least one ChatMessage or not.

Returns
true if there are no ChatMessage, false otherwise.

◆ isRemoteComposing()

LINPHONECXX_PUBLIC bool linphone::ChatRoom::isRemoteComposing ( ) const

Tells whether the remote is currently composing a message.

Returns
true if the remote is currently composing a message, false otherwise.

◆ notifyParticipantDeviceRegistration()

LINPHONECXX_PUBLIC void linphone::ChatRoom::notifyParticipantDeviceRegistration ( const std::shared_ptr< const linphone::Address > &  participantDevice)

Notify the chatroom that a participant device has just registered.

This function is meaningful only for server implementation of chatroom, and shall not by used by client applications.

Parameters
participantDevicelist of the participant devices to be used by the group chat room

◆ receiveChatMessage()

LINPHONECXX_PUBLIC void linphone::ChatRoom::receiveChatMessage ( const std::shared_ptr< linphone::ChatMessage > &  message)

Used to receive a chat message when using async mechanism with IM enchat_roomyption engine.

Parameters
messageChatMessage object

◆ removeParticipant()

LINPHONECXX_PUBLIC void linphone::ChatRoom::removeParticipant ( const std::shared_ptr< linphone::Participant > &  participant)

Remove a participant of a chat room.

Parameters
participantThe participant to remove from the chat room

◆ removeParticipants()

LINPHONECXX_PUBLIC void linphone::ChatRoom::removeParticipants ( const std::list< std::shared_ptr< linphone::Participant >> &  participants)

Remove several participants of a chat room at once.

Parameters
participantsThe participants to remove.

◆ setConferenceAddress()

LINPHONECXX_PUBLIC void linphone::ChatRoom::setConferenceAddress ( const std::shared_ptr< const linphone::Address > &  conferenceAddress)

Set the conference address of a group chat room.

This function needs to be called from the LinphoneChatRoomCbsConferenceAddressGenerationCb callback and only there. This function is meaningful only for server implementation of chatroom, and shall not by used by client applications.

Parameters
conferenceAddressThe conference Address to be used by the group chat room

◆ setEphemeralLifetime()

LINPHONECXX_PUBLIC void linphone::ChatRoom::setEphemeralLifetime ( long  time)

Set lifetime (in seconds) for all new ephemral messages in the chat room.

After the message is read, it will be deleted after "time" seconds.

See also
ephemeralEnabled()
Parameters
timeThe ephemral lifetime, default 24h, 86400s

◆ setParticipantAdminStatus()

LINPHONECXX_PUBLIC void linphone::ChatRoom::setParticipantAdminStatus ( const std::shared_ptr< linphone::Participant > &  participant,
bool  isAdmin 
)

Change the admin status of a participant of a chat room (you need to be an admin yourself to do this).

Parameters
isAdminA boolean value telling whether the participant should now be an admin or not

◆ setParticipantDevices()

LINPHONECXX_PUBLIC void linphone::ChatRoom::setParticipantDevices ( const std::shared_ptr< const linphone::Address > &  participantAddress,
const std::list< std::shared_ptr< linphone::ParticipantDeviceIdentity >> &  deviceIdentities 
)

Set the list of participant devices in the form of SIP URIs with GRUUs for a given participant.

This function is meaningful only for server implementation of chatroom, and shall not by used by client applications.

Parameters
deviceIdentitiesList of the participant devices to be used by the group chat room

◆ setSubject()

LINPHONECXX_PUBLIC void linphone::ChatRoom::setSubject ( const std::string &  subject)

Set the subject of a chat room.

Parameters
subjectThe new subject to set for the chat room

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