1 /*------------------------------------------------------------------------- 2 * drawElements C++ Base Library 3 * ----------------------------- 4 * 5 * Copyright 2014 The Android Open Source Project 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 * 19 *//*! 20 * \file 21 * \brief deDynamicLibrary C++ wrapper. 22 *//*--------------------------------------------------------------------*/ 23 24 #include "deDynamicLibrary.hpp" 25 26 #include <string> 27 #include <stdexcept> 28 29 namespace de 30 { 31 DynamicLibrary(const char * fileName)32DynamicLibrary::DynamicLibrary (const char* fileName) 33 : m_library(DE_NULL) 34 { 35 m_library = deDynamicLibrary_open(fileName); 36 if (!m_library) 37 throw std::runtime_error(std::string("Failed to open dynamic library: '") + fileName + "'"); 38 } 39 DynamicLibrary(const char * fileNames[])40DynamicLibrary::DynamicLibrary (const char* fileNames[]) 41 : m_library(DE_NULL) 42 { 43 for (int i = 0; !m_library && fileNames[i]; i++) 44 { 45 m_library = deDynamicLibrary_open(fileNames[i]); 46 if (!m_library) 47 throw std::runtime_error(std::string("Failed to open dynamic library: '") + fileNames[0] + "'"); 48 } 49 } 50 ~DynamicLibrary(void)51DynamicLibrary::~DynamicLibrary (void) 52 { 53 deDynamicLibrary_close(m_library); 54 } 55 56 } // de 57