// 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 get information about a specific participant metadata item. /// public struct ParticipantMetadata { /// /// The unique key of this metadata item. The max size of the string is . /// public Utf8String Key { get; set; } /// /// The value of this metadata item. The max size of the string is . /// public Utf8String Value { get; set; } internal void Set(ref ParticipantMetadataInternal other) { Key = other.Key; Value = other.Value; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct ParticipantMetadataInternal : IGettable, ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_Key; private System.IntPtr m_Value; public Utf8String Key { get { Utf8String value; Helper.Get(m_Key, out value); return value; } set { Helper.Set(value, ref m_Key); } } public Utf8String Value { get { Utf8String value; Helper.Get(m_Value, out value); return value; } set { Helper.Set(value, ref m_Value); } } public void Set(ref ParticipantMetadata other) { m_ApiVersion = RTCInterface.ParticipantmetadataApiLatest; Key = other.Key; Value = other.Value; } public void Set(ref ParticipantMetadata? other) { if (other.HasValue) { m_ApiVersion = RTCInterface.ParticipantmetadataApiLatest; Key = other.Value.Key; Value = other.Value.Value; } } public void Dispose() { Helper.Dispose(ref m_Key); Helper.Dispose(ref m_Value); } public void Get(out ParticipantMetadata output) { output = new ParticipantMetadata(); output.Set(ref this); } } }