38 #include "blocxx/BLOCXX_config.h"
39 #if defined(BLOCXX_USE_DL)
55 dlSharedLibraryLoader::loadSharedLibrary(
const String& filename)
const
65 void* libhandle = dlopen(filename.c_str(), RTLD_NOW | RTLD_GLOBAL);
67 String first_error = dlerror();
70 #if defined(BLOCXX_USE_FAKE_LIBS)
78 if ( dlSharedLibrary::isFakeLibrary(filename) )
80 libhandle = dlopen(NULL, RTLD_NOW | RTLD_GLOBAL);
84 second_error = dlerror();
98 "dlopen returned NULL. Error is: %1", first_error));
99 if ( !second_error.empty() )
101 BLOCXX_LOG_ERROR(logger, Format(
"dlSharedLibraryLoader::loadSharedLibrary (fakelib) "
102 "dlopen returned NULL. Error is: %1", second_error));
115 dlSharedLibraryLoader::~dlSharedLibraryLoader()
121 #endif // BLOCXX_USE_DL
IntrusiveReference< SharedLibraryLoader > SharedLibraryLoaderRef
#define BLOCXX_LOG_ERROR(logger, message)
Log message to logger with the Error level.
static SharedLibraryLoaderRef createSharedLibraryLoader()
LazyGlobal< String, char const *const > GlobalString
GlobalString COMPONENT_NAME
#define BLOCXX_GLOBAL_STRING_INIT(str)
IntrusiveReference< SharedLibrary > SharedLibraryRef
class BLOCXX_COMMON_API Logger