Chromium Code Reviews| Index: base/native_library_linux.cc |
| diff --git a/base/native_library_linux.cc b/base/native_library_linux.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1ec7aabde82ef8b50c08b811d49826b16596a431 |
| --- /dev/null |
| +++ b/base/native_library_linux.cc |
| @@ -0,0 +1,36 @@ |
| +// 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" |
| + |
| +#include <dlfcn.h> |
| + |
| +#include "base/file_path.h" |
| +#include "base/logging.h" |
| + |
| +namespace base { |
| + |
| +// static |
|
jam
2009/04/21 00:26:53
nit: i know some places of the code do it often, b
|
| +NativeLibrary LoadNativeLibrary(const FilePath& library_path) { |
| + void* dl = dlopen(library_path.value().c_str(), RTLD_LAZY); |
| + if (!dl) |
| + NOTREACHED() << "dlopen failed: " << dlerror(); |
| + |
| + return dl; |
| +} |
| + |
| +// static |
| +void UnloadNativeLibrary(NativeLibrary library) { |
| + int ret = dlclose(library); |
| + if (ret < 0) |
| + NOTREACHED() << "dlclose failed: " << dlerror(); |
| +} |
| + |
| +// static |
| +void* GetFunctionPointerFromNativeLibrary(NativeLibrary library, |
| + NativeLibraryFunctionNameType name) { |
| + return dlsym(library, name); |
| +} |
| + |
| +} // namespace base |