Blame src/cppunit/ShlDynamicLibraryManager.cpp

Packit Service e31359
#include <cppunit/Portability.h>
Packit Service e31359
Packit Service e31359
#if defined(CPPUNIT_HAVE_UNIX_SHL_LOADER)
Packit Service e31359
#include <cppunit/plugin/DynamicLibraryManager.h>
Packit Service e31359
Packit Service e31359
#include <dl.h>
Packit Service e31359
#include <unistd.h>
Packit Service e31359
Packit Service e31359
Packit Service e31359
CPPUNIT_NS_BEGIN
Packit Service e31359
Packit Service e31359
Packit Service e31359
DynamicLibraryManager::LibraryHandle 
Packit Service e31359
DynamicLibraryManager::doLoadLibrary( const std::string &libraryName )
Packit Service e31359
{
Packit Service e31359
   return ::shl_load(libraryName.c_str(), BIND_IMMEDIATE, 0L);
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
void 
Packit Service e31359
DynamicLibraryManager::doReleaseLibrary()
Packit Service e31359
{
Packit Service e31359
  ::shl_unload( (shl_t)m_libraryHandle);
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
DynamicLibraryManager::Symbol 
Packit Service e31359
DynamicLibraryManager::doFindSymbol( const std::string &symbol )
Packit Service e31359
{
Packit Service e31359
   DynamicLibraryManager::Symbol L_symaddr = 0;
Packit Service e31359
   if ( ::shl_findsym( (shl_t*)(&m_libraryHandle), 
Packit Service e31359
                       symbol.c_str(), 
Packit Service e31359
                       TYPE_UNDEFINED, 
Packit Service e31359
                       &L_symaddr ) == 0 )
Packit Service e31359
   {
Packit Service e31359
      return L_symaddr;
Packit Service e31359
   } 
Packit Service e31359
Packit Service e31359
   return 0;
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
std::string 
Packit Service e31359
DynamicLibraryManager::getLastErrorDetail() const
Packit Service e31359
{
Packit Service e31359
  return "";
Packit Service e31359
}
Packit Service e31359
Packit Service e31359
Packit Service e31359
CPPUNIT_NS_END
Packit Service e31359
Packit Service e31359
Packit Service e31359
#endif // defined(CPPUNIT_HAVE_UNIX_SHL_LOADER)