aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/opengl/shared/emugl/common/shared_library.h
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/opengl/shared/emugl/common/shared_library.h')
-rw-r--r--emulator/opengl/shared/emugl/common/shared_library.h92
1 files changed, 0 insertions, 92 deletions
diff --git a/emulator/opengl/shared/emugl/common/shared_library.h b/emulator/opengl/shared/emugl/common/shared_library.h
deleted file mode 100644
index f1d82fc..0000000
--- a/emulator/opengl/shared/emugl/common/shared_library.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright (C) 2014 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#ifndef EMUGL_COMMON_SHARED_LIBRARY_H
-#define EMUGL_COMMON_SHARED_LIBRARY_H
-
-#ifdef _WIN32
-#include <windows.h>
-#endif
-
-namespace emugl {
-
-// A class used to open a platform-specific shared library, and probe
-// it for symbols. Usage is the following:
-//
-// // Open the library.
-// SharedLibrary* library = SharedLibrary::open("libFoo");
-// if (!library) {
-// ... could not find / open library!
-// }
-//
-// //Probe for function symbol.
-// FunctionPtr my_func = library->findSymbol("my_func");
-//
-// // Closes library/
-// delete library;
-//
-class SharedLibrary {
-public:
- // Open a given library. If |libraryName| has no extension, a
- // platform-appropriate extension is added and that path is opened.
- // If the |libraryName| has an extension, that form is opened.
- //
- // On OSX, some libraries don't include an extension (notably OpenGL)
- // On OSX we try to open |libraryName| first. If that doesn't exist,
- // we try |libraryName|.dylib
- //
- // On success, returns a new SharedLibrary instance that must be
- // deleted by the caller.
- static SharedLibrary* open(const char* libraryName);
-
- // Closes an existing SharedLibrary instance.
- ~SharedLibrary();
-
- // Generic function pointer type, for values returned by the
- // findSymbol() method.
- typedef void (*FunctionPtr)(void);
-
- // Probe a given SharedLibrary instance to find a symbol named
- // |symbolName| in it. Return its address as a FunctionPtr, or
- // NULL if the symbol is not found.
- FunctionPtr findSymbol(const char* symbolName);
-
-private:
-#ifdef _WIN32
- typedef HMODULE HandleType;
-#else
- typedef void* HandleType;
-#endif
-
- // Constructor intentionally hidden.
- SharedLibrary(HandleType);
-
- HandleType mLib;
-};
-
-// Macro to compose emugl shared library name under various OS and bitness
-// eg.
-// on x86_64, EMUGL_LIBNAME("foo") --> "lib64foo"
-
-#if defined(__x86_64__)
-# define EMUGL_LIBNAME(name) "lib64" name
-#elif defined(__i386__)
-# define EMUGL_LIBNAME(name) "lib" name
-#else
-/* This header is included by target w/o using EMUGL_LIBNAME(). Don't #error, leave it undefined */
-#endif
-
-} // namespace emugl
-
-#endif // EMUGL_COMMON_SHARED_LIBRARY_H