PrusaSlicer-NonPlainar/src/slic3r/GUI/RemovableDriveManagerMM.mm

68 lines
2.0 KiB
Plaintext
Raw Normal View History

#import "RemovableDriveManager.hpp"
2019-12-10 09:08:57 +00:00
#import <AppKit/AppKit.h>
@implementation RemovableDriveManagerMM
namespace Slic3r {
namespace GUI {
2019-12-10 09:08:57 +00:00
-(instancetype) init
{
2019-12-10 09:08:57 +00:00
self = [super init];
if(self)
{
[self add_unmount_observer]
}
return self;
}
-(void) on_device_unmount: (NSNotification*) notification
{
NSLog(@"on device change");
RemovableDriveManager::get_instance().update();
}
2019-12-10 09:08:57 +00:00
-(void) add_unmount_observer
{
[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector: @selector(on_device_unmount:) name:NSWorkspaceDidUnmountNotification object:nil];
}
2019-12-10 09:08:57 +00:00
void RemovableDriveManager::register_window()
{
m_rdmmm = nullptr;
m_rdmmm = [[RemovableDriveManagerMM alloc] init];
}
/*
-(void) RemovableDriveManager::list_devices()
{
NSLog(@"---");
NSArray* devices = [[NSWorkspace sharedWorkspace] mountedRemovableMedia];
for (NSString* volumePath in listOfMedia)
{
NSLog(@"@", volumePath);
}
NSLog(@"--");
//removable here means CD not USB :/
NSArray* listOfMedia = [[NSWorkspace sharedWorkspace] mountedLocalVolumePaths];
NSLog(@"%@", listOfMedia);
for (NSString* volumePath in listOfMedia)
{
BOOL isRemovable = NO;
BOOL isWritable = NO;
BOOL isUnmountable = NO;
NSString* description = [NSString string];
NSString* type = [NSString string];
BOOL result = [[NSWorkspace sharedWorkspace] getFileSystemInfoForPath:volumePath
isRemovable:&isRemovable
isWritable:&isWritable
isUnmountable:&isUnmountable
description:&description
type:&type];
NSLog(@"Result:%i Volume: %@, Removable:%i, W:%i, Unmountable:%i, Desc:%@, type:%@", result, volumePath, isRemovable, isWritable, isUnmountable, description, type);
}
}
2019-12-10 09:08:57 +00:00
*/
}}//namespace Slicer::GUI