You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lidarr/src/NzbDrone.Mono/Disk/ProcMount.cs

57 lines
1.5 KiB

using System.IO;
using Mono.Unix;
using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions;
namespace NzbDrone.Mono.Disk
{
public class ProcMount : IMount
{
private readonly UnixDriveInfo _unixDriveInfo;
public ProcMount(DriveType driveType, string name, string mount, string type, MountOptions mountOptions)
{
DriveType = driveType;
Name = name;
RootDirectory = mount;
DriveFormat = type;
MountOptions = mountOptions;
_unixDriveInfo = new UnixDriveInfo(mount);
}
public long AvailableFreeSpace => _unixDriveInfo.AvailableFreeSpace;
public string DriveFormat { get; private set; }
public DriveType DriveType { get; private set; }
public bool IsReady => _unixDriveInfo.IsReady;
public MountOptions MountOptions { get; private set; }
public string Name { get; private set; }
public string RootDirectory { get; private set; }
public long TotalFreeSpace => _unixDriveInfo.TotalFreeSpace;
public long TotalSize => _unixDriveInfo.TotalSize;
public string VolumeLabel => _unixDriveInfo.VolumeLabel;
public string VolumeName
{
get
{
if (VolumeLabel.IsNullOrWhiteSpace() || VolumeLabel.StartsWith("UUID=") || Name == VolumeLabel)
{
return Name;
}
return string.Format("{0} ({1})", Name, VolumeLabel);
}
}
}
}