12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using System;
- using System.Collections.Generic;
- using System.Globalization;
- namespace WinSCP
- {
- internal static class Tools
- {
- public static int TimeSpanToMilliseconds(TimeSpan value)
- {
- if ((value.TotalMilliseconds > int.MaxValue) || (value.TotalMilliseconds < int.MinValue))
- {
- throw new InvalidCastException(string.Format(CultureInfo.CurrentCulture, "Cannot convert {0} to integer", value));
- }
- return (int)value.TotalMilliseconds;
- }
- public static TimeSpan MillisecondsToTimeSpan(int value)
- {
- return TimeSpan.FromMilliseconds(value);
- }
- public static string ArgumentEscape(string value)
- {
- int i = 0;
- while (i < value.Length)
- {
- if (value[i] == '"')
- {
- value = value.Insert(i, "\"");
- ++i;
- }
- ++i;
- }
- return value;
- }
- public static void AddRawParameters(
- ref string arguments, Dictionary<string, string> parameters, string switchName, bool count)
- {
- if (parameters.Count > 0)
- {
- if (!string.IsNullOrEmpty(arguments))
- {
- arguments += " ";
- }
- arguments += switchName;
- if (count)
- {
- arguments += string.Format(CultureInfo.InvariantCulture, "[{0}]", parameters.Count);
- }
- foreach (KeyValuePair<string, string> rawSetting in parameters)
- {
- arguments += string.Format(CultureInfo.InvariantCulture, " {0}=\"{1}\"", rawSetting.Key, ArgumentEscape(rawSetting.Value));
- }
- }
- }
- public static int LengthTo32Bit(long length)
- {
- if (length < int.MinValue || length > int.MaxValue)
- {
- throw new OverflowException(string.Format(CultureInfo.CurrentCulture, "Size {0} cannot be represented using 32-bit value", length));
- }
- return (int)length;
- }
- }
- }
|