Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: base/native_library.h

Issue 155558: linux: add flash workarounds (Closed)
Patch Set: Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | base/native_library_linux.cc » ('j') | webkit/glue/plugins/plugin_host.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_NATIVE_LIBRARY_H_ 5 #ifndef BASE_NATIVE_LIBRARY_H_
6 #define BASE_NATIVE_LIBRARY_H_ 6 #define BASE_NATIVE_LIBRARY_H_
7 7
8 // This file defines a cross-platform "NativeLibrary" type which represents 8 // This file defines a cross-platform "NativeLibrary" type which represents
9 // a loadable module. 9 // a loadable module.
10 10
(...skipping 28 matching lines...) Expand all
39 struct NativeLibraryStruct { 39 struct NativeLibraryStruct {
40 NativeLibraryType type; 40 NativeLibraryType type;
41 union { 41 union {
42 CFBundleRef bundle; 42 CFBundleRef bundle;
43 void* dylib; 43 void* dylib;
44 }; 44 };
45 }; 45 };
46 typedef NativeLibraryStruct* NativeLibrary; 46 typedef NativeLibraryStruct* NativeLibrary;
47 #elif defined(OS_LINUX) 47 #elif defined(OS_LINUX)
48 typedef void* NativeLibrary; 48 typedef void* NativeLibrary;
49
50 // By default, we load libraries with "deep bind", meaning library-defined
51 // symbols take precedence over the executable symbols. That makes sure we
52 // aren't polluting the library's namespace.
53 // However, in some cases, we do want to override some symbols in the library
54 // to work-around bugs, so we add the library path to a set of "shallow bound"
55 // libraries.
56 void AddShallowBindPath(const FilePath& library_path);
49 #endif // OS_* 57 #endif // OS_*
50 58
51 // Loads a native library from disk. Release it with UnloadNativeLibrary when 59 // Loads a native library from disk. Release it with UnloadNativeLibrary when
52 // you're done. 60 // you're done.
53 NativeLibrary LoadNativeLibrary(const FilePath& library_path); 61 NativeLibrary LoadNativeLibrary(const FilePath& library_path);
54 62
55 // Unloads a native library. 63 // Unloads a native library.
56 void UnloadNativeLibrary(NativeLibrary library); 64 void UnloadNativeLibrary(NativeLibrary library);
57 65
58 // Gets a function pointer from a native library. 66 // Gets a function pointer from a native library.
59 void* GetFunctionPointerFromNativeLibrary(NativeLibrary library, 67 void* GetFunctionPointerFromNativeLibrary(NativeLibrary library,
60 const char* name); 68 const char* name);
61 69
62 // Returns the full platform specific name for a native library. 70 // Returns the full platform specific name for a native library.
63 // For example: 71 // For example:
64 // "mylib" returns "mylib.dll" on Windows, "libmylib.so" on Linux, 72 // "mylib" returns "mylib.dll" on Windows, "libmylib.so" on Linux,
65 // "mylib.dylib" on Mac. 73 // "mylib.dylib" on Mac.
66 string16 GetNativeLibraryName(const string16& name); 74 string16 GetNativeLibraryName(const string16& name);
67 75
68 } // namespace base 76 } // namespace base
69 77
70 #endif // BASE_NATIVE_LIBRARY_H_ 78 #endif // BASE_NATIVE_LIBRARY_H_
OLDNEW
« no previous file with comments | « no previous file | base/native_library_linux.cc » ('j') | webkit/glue/plugins/plugin_host.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698