using System;
namespace MediaBrowser.Model.QuickConnect
{
    /// 
    /// Stores the state of an quick connect request.
    /// 
    public class QuickConnectResult
    {
        /// 
        /// Initializes a new instance of the  class.
        /// 
        /// The secret used to query the request state.
        /// The code used to allow the request.
        /// The time when the request was created.
        /// The requesting device id.
        /// The requesting device name.
        /// The requesting app name.
        /// The requesting app version.
        public QuickConnectResult(
            string secret,
            string code,
            DateTime dateAdded,
            string deviceId,
            string deviceName,
            string appName,
            string appVersion)
        {
            Secret = secret;
            Code = code;
            DateAdded = dateAdded;
            DeviceId = deviceId;
            DeviceName = deviceName;
            AppName = appName;
            AppVersion = appVersion;
        }
        /// 
        /// Gets or sets a value indicating whether this request is authorized.
        /// 
        public bool Authenticated { get; set; }
        /// 
        /// Gets the secret value used to uniquely identify this request. Can be used to retrieve authentication information.
        /// 
        public string Secret { get; }
        /// 
        /// Gets the user facing code used so the user can quickly differentiate this request from others.
        /// 
        public string Code { get; }
        /// 
        /// Gets the requesting device id.
        /// 
        public string DeviceId { get; }
        /// 
        /// Gets the requesting device name.
        /// 
        public string DeviceName { get; }
        /// 
        /// Gets the requesting app name.
        /// 
        public string AppName { get; }
        /// 
        /// Gets the requesting app version.
        /// 
        public string AppVersion { get; }
        /// 
        /// Gets or sets the DateTime that this request was created.
        /// 
        public DateTime DateAdded { get; set; }
    }
}