jaulib v1.3.0
Jau Support Library (C++, Java, ..)
Protected Member Functions | List of all members
jau::os::impl::UnixDynamicLinker Class Reference
Inheritance diagram for jau::os::impl::UnixDynamicLinker:
Collaboration diagram for jau::os::impl::UnixDynamicLinker:

Protected Member Functions

 UnixDynamicLinker (void *const lib_default, void *const lib_next, int const flag_lazy, int const flag_now, int const flag_local, int const flag_global)
 
void closeLibraryImpl (libhandle_t handle) noexcept override
 
std::string getLastErrorImpl () noexcept override
 
const char * lookupLibraryPathnameImpl (libhandle_t handle, const std::string &symbolName) noexcept override
 
symhandle_t lookupSymbolGlobalImpl (const std::string &symbolName) noexcept override
 
symhandle_t lookupSymbolLocalImpl (libhandle_t handle, const std::string &symbolName) noexcept override
 
libhandle_t openLibraryGlobalImpl (const std::string &pathname) noexcept override
 
libhandle_t openLibraryLocalImpl (const std::string &pathname) noexcept override
 
- Protected Member Functions inherited from jau::os::DynamicLinker
 DynamicLinker () noexcept=default
 
virtual void closeLibraryImpl (libhandle_t handle) noexcept=0
 
LibRef_ref decrLibRefCount (const libhandle_t handle) noexcept
 
virtual std::string getLastErrorImpl () noexcept=0
 
LibRef_ref incrLibRefCount (const libhandle_t handle, const std::string &libName) noexcept
 
virtual const char * lookupLibraryPathnameImpl (libhandle_t libraryHandle, const std::string &symbolName) noexcept=0
 
virtual symhandle_t lookupSymbolGlobalImpl (const std::string &symbolName) noexcept=0
 
virtual symhandle_t lookupSymbolLocalImpl (libhandle_t handle, const std::string &symbolName) noexcept=0
 
virtual libhandle_t openLibraryGlobalImpl (const std::string &pathname) noexcept=0
 
virtual libhandle_t openLibraryLocalImpl (const std::string &pathname) noexcept=0
 

Additional Inherited Members

- Public Types inherited from jau::os::DynamicLinker
typedef void * libhandle_t
 library handle More...
 
typedef void * symhandle_t
 symbol handle within a library More...
 
- Public Member Functions inherited from jau::os::DynamicLinker
virtual ~DynamicLinker () noexcept=default
 
void closeLibrary (libhandle_t handle) noexcept
 Security checks are implicit by previous call of openLibraryLocal(const std::string_view&, boolean) or openLibraryGlobal(const std::string_view&, boolean) retrieving the librarHandle. More...
 
std::string getLastError () noexcept
 Returns a string containing the last error. More...
 
const char * lookupLibraryPathname (libhandle_t handle, const std::string &symbolName) noexcept
 
symhandle_t lookupSymbol (libhandle_t handle, const std::string &symbolName) noexcept
 
symhandle_t lookupSymbolGlobal (const std::string &symbolName) noexcept
 
libhandle_t openLibraryGlobal (const std::string &pathname) noexcept
 Opens the named library, allowing system wide access for other users. More...
 
libhandle_t openLibraryLocal (const std::string &pathname) noexcept
 Opens the named library, restricting access to this process. More...
 
- Static Public Member Functions inherited from jau::os::DynamicLinker
static std::vector< std::string > enumerateLibraryPaths (const std::string &libName, bool searchSystemPath=false, bool searchSystemPathFirst=false) noexcept
 Returns list of potential absolute library filenames. More...
 
static DynamicLinkerget () noexcept
 Returns static singleton instance of DynamicLinker. More...
 
static std::string getBaseName (const std::string &filename, const bool isBasename=false, const bool caseInsensitive=jau::os::is_windows()) noexcept
 Returns the library basename, i.e. More...
 
