Implemented DirAccess get_drive and get_drive_count for OS X
This commit is contained in:
parent
d1cb73b47a
commit
fb871b5ada
|
@ -46,6 +46,9 @@
|
|||
class DirAccessOSX : public DirAccessUnix {
|
||||
protected:
|
||||
virtual String fix_unicode_name(const char *p_name) const;
|
||||
|
||||
virtual int get_drive_count();
|
||||
virtual String get_drive(int p_drive);
|
||||
};
|
||||
|
||||
#endif //UNIX ENABLED
|
||||
|
|
|
@ -33,7 +33,8 @@
|
|||
|
||||
#include <errno.h>
|
||||
|
||||
#include <Foundation/NSString.h>
|
||||
#include <AppKit/NSWorkspace.h>
|
||||
#include <Foundation/Foundation.h>
|
||||
|
||||
String DirAccessOSX::fix_unicode_name(const char *p_name) const {
|
||||
|
||||
|
@ -45,4 +46,19 @@ String DirAccessOSX::fix_unicode_name(const char *p_name) const {
|
|||
return fname;
|
||||
}
|
||||
|
||||
int DirAccessOSX::get_drive_count() {
|
||||
NSArray *vols = [[NSWorkspace sharedWorkspace] mountedLocalVolumePaths];
|
||||
return [vols count];
|
||||
}
|
||||
|
||||
String DirAccessOSX::get_drive(int p_drive) {
|
||||
NSArray *vols = [[NSWorkspace sharedWorkspace] mountedLocalVolumePaths];
|
||||
int count = [vols count];
|
||||
|
||||
ERR_FAIL_INDEX_V(p_drive, count, "");
|
||||
|
||||
NSString *path = vols[p_drive];
|
||||
return String([path UTF8String]);
|
||||
}
|
||||
|
||||
#endif //posix_enabled
|
||||
|
|
Loading…
Reference in New Issue