Elements 6.1.2
A C++ base framework for the Euclid Software.
Loading...
Searching...
No Matches
ModuleInfo.h
Go to the documentation of this file.
1
27#ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_MODULEINFO_H_
28#define ELEMENTSKERNEL_ELEMENTSKERNEL_MODULEINFO_H_
29
30// STL include files
31#include <dlfcn.h>
32#include <memory>
33#include <string>
34#include <vector>
35
36// Framework include files
37#include "ElementsKernel/Export.h" // ELEMENTS_API
38#include "ElementsKernel/Path.h" // for Path::Item
39#include "ElementsKernel/System.h" // LIB_PREFIX, LIB_EXTENSION
40
41namespace Elements {
42namespace System {
43
45public:
46 ModuleInfo();
47 explicit ModuleInfo(void*);
48 const std::string name() const;
49 const std::string libraryName() const;
50 const void* addresse() const;
51 operator const Dl_info&() const;
52 bool isEmpty() const;
53
54private:
56};
57
59
82ELEMENTS_API Path::Item getSelfProc();
83
84} // namespace System
85} // namespace Elements
86
87#endif // ELEMENTSKERNEL_ELEMENTSKERNEL_MODULEINFO_H_
88
defines the macros to be used for explicit export of the symbols
provide functions to retrieve resources pointed by environment variables
This file is intended to iron out all the differences between systems (currently Linux and MacOSX)
std::unique_ptr< Dl_info > m_dlinfo
Definition: ModuleInfo.h:55
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
Definition: Export.h:74
void * ImageHandle
Definition of an image handle.
Definition: System.h:109
ELEMENTS_API void setModuleHandle(ImageHandle handle)
Attach module handle.
Definition: ModuleInfo.cpp:149
ELEMENTS_API Path::Item getSelfProc()
Get the path to the /proc directory of the process.
Definition: ModuleInfo.cpp:192
ELEMENTS_API ProcessHandle processHandle()
Handle to running process.
Definition: ModuleInfo.cpp:143
ELEMENTS_API ImageHandle moduleHandle()
Handle to currently executed module.
Definition: ModuleInfo.cpp:153
ELEMENTS_API ImageHandle exeHandle()
Handle to the executable file running.
Definition: ModuleInfo.cpp:165
ELEMENTS_API const std::string & moduleNameFull()
Get the full name of the (executable/DLL) file.
Definition: ModuleInfo.cpp:108
ELEMENTS_API const std::string & moduleName()
Get the name of the (executable/DLL) file without file-type.
Definition: ModuleInfo.cpp:96
ELEMENTS_API Path::Item getExecutablePath()
Get the full executable path.
Definition: ModuleInfo.cpp:247
ELEMENTS_API ModuleType moduleType()
Get type of the module.
Definition: ModuleInfo.cpp:124
ELEMENTS_API const std::vector< std::string > linkedModules()
Vector of names of linked modules.
Definition: ModuleInfo.cpp:236
ELEMENTS_API std::vector< Path::Item > linkedModulePaths()
Definition: ModuleInfo.cpp:207
void * ProcessHandle
Definition of the process handle.
Definition: System.h:111
ELEMENTS_API const std::string & exeName()
Name of the executable file running.
Definition: ModuleInfo.cpp:184