| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- using System;
- namespace Renci.SshNet.Messages.Authentication
- {
- /// <summary>
- /// Represents SSH_MSG_USERAUTH_BANNER message.
- /// </summary>
- [Message("SSH_MSG_USERAUTH_BANNER", 53)]
- public class BannerMessage : Message
- {
- #if TUNING
- private byte[] _message;
- private byte[] _language;
- #endif
- /// <summary>
- /// Gets banner message.
- /// </summary>
- #if TUNING
- public string Message
- {
- get { return Utf8.GetString(_message); }
- }
- #else
- public string Message { get; private set; }
- #endif
- /// <summary>
- /// Gets banner language.
- /// </summary>
- #if TUNING
- public string Language
- {
- get { return Utf8.GetString(_language); }
- }
- #else
- public string Language { get; private set; }
- #endif
- #if TUNING
- /// <summary>
- /// Gets the size of the message in bytes.
- /// </summary>
- /// <value>
- /// The size of the messages in bytes.
- /// </value>
- 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
- /// <summary>
- /// Called when type specific data need to be loaded.
- /// </summary>
- protected override void LoadData()
- {
- #if TUNING
- _message = ReadBinary();
- _language = ReadBinary();
- #else
- Message = ReadString();
- Language = ReadString();
- #endif
- }
- /// <summary>
- /// Called when type specific data need to be saved.
- /// </summary>
- protected override void SaveData()
- {
- #if TUNING
- WriteBinaryString(_message);
- WriteBinaryString(_language);
- #else
- Write(Message);
- Write(Language);
- #endif
- }
- }
- }
|