CarotDav_decompile/Rei.Fs/IO/FileInfo.cs

112 lines
3.1 KiB
C#

// Decompiled with JetBrains decompiler
// Type: Rei.Fs.IO.FileInfo
// Assembly: Rei.Fs, Version=1.13.2.8796, Culture=neutral, PublicKeyToken=null
// MVID: D8B08A8B-697C-4439-9CFF-1BE4EE46F7B0
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\Rei.Fs.dll
using System;
using System.IO;
namespace Rei.Fs.IO
{
public class FileInfo
{
private FileAttributes pFileAttributes;
private DateTime pCreationTime;
private DateTime pLastAccessTime;
private DateTime pLastWriteTime;
private ulong pFileSize;
private string pFileName;
private string pFullPath;
private string pAltFileName;
internal FileInfo(string path, Win32Native.WIN32_FIND_DATA d)
{
this.pFileAttributes = d.dwFileAttributes;
this.pCreationTime = DateTime.FromFileTime((long) d.ftCreationTime.dwHighDateTime << 32 | (long) d.ftCreationTime.dwLowDateTime & (long) uint.MaxValue);
this.pLastAccessTime = DateTime.FromFileTime((long) d.ftLastAccessTime.dwHighDateTime << 32 | (long) d.ftLastAccessTime.dwLowDateTime & (long) uint.MaxValue);
this.pLastWriteTime = DateTime.FromFileTime((long) d.ftLastWriteTime.dwHighDateTime << 32 | (long) d.ftLastWriteTime.dwLowDateTime & (long) uint.MaxValue);
this.pFileSize = checked ((ulong) d.nFileSizeHigh << 32 + (ulong) d.nFileSizeLow);
this.pFileName = d.cFileName;
this.pAltFileName = d.cAlternateFileName;
this.pFullPath = path;
}
internal FileInfo(string path, Win32Native.WIN32_FILE_ATTRIBUTE_DATA d)
{
this.pFileAttributes = d.dwFileAttributes;
this.pCreationTime = DateTime.FromFileTime((long) d.ftCreationTime.dwHighDateTime << 32 | (long) d.ftCreationTime.dwLowDateTime & (long) uint.MaxValue);
this.pLastAccessTime = DateTime.FromFileTime((long) d.ftLastAccessTime.dwHighDateTime << 32 | (long) d.ftLastAccessTime.dwLowDateTime & (long) uint.MaxValue);
this.pLastWriteTime = DateTime.FromFileTime((long) d.ftLastWriteTime.dwHighDateTime << 32 | (long) d.ftLastWriteTime.dwLowDateTime & (long) uint.MaxValue);
this.pFileSize = checked ((ulong) d.nFileSizeHigh << 32 + (ulong) d.nFileSizeLow);
this.pFileName = FileSystem.GetFilename(path);
this.pAltFileName = (string) null;
this.pFullPath = path;
}
public bool IsDirectory
{
get
{
return (this.FileAttributes & FileAttributes.Directory) != (FileAttributes) 0;
}
}
public FileAttributes FileAttributes
{
get
{
return this.pFileAttributes;
}
}
public DateTime CreationTime
{
get
{
return this.pCreationTime;
}
}
public DateTime LastAccessTime
{
get
{
return this.pLastAccessTime;
}
}
public DateTime LastWriteTime
{
get
{
return this.pLastWriteTime;
}
}
public ulong FileSize
{
get
{
return this.pFileSize;
}
}
public string FileName
{
get
{
return this.pFileName;
}
}
public string FullPath
{
get
{
return this.pFullPath;
}
}
}
}