static constexpr_cxx20 std::string getCanonicalName (const std::string &basename, const bool checkIsCanonical=true) noexcept
 Returns canonical library name for this system from given library-basename, e.g. More...
 
static constexpr_cxx20 std::string getDefaultPrefix () noexcept
 Returns the native library prefix, e.g. More...
 
static constexpr_cxx20 std::string getDefaultSuffix () noexcept
 Returns the native library suffix including the dot, e.g. More...
 
static constexpr_cxx20 std::string getEnvLibPathVarName () noexcept
 Returns the environment library path variable name, e.g. More...
 
static std::vector< std::string > getSystemEnvLibraryPaths ()
 Returns a list of system paths, from the getSystemEnvLibraryPathVarname() variable. More...
 
static bool isCanonicalName (const std::string &filename, const bool isBasename=false, const bool caseInsensitive=jau::os::is_windows()) noexcept
 Returns true if the given filename contains the canonical prefix and suffix, otherwise returns false. More...
 
- Static Protected Attributes inherited from jau::os::DynamicLinker
static constexpr const bool DEBUG_LOOKUP = false
 

Detailed Description

Definition at line 49 of file unix_dyn_linker.cpp.

Constructor & Destructor Documentation

◆ UnixDynamicLinker()

jau::os::impl::UnixDynamicLinker::UnixDynamicLinker ( void *const  lib_default,
void *const  lib_next,
int const  flag_lazy,
int const  flag_now,
int const  flag_local,
int const  flag_global 
)
inlineprotected

Definition at line 60 of file unix_dyn_linker.cpp.

Member Function Documentation

◆ openLibraryGlobalImpl()

libhandle_t jau::os::impl::UnixDynamicLinker::openLibraryGlobalImpl ( const std::string &  pathname)
inlineoverrideprotectedvirtualnoexcept

Implements jau::os::DynamicLinker.

Definition at line 69 of file unix_dyn_linker.cpp.

◆ openLibraryLocalImpl()

libhandle_t jau::os::impl::UnixDynamicLinker::openLibraryLocalImpl ( const std::string &  pathname)
inlineoverrideprotectedvirtualnoexcept

Implements jau::os::DynamicLinker.

Definition at line 73 of file unix_dyn_linker.cpp.

◆ lookupLibraryPathnameImpl()

const char * jau::os::impl::UnixDynamicLinker::lookupLibraryPathnameImpl ( libhandle_t  handle,
const std::string &  symbolName 
)
inlineoverrideprotectedvirtualnoexcept

Implements jau::os::DynamicLinker.

Definition at line 77 of file unix_dyn_linker.cpp.

◆ lookupSymbolGlobalImpl()

symhandle_t jau::os::impl::UnixDynamicLinker::lookupSymbolGlobalImpl ( const std::string &  symbolName)
inlineoverrideprotectedvirtualnoexcept

Implements jau::os::DynamicLinker.

Definition at line 92 of file unix_dyn_linker.cpp.

◆ lookupSymbolLocalImpl()

symhandle_t jau::os::impl::UnixDynamicLinker::lookupSymbolLocalImpl ( libhandle_t  handle,
const std::string &  symbolName 
)
inlineoverrideprotectedvirtualnoexcept

Implements jau::os::DynamicLinker.

Definition at line 96 of file unix_dyn_linker.cpp.

◆ closeLibraryImpl()

void jau::os::impl::UnixDynamicLinker::closeLibraryImpl ( libhandle_t  handle)
inlineoverrideprotectedvirtualnoexcept

Implements jau::os::DynamicLinker.

Definition at line 104 of file unix_dyn_linker.cpp.

◆ getLastErrorImpl()

std::string jau::os::impl::UnixDynamicLinker::getLastErrorImpl ( )
inlineoverrideprotectedvirtualnoexcept

Implements jau::os::DynamicLinker.

Definition at line 110 of file unix_dyn_linker.cpp.


The documentation for this class was generated from the following file: