BACKENDS: Add OSystem::displayLogFile interface + OSX implementation
This commit is contained in:
parent
ae4b298bbb
commit
279a5b4f32
5 changed files with 81 additions and 4 deletions
|
@ -34,6 +34,7 @@
|
|||
#include "common/fs.h"
|
||||
|
||||
#include "CoreFoundation/CoreFoundation.h"
|
||||
#include "CoreServices/CoreServices.h"
|
||||
|
||||
OSystem_MacOSX::OSystem_MacOSX()
|
||||
:
|
||||
|
@ -75,4 +76,27 @@ void OSystem_MacOSX::setupIcon() {
|
|||
// Don't set icon on OS X, as we use a nicer external icon there.
|
||||
}
|
||||
|
||||
bool OSystem_MacOSX::hasFeature(Feature f) {
|
||||
if (f == kFeatureDisplayLogFile)
|
||||
return true;
|
||||
return OSystem_POSIX::hasFeature(f);
|
||||
}
|
||||
|
||||
bool OSystem_MacOSX::displayLogFile() {
|
||||
// Use LaunchServices to open the log file, if possible.
|
||||
|
||||
if (_logFilePath.empty())
|
||||
return false;
|
||||
|
||||
FSRef ref;
|
||||
OSStatus err;
|
||||
|
||||
err = FSPathMakeRef((const UInt8 *)_logFilePath.c_str(), &ref, NULL);
|
||||
if (err == noErr) {
|
||||
err = LSOpenFSRef(&ref, NULL);
|
||||
}
|
||||
|
||||
return err != noErr;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue