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

45 lines
1.4 KiB
C#

using System.Runtime.InteropServices;
namespace WinSCP
{
[Guid("DFCA88E2-6A47-4290-AD66-A39C5682D610")]
[ClassInterface(Constants.ClassInterface)]
[ComVisible(true)]
public sealed class ChmodEventArgs : FileOperationEventArgs
{
public FilePermissions FilePermissions { get; private set; }
internal const string Tag = "chmod";
private ChmodEventArgs()
{
}
internal static ChmodEventArgs Read(CustomLogReader areader)
{
ChmodEventArgs args = new ChmodEventArgs();
using (ElementLogReader reader = new ElementLogReader(areader))
{
while (reader.Read(0))
{
if (reader.GetEmptyElementValue("filename", out string value))
{
args.FileName = value;
}
else if (reader.GetEmptyElementValue("permissions", out value))
{
args.FilePermissions = FilePermissions.CreateReadOnlyFromText(value);
}
else if (SessionRemoteException.IsResult(reader))
{
args.Error = SessionRemoteException.ReadResult(reader);
}
}
}
return args;
}
}
}