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();
}
}