| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- using System.Runtime.InteropServices;
 
- using System;
 
- using System.Globalization;
 
- namespace WinSCP
 
- {
 
-     [Guid("0ADAAEBC-4A15-4A9C-8ED4-D85F5630035C")]
 
-     [ComVisible(true)]
 
-     public enum TransferResumeSupportState
 
-     {
 
-         Default,
 
-         On,
 
-         Off,
 
-         Smart
 
-     }
 
-     [Guid("6CED4579-0DF2-4E46-93E9-18780546B421")]
 
-     [ClassInterface(Constants.ClassInterface)]
 
-     [ComVisible(true)]
 
-     public sealed class TransferResumeSupport
 
-     {
 
-         public TransferResumeSupportState State { get; set; }
 
-         public int Threshold { get { return GetThreshold(); } set { SetThreshold(value); } }
 
-         public TransferResumeSupport()
 
-         {
 
-             State = TransferResumeSupportState.Default;
 
-             _threshold = 100; // (100 KB)
 
-         }
 
-         public override string ToString()
 
-         {
 
-             string result;
 
-             switch (State)
 
-             {
 
-                 case TransferResumeSupportState.Default:
 
-                     result = "default";
 
-                     break;
 
-                 case TransferResumeSupportState.Off:
 
-                     result = "off";
 
-                     break;
 
-                 case TransferResumeSupportState.On:
 
-                     result = "on";
 
-                     break;
 
-                 case TransferResumeSupportState.Smart:
 
-                     result = Threshold.ToString(CultureInfo.InvariantCulture);
 
-                     break;
 
-                 default:
 
-                     result = "unknown";
 
-                     break;
 
-             }
 
-             return result;
 
-         }
 
-         private int GetThreshold()
 
-         {
 
-             if (State != TransferResumeSupportState.Smart)
 
-             {
 
-                 throw new InvalidOperationException("Threshold is undefined when state is not Smart");
 
-             }
 
-             return _threshold;
 
-         }
 
-         private void SetThreshold(int threshold)
 
-         {
 
-             if (_threshold != threshold)
 
-             {
 
-                 if (threshold <= 0)
 
-                 {
 
-                     throw new ArgumentOutOfRangeException("threshold", "Threshold must be positive");
 
-                 }
 
-                 State = TransferResumeSupportState.Smart;
 
-                 _threshold = threshold;
 
-             }
 
-         }
 
-         private int _threshold;
 
-     }
 
- }
 
 
  |