From ad7d9b040b7a78e7ac14f7d3556b2eb5f09f5b81 Mon Sep 17 00:00:00 2001 From: Baptiste Lepilleur Date: Wed, 7 May 2003 19:07:17 +0000 Subject: Makefile. Makefile.am * configure.in * config/ac_dll.m4 * examples/cppunittest/Makefile.am * examples/hierarchy/Makefile.am * examples/money/Makefile.am * examples/simple/Makefile.am * include/cppunit/config/SelectDllLoader.h * include/cppunit/plugin/TestPlugIn.h * include/cppunit/tools/Algorithm.h * src/DllPlugInTester/Makefile.am * src/cppunit/Makefile.am * src/cppunit/TestDecorator.cpp * src/cppunit/ShlDynamicLibraryManager.cpp * src/cppunit/UnixDynamicLibraryManager.cpp * src/cppunit/Win32DynamicLibraryManager.cpp: applied patch from Abdessattar Sassi to add support for plug-in to hp-ux. --- src/cppunit/ShlDynamicLibraryManager.cpp | 52 ++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/cppunit/ShlDynamicLibraryManager.cpp (limited to 'src/cppunit/ShlDynamicLibraryManager.cpp') diff --git a/src/cppunit/ShlDynamicLibraryManager.cpp b/src/cppunit/ShlDynamicLibraryManager.cpp new file mode 100644 index 0000000..a9849e9 --- /dev/null +++ b/src/cppunit/ShlDynamicLibraryManager.cpp @@ -0,0 +1,52 @@ +#include + +#if defined(CPPUNIT_HAVE_UNIX_SHL_LOADER) +#include + +#include +#include + + +CPPUNIT_NS_BEGIN + + +DynamicLibraryManager::LibraryHandle +DynamicLibraryManager::doLoadLibrary( const std::string &libraryName ) +{ + return ::shl_load(libraryName.c_str(), BIND_IMMEDIATE, 0L); + //return ::dlopen( libraryName.c_str(), RTLD_NOW ); // RTLD_LAZY ? +} + + +void +DynamicLibraryManager::doReleaseLibrary() +{ + ::shl_unload( (shl_t)m_libraryHandle); + //::dlclose( m_libraryHandle); +} + + +DynamicLibraryManager::Symbol +DynamicLibraryManager::doFindSymbol( const std::string &symbol ) +{ + DynamicLibraryManager::Symbol L_symaddr = 0; + if ( ::shl_findsym ( (shl_t*)(&m_libraryHandle), symbol.c_str(), TYPE_UNDEFINED, &L_symaddr ) == 0 ) { + return L_symaddr; + } else { + return 0; + } + //return ::dlsym ( m_libraryHandle, symbol.c_str() ); +} + + +std::string +DynamicLibraryManager::getLastErrorDetail() const +{ + return ""; +} + + +CPPUNIT_NS_END + + +#endif // defined(CPPUNIT_HAVE_UNIX_SHL_LOADER) -- cgit v1.2.1