1
0
mirror of https://github.com/winscp/winscp.git synced 2026-10-24 02:28:55 +03:00
Files
winscp/dotnet/TouchEventArgs.cs
Martin Prikryl 87d3e2804d Inlining out parameters declaration
Source commit: a3965de2b036daabe4470573db59e7f6b1aebd84
2018-01-28 15:48:29 +01:00

47 lines
1.4 KiB
C#

using System;
using System.Runtime.InteropServices;
using System.Xml;
namespace WinSCP
{
[Guid("802FCEF7-E1D3-4205-B171-87A3724E85FA")]
[ClassInterface(Constants.ClassInterface)]
[ComVisible(true)]
public sealed class TouchEventArgs : FileOperationEventArgs
{
public DateTime LastWriteTime { get; private set; }
internal const string Tag = "touch";
private TouchEventArgs()
{
}
internal static TouchEventArgs Read(CustomLogReader areader)
{
TouchEventArgs args = new TouchEventArgs();
using (ElementLogReader reader = new ElementLogReader(areader))
{
while (reader.Read(0))
{
if (reader.GetEmptyElementValue("filename", out string value))
{
args.FileName = value;
}
else if (reader.GetEmptyElementValue("modification", out value))
{
args.LastWriteTime = XmlConvert.ToDateTime(value, XmlDateTimeSerializationMode.Local);
}
else if (SessionRemoteException.IsResult(reader))
{
args.Error = SessionRemoteException.ReadResult(reader);
}
}
}
return args;
}
}
}