38#include "blocxx/BLOCXX_config.h"
39#if defined(BLOCXX_USE_DL)
55dlSharedLibraryLoader::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();
96 Logger logger(COMPONENT_NAME);
98 "dlopen returned NULL. Error is: %1", first_error));
99 if ( !second_error.empty() )
102 "dlopen returned NULL. Error is: %1", second_error));
115dlSharedLibraryLoader::~dlSharedLibraryLoader()
#define BLOCXX_GLOBAL_STRING_INIT(str)
#define BLOCXX_LOG_ERROR(logger, message)
Log message to logger with the Error level.
static SharedLibraryLoaderRef createSharedLibraryLoader()
This String class is an abstract data type that represents as NULL terminated string of characters.
GlobalString COMPONENT_NAME
LazyGlobal< String, char const *const > GlobalString
IntrusiveReference< SharedLibrary > SharedLibraryRef
IntrusiveReference< SharedLibraryLoader > SharedLibraryLoaderRef