// Decompiled with JetBrains decompiler // Type: Rei.Fs.ResourceInfo // 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 Microsoft.VisualBasic.CompilerServices; using System; using System.Collections.Generic; using System.Diagnostics; namespace Rei.Fs { [DebuggerDisplay("{DebuggerString}")] [Serializable] public class ResourceInfo : ReturnedInfo, ICloneable { public ResourceId Id; public long Size; public DateTime LastModifiedTime; public bool IsCollection; public DateTime CreationTime; public DateTime LastAccessTime; public string StatusDescription; public bool HasError; public bool CanRename; public bool CanMove; public bool CanCopy; public bool CanDelete; public bool CanSetInfo; public bool IsEncrypted; public bool IsSplitted; public bool IsMinor; private List pTypes; private ResourceInfo.PropertyCollection pProperties; public ResourceInfo() : this((ResourceId) null, false, 0L, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue) { } public ResourceInfo(ResourceId id, bool iscollection, long size, DateTime lastmodified) : this(id, iscollection, size, lastmodified, DateTime.MinValue, DateTime.MinValue) { } public ResourceInfo(ResourceId id, bool iscollection, long size, DateTime lastmodified, DateTime creation, DateTime lastaccess) { this.Id = id; this.IsCollection = iscollection; this.Size = size; this.LastModifiedTime = lastmodified; this.CreationTime = creation; this.LastAccessTime = lastaccess; this.pProperties = new ResourceInfo.PropertyCollection(); this.pTypes = new List(); this.HasError = false; } public ResourceInfo.PropertyCollection Properties { get { return this.pProperties; } } public List Types { get { return this.pTypes; } } public object Clone() { ResourceInfo resourceInfo = (ResourceInfo) this.MemberwiseClone(); resourceInfo.pProperties = new ResourceInfo.PropertyCollection(); resourceInfo.pProperties.AddRange((IEnumerable) this.pProperties); resourceInfo.pTypes = new List(); resourceInfo.pTypes.AddRange((IEnumerable) this.pTypes); return (object) resourceInfo; } public string DebuggerString { get { return this.ToString(); } } public override string ToString() { string str1 = ""; string str2 = (object) this.Id != null ? str1 + this.Id.ToString() : str1 + "NoId"; return (!this.IsCollection ? str2 + " " : str2 + " ") + this.Size.ToString(); } [Serializable] public class PropertyCollection : List { public ResourceInfo.ResourceProperty this[string name] { get { int index = this.IndexOf(name); if (index >= 0) return this[index]; throw new ArgumentOutOfRangeException(); } } public int IndexOf(string name) { int num1 = 0; int num2 = checked (this.Count - 1); int index = num1; while (index <= num2) { if (Operators.CompareString(this[index].Name, name, false) == 0) return index; checked { ++index; } } return -1; } public void Add(string name, string value, string statedescription, bool haserror) { this.Add(new ResourceInfo.ResourceProperty(name, value, statedescription, haserror)); } public void Remove(string name) { int index = this.IndexOf(name); if (index < 0) throw new ArgumentException(); this.RemoveAt(index); } public bool Contains(string name) { return this.IndexOf(name) >= 0; } } [Serializable] public class ResourceProperty { public string Name; public string Value; public string StateDescription; public bool HasError; public ResourceProperty(string name, string value, string statedescription, bool haserror) { this.Name = name; this.Value = value; this.StateDescription = statedescription; this.HasError = haserror; } } } }