namespace Renci.SshNet.Messages.Authentication { /// /// Represents SSH_MSG_USERAUTH_PASSWD_CHANGEREQ message. /// [Message("SSH_MSG_USERAUTH_PASSWD_CHANGEREQ", 60)] internal class PasswordChangeRequiredMessage : Message { #if TUNING /// /// Gets password change request message as UTF-8 encoded byte array. /// public byte[] Message { get; private set; } #else /// /// Gets password change request message. /// public string Message { get; private set; } #endif #if TUNING /// /// Gets message language as UTF-8 encoded byte array. /// public byte[] Language { get; private set; } #else /// /// Gets message language. /// public string Language { get; private set; } #endif #if TUNING /// /// Gets the size of the message in bytes. /// /// /// The size of the messages in bytes. /// protected override int BufferCapacity { get { var capacity = base.BufferCapacity; capacity += 4; // Message length capacity += Message.Length; // Message capacity += 4; // Language length capacity += Language.Length; // Language return capacity; } } #endif /// /// Called when type specific data need to be loaded. /// protected override void LoadData() { #if TUNING Message = ReadBinary(); Language = ReadBinary(); #else Message = ReadString(); Language = ReadString(); #endif } /// /// Called when type specific data need to be saved. /// protected override void SaveData() { #if TUNING WriteBinaryString(Message); WriteBinaryString(Language); #else Write(Message); Write(Language); #endif } } }