32#include <mach-o/dyld.h>
51#include <boost/filesystem/operations.hpp>
74 return ::basename(
const_cast<char*
>(
m_dlinfo->dli_fname));
78 return const_cast<char*
>(
m_dlinfo->dli_fname);
89ModuleInfo::operator
const Dl_info&()
const {
98 static string module{};
102 module = mod.substr(static_cast<string::size_type>(0), mod.find('.'));
110 static string module{};
117 module = name.data();
128 const string&
module = moduleNameFull();
146 static void*
hP =
reinterpret_cast<void*
>(
pid);
171 if (
nullptr == info) {
175 if (
nullptr !=
func) {
186 static string module{""};
188 module = getExecutablePath().string();
199 if (
not boost::filesystem::exists(
exe)) {
262 return boost::filesystem::canonical(
self_exe);
defines a Small helper function that allows the cast from void * to function pointer
OS specific details to access at run-time the module configuration of the process.
provide functions to retrieve resources pointed by environment variables
const void * addresse() const
std::unique_ptr< Dl_info > m_dlinfo
const std::string name() const
const std::string libraryName() const
T emplace_back(T... args)
ELEMENTS_API void setModuleHandle(ImageHandle handle)
Attach module handle.
ELEMENTS_API Path::Item getSelfProc()
Get the path to the /proc directory of the process.
ELEMENTS_API ProcessHandle processHandle()
Handle to running process.
ELEMENTS_API ImageHandle moduleHandle()
Handle to currently executed module.
ELEMENTS_API ImageHandle exeHandle()
Handle to the executable file running.
ELEMENTS_API const std::string & moduleNameFull()
Get the full name of the (executable/DLL) file.
void * ImageHandle
Definition of an image handle.
ELEMENTS_API const std::string & moduleName()
Get the name of the (executable/DLL) file without file-type.
ELEMENTS_API Path::Item getExecutablePath()
Get the full executable path.
ELEMENTS_API ModuleType moduleType()
Get type of the module.
ELEMENTS_API const std::vector< std::string > linkedModules()
Vector of names of linked modules.
ELEMENTS_API std::vector< Path::Item > linkedModulePaths()
ELEMENTS_API const std::string & exeName()
Name of the executable file running.