21#include <unordered_map>
23#include "livekit/participant.h"
24#include "livekit/visibility.h"
28class RemoteTrackPublication;
33 using PublicationMap = std::unordered_map<std::string, std::shared_ptr<RemoteTrackPublication>>;
36 std::unordered_map<std::string, std::string> attributes,
ParticipantKind kind,
45 std::string toString()
const;
54 PublicationMap track_publications_;
RAII wrapper for an FFI handle (uintptr_t) coming from Rust.
Definition ffi_handle.h:29
Base class for local and remote room participants.
Definition participant.h:34
Represents a remote participant in a LiveKit room.
Definition remote_participant.h:31
std::shared_ptr< TrackPublication > findTrackPublication(const std::string &sid) const override
Called by Room events like kTrackMuted.
PublicationMap & mutableTrackPublications() noexcept
Optional: non-const access if you want to mutate in-place.
Definition remote_participant.h:43
const PublicationMap & trackPublications() const noexcept
A dictionary of track publications associated with the participant.
Definition remote_participant.h:40
Represents a LiveKit room session.
Definition room.h:98
Public API for the LiveKit C++ Client SDK.
Definition audio_frame.h:25
LIVEKIT_API std::ostream & operator<<(std::ostream &os, const RemoteParticipant &participant)
Convenience for logging / streaming.
ParticipantKind
Identifies the type of participant connected to a room.
Definition participant.h:31
DisconnectReason
Reason why a participant or room was disconnected.
Definition room_event_types.h:80