| Index: base/native_library_mac.mm
|
| diff --git a/base/native_library_mac.mm b/base/native_library_mac.mm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f817a01ce752950af16976e6f0f4bd306d7fe086
|
| --- /dev/null
|
| +++ b/base/native_library_mac.mm
|
| @@ -0,0 +1,38 @@
|
| +// Copyright (c) 2009 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/native_library.h"
|
| +
|
| +#import <Carbon/Carbon.h>
|
| +
|
| +#include "base/file_path.h"
|
| +#include "base/scoped_cftyperef.h"
|
| +
|
| +namespace base {
|
| +
|
| +// static
|
| +NativeLibrary LoadNativeLibrary(const FilePath& library_path) {
|
| + scoped_cftyperef<CFURLRef> url(CFURLCreateFromFileSystemRepresentation(
|
| + kCFAllocatorDefault,
|
| + (const UInt8*)library_path.value().c_str(),
|
| + library_path.value().length(),
|
| + true));
|
| + if (!url)
|
| + return NULL;
|
| +
|
| + return CFBundleCreate(kCFAllocatorDefault, url.get());
|
| +}
|
| +
|
| +// static
|
| +void UnloadNativeLibrary(NativeLibrary library) {
|
| + CFRelease(library);
|
| +}
|
| +
|
| +// static
|
| +void* GetFunctionPointerFromNativeLibrary(NativeLibrary library,
|
| + NativeLibraryFunctionNameType name) {
|
| + return CFBundleGetFunctionPointerForName(library, name);
|
| +}
|
| +
|
| +} // namespace base
|
|
|