namespace CPF.Mac.Foundation { public class NSFileSystemAttributes { private NSDictionary dict; public ulong Size { get; internal set; } public ulong FreeSize { get; internal set; } public long Nodes { get; internal set; } public long FreeNodes { get; internal set; } public uint Number { get; internal set; } internal NSFileSystemAttributes(NSDictionary dict) { this.dict = dict; } internal static NSFileSystemAttributes FromDict(NSDictionary dict) { if (dict == null) { return null; } NSFileSystemAttributes nSFileSystemAttributes = new NSFileSystemAttributes(dict); ulong b = 0uL; uint b2 = 0u; nSFileSystemAttributes.Size = (NSFileAttributes.fetch(dict, NSFileManager.SystemSize, ref b) ? b : 0); nSFileSystemAttributes.FreeSize = (NSFileAttributes.fetch(dict, NSFileManager.SystemFreeSize, ref b) ? b : 0); nSFileSystemAttributes.Nodes = (long)(NSFileAttributes.fetch(dict, NSFileManager.SystemNodes, ref b) ? b : 0); nSFileSystemAttributes.FreeNodes = (long)(NSFileAttributes.fetch(dict, NSFileManager.SystemFreeNodes, ref b) ? b : 0); nSFileSystemAttributes.Number = (NSFileAttributes.fetch(dict, NSFileManager.SystemFreeNodes, ref b2) ? b2 : 0u); return nSFileSystemAttributes; } public static implicit operator NSDictionary(NSFileSystemAttributes attr) { return attr.dict; } } }