using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Microsoft.Xna.Framework.Net { /// /// Represents an available network session that can be joined. /// public class AvailableNetworkSession { public AvailableNetworkSession( string sessionName, string hostGamertag, int currentGamerCount, int openPublicGamerSlots, int openPrivateGamerSlots, NetworkSessionType sessionType, IDictionary sessionProperties, string sessionId) { SessionName = sessionName; HostGamertag = hostGamertag; CurrentGamerCount = currentGamerCount; OpenPublicGamerSlots = openPublicGamerSlots; OpenPrivateGamerSlots = openPrivateGamerSlots; SessionType = sessionType; SessionProperties = new Dictionary(sessionProperties); SessionId = sessionId; } /// /// Gets the unique session ID. /// public string SessionId { get; } /// /// Gets the name of the session. /// public string SessionName { get; } /// /// Gets the gamertag of the host. /// public string HostGamertag { get; } /// /// Gets the current number of gamers in the session. /// public int CurrentGamerCount { get; } /// /// Gets the number of open public gamer slots. /// public int OpenPublicGamerSlots { get; } /// /// Gets the number of open private gamer slots. /// public int OpenPrivateGamerSlots { get; } /// /// Gets the type of the session. /// public NetworkSessionType SessionType { get; } /// /// Gets the session properties. /// public IDictionary SessionProperties { get; } /// /// Gets the quality of service information. /// public QualityOfService QualityOfService { get; internal set; } = new QualityOfService(); } }