namespace Renci.SshNet.Messages.Connection
{
    /// 
    /// Represents "signal" type channel request information
    /// 
    internal class SignalRequestInfo : RequestInfo
    {
        /// 
        /// Channel request name.
        /// 
        public const string NAME = "signal";
        /// 
        /// Gets the name of the request.
        /// 
        /// 
        /// The name of the request.
        /// 
        public override string RequestName
        {
            get { return SignalRequestInfo.NAME; }
        }
        /// 
        /// Gets the name of the signal.
        /// 
        /// 
        /// The name of the signal.
        /// 
        public string SignalName { get; private set; }
        /// 
        /// Initializes a new instance of the  class.
        /// 
        public SignalRequestInfo()
        {
            this.WantReply = false;
        }
        /// 
        /// Initializes a new instance of the  class.
        /// 
        /// Name of the signal.
        public SignalRequestInfo(string signalName)
            : this()
        {
            this.SignalName = signalName;
        }
        /// 
        /// Called when type specific data need to be loaded.
        /// 
        protected override void LoadData()
        {
            base.LoadData();
            this.SignalName = this.ReadAsciiString();
        }
        /// 
        /// Called when type specific data need to be saved.
        /// 
        protected override void SaveData()
        {
            base.SaveData();
            this.WriteAscii(this.SignalName);
        }
    }
}