diff options
Diffstat (limited to 'base/mac_util.mm')
-rw-r--r-- | base/mac_util.mm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/base/mac_util.mm b/base/mac_util.mm new file mode 100644 index 0000000..1f92e62 --- /dev/null +++ b/base/mac_util.mm @@ -0,0 +1,26 @@ +// Copyright (c) 2008 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/mac_util.h" + +#import <Cocoa/Cocoa.h> + +#include "base/scoped_cftyperef.h" + +namespace mac_util { + +std::string PathFromFSRef(const FSRef& ref) { + scoped_cftyperef<CFURLRef> url( + CFURLCreateFromFSRef(kCFAllocatorDefault, &ref)); + NSString *path_string = [(NSURL *)url.get() path]; + return [path_string fileSystemRepresentation]; +} + +bool FSRefFromPath(const std::string& path, FSRef* ref) { + OSStatus status = FSPathMakeRef((const UInt8*)path.c_str(), + ref, nil); + return status == noErr; +} + +} // namespace mac_util |