summaryrefslogtreecommitdiff
path: root/tools/emulator/opengl/shared/OpenglOsUtils/osDynLibrary.h
diff options
context:
space:
mode:
authorGuy Zadikario <guy@graphtech.co.il>2011-04-10 11:34:56 +0300
committerGuy Zadikario <guy@graphtech.co.il>2011-04-16 10:42:43 +0300
commit20368d96e070f781abef8b2471d1a01f6f782294 (patch)
treeaee60e832bde40ef4187be5c5c830e863e57b354 /tools/emulator/opengl/shared/OpenglOsUtils/osDynLibrary.h
parentf7cd7ec421a026d8ce48a11a6ea1dcfb31637c9b (diff)
emulator opengl: add OpenglOsUtils library, a set of OS utils.
This is just a set of OS dependant functionality needed by the emulator OpenGL host renderer. It currently has implementation for Linux and Windows only. osDynLibrary - dlopen/dlsym abstraction osProcess - interface to launch a new process, wait and kill it. osThread - abstraction interface for creating a thread. Change-Id: Ib0264592d8c87e865da87acf5c94e2b331801ca4
Diffstat (limited to 'tools/emulator/opengl/shared/OpenglOsUtils/osDynLibrary.h')
-rw-r--r--tools/emulator/opengl/shared/OpenglOsUtils/osDynLibrary.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/emulator/opengl/shared/OpenglOsUtils/osDynLibrary.h b/tools/emulator/opengl/shared/OpenglOsUtils/osDynLibrary.h
new file mode 100644
index 000000000..5861b60a7
--- /dev/null
+++ b/tools/emulator/opengl/shared/OpenglOsUtils/osDynLibrary.h
@@ -0,0 +1,48 @@
+/*
+* Copyright (C) 2011 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 _OSUTILS_DYN_LIBRARY_H
+#define _OSUTILS_DYN_LIBRARY_H
+
+#ifdef _WIN32
+#include <windows.h>
+#endif
+
+namespace osUtils {
+
+typedef void (*dynFuncPtr)(void);
+
+class dynLibrary
+{
+public:
+ static dynLibrary *open(const char *p_libName);
+ ~dynLibrary();
+
+ dynFuncPtr findSymbol(const char *p_symName);
+
+private:
+ dynLibrary();
+
+private:
+#ifdef _WIN32
+ HMODULE m_lib;
+#else
+ void *m_lib;
+#endif
+};
+
+} // of namespace osUtils
+
+#endif