// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.P2P { /// /// Structure containing information about who would like to close a connection, and which connection. /// public class CloseConnectionOptions { /// /// The Product User ID of the local user who would like to close a previously accepted connection (or decline a pending invite) /// public ProductUserId LocalUserId { get; set; } /// /// The Product User ID of the remote user to disconnect from (or to reject a pending invite from) /// public ProductUserId RemoteUserId { get; set; } /// /// The socket ID of the connection to close (or optionally NULL to not accept any connection requests from the Remote User) /// public SocketId SocketId { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct CloseConnectionOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LocalUserId; private System.IntPtr m_RemoteUserId; private System.IntPtr m_SocketId; public ProductUserId LocalUserId { set { Helper.TryMarshalSet(ref m_LocalUserId, value); } } public ProductUserId RemoteUserId { set { Helper.TryMarshalSet(ref m_RemoteUserId, value); } } public SocketId SocketId { set { Helper.TryMarshalSet(ref m_SocketId, value); } } public void Set(CloseConnectionOptions other) { if (other != null) { m_ApiVersion = P2PInterface.CloseconnectionApiLatest; LocalUserId = other.LocalUserId; RemoteUserId = other.RemoteUserId; SocketId = other.SocketId; } } public void Set(object other) { Set(other as CloseConnectionOptions); } public void Dispose() { Helper.TryMarshalDispose(ref m_LocalUserId); Helper.TryMarshalDispose(ref m_RemoteUserId); Helper.TryMarshalDispose(ref m_SocketId); } } }