// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.RTC { /// /// This struct is used to call . /// public class JoinRoomOptions { /// /// The product user id of the user trying to request this operation. /// public ProductUserId LocalUserId { get; set; } /// /// The room the user would like to join. /// public string RoomName { get; set; } /// /// The room the user would like to join. /// public string ClientBaseUrl { get; set; } /// /// Authorization credential token to join the room. /// public string ParticipantToken { get; set; } /// /// The participant id used to join the room. If set to NULL the LocalUserId will be used instead. /// public ProductUserId ParticipantId { get; set; } /// /// Join room flags, e.g. . This is a bitwise-or union of the defined flags. /// public JoinRoomFlags Flags { get; set; } /// /// Enable or disable Manual Audio Input. If manual audio input is enabled audio recording is not started and the audio /// buffers must be passed manually using . /// public bool ManualAudioInputEnabled { get; set; } /// /// Enable or disable Manual Audio Output. If manual audio output is enabled audio rendering is not started and the audio /// buffers must be received with and rendered manually. /// public bool ManualAudioOutputEnabled { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct JoinRoomOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LocalUserId; private System.IntPtr m_RoomName; private System.IntPtr m_ClientBaseUrl; private System.IntPtr m_ParticipantToken; private System.IntPtr m_ParticipantId; private JoinRoomFlags m_Flags; private int m_ManualAudioInputEnabled; private int m_ManualAudioOutputEnabled; public ProductUserId LocalUserId { set { Helper.TryMarshalSet(ref m_LocalUserId, value); } } public string RoomName { set { Helper.TryMarshalSet(ref m_RoomName, value); } } public string ClientBaseUrl { set { Helper.TryMarshalSet(ref m_ClientBaseUrl, value); } } public string ParticipantToken { set { Helper.TryMarshalSet(ref m_ParticipantToken, value); } } public ProductUserId ParticipantId { set { Helper.TryMarshalSet(ref m_ParticipantId, value); } } public JoinRoomFlags Flags { set { m_Flags = value; } } public bool ManualAudioInputEnabled { set { Helper.TryMarshalSet(ref m_ManualAudioInputEnabled, value); } } public bool ManualAudioOutputEnabled { set { Helper.TryMarshalSet(ref m_ManualAudioOutputEnabled, value); } } public void Set(JoinRoomOptions other) { if (other != null) { m_ApiVersion = RTCInterface.JoinroomApiLatest; LocalUserId = other.LocalUserId; RoomName = other.RoomName; ClientBaseUrl = other.ClientBaseUrl; ParticipantToken = other.ParticipantToken; ParticipantId = other.ParticipantId; Flags = other.Flags; ManualAudioInputEnabled = other.ManualAudioInputEnabled; ManualAudioOutputEnabled = other.ManualAudioOutputEnabled; } } public void Set(object other) { Set(other as JoinRoomOptions); } public void Dispose() { Helper.TryMarshalDispose(ref m_LocalUserId); Helper.TryMarshalDispose(ref m_RoomName); Helper.TryMarshalDispose(ref m_ClientBaseUrl); Helper.TryMarshalDispose(ref m_ParticipantToken); Helper.TryMarshalDispose(ref m_ParticipantId); } } }