BACKENDS: Add OSystem::displayLogFile interface + OSX implementation

This commit is contained in:
Max Horn 2011-06-03 12:08:37 +02:00
parent ae4b298bbb
commit 279a5b4f32
5 changed files with 81 additions and 4 deletions

View file

@ -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