Files
fastfetch/src/detection/disk/disk_apple.m
T

33 lines
1.1 KiB
Objective-C
Raw Normal View History

#include "disk.h"
2022-10-12 14:03:03 +08:00
#include <sys/statvfs.h>
#import <Foundation/Foundation.h>
2022-10-17 13:19:48 +02:00
void ffDetectDisksImpl(FFDiskResult* disks)
{
NSArray *keys = [NSArray arrayWithObjects:NSURLVolumeNameKey, nil];
NSArray *urls = [NSFileManager.defaultManager mountedVolumeURLsIncludingResourceValuesForKeys:keys
options:NSVolumeEnumerationSkipHiddenVolumes];
2022-10-17 13:19:48 +02:00
if(urls == nil)
2022-10-17 13:19:48 +02:00
{
ffStrbufAppendS(&disks->error, "[NSFileManager.defaultManager mountedVolumeURLsIncludingResourceValuesForKeys] failed");
return;
}
for (NSURL *url in urls) {
NSError *error;
NSNumber* removable;
if([url getResourceValue:&removable forKey:NSURLVolumeIsRemovableKey error:&error] == NO)
continue;
if(removable.boolValue && !instance->config.diskRemovable)
continue;
FFDiskResult* folder = (FFDiskResult*)ffListAdd(folders);
ffDetectDiskWithStatvfs([url.relativePath cStringUsingEncoding:NSUTF8StringEncoding], NULL, folder);
folder->removable = removable.boolValue;
}
return NULL;
}