|
Elements 6.1.2
A C++ base framework for the Euclid Software.
|
This file is intended to iron out all the differences between systems (currently Linux and MacOSX) More...
#include <climits>#include <memory>#include <string>#include <typeinfo>#include <vector>#include "ElementsKernel/Export.h"#include "ElementsKernel/Unused.h"

Go to the source code of this file.
Namespaces | |
| namespace | Elements |
| namespace | Elements::System |
Macros | |
| #define | HOST_NAME_MAX 255 |
Typedefs | |
| using | Elements::System::ImageHandle = void * |
| Definition of an image handle. | |
| using | Elements::System::ProcessHandle = void * |
| Definition of the process handle. | |
| using | Elements::System::EntryPoint = unsigned long(*)(const unsigned long iid, void **ppvObject) |
| Definition of the "generic" DLL entry point function. | |
| using | Elements::System::Creator = void *(*)() |
| Definition of the "generic" DLL entry point function. | |
Functions | |
| ELEMENTS_API unsigned long | Elements::System::loadDynamicLib (const std::string &name, ImageHandle *handle) |
| Load dynamic link library. | |
| ELEMENTS_API unsigned long | Elements::System::unloadDynamicLib (ImageHandle handle) |
| unload dynamic link library | |
| ELEMENTS_API unsigned long | Elements::System::getProcedureByName (ImageHandle handle, const std::string &name, EntryPoint *pFunction) |
| Get a specific function defined in the DLL. | |
| ELEMENTS_API unsigned long | Elements::System::getProcedureByName (ImageHandle handle, const std::string &name, Creator *pFunction) |
| Get a specific function defined in the DLL. | |
| ELEMENTS_API unsigned long | Elements::System::getLastError () |
| Get last system known error. | |
| ELEMENTS_API const std::string | Elements::System::getLastErrorString () |
| Get last system error as string. | |
| ELEMENTS_API const std::string | Elements::System::getErrorString (unsigned long error) |
| Retrieve error code as string for a given error. | |
| ELEMENTS_API const std::string | Elements::System::typeinfoName (const std::type_info &) |
| Get platform independent information about the class type. | |
| ELEMENTS_API const std::string | Elements::System::typeinfoName (const char *) |
| ELEMENTS_API const std::string & | Elements::System::hostName () |
| Host name. | |
| ELEMENTS_API const std::string & | Elements::System::osName () |
| OS name. | |
| ELEMENTS_API const std::string & | Elements::System::osVersion () |
| OS version. | |
| ELEMENTS_API const std::string & | Elements::System::machineType () |
| Machine type. | |
| ELEMENTS_API std::string | Elements::System::getEnv (const std::string &var) |
| get a particular environment variable | |
| ELEMENTS_API bool | Elements::System::getEnv (const string &var, string &value) |
| get a particular env var, storing the value in the passed string (if set) | |
| ELEMENTS_API std::vector< std::string > | Elements::System::getEnv () |
| get all environment variables | |
| ELEMENTS_API int | Elements::System::setEnv (const string &name, const string &value, bool overwrite) |
| set an environment variables. | |
| ELEMENTS_API int | Elements::System::unSetEnv (const std::string &name) |
| Simple wrap around unsetenv for strings. | |
| ELEMENTS_API bool | Elements::System::isEnvSet (const std::string &var) |
| Check if an environment variable is set or not. | |
| ELEMENTS_API int | Elements::System::backTrace (ELEMENTS_UNUSED std::shared_ptr< void * > addresses, ELEMENTS_UNUSED const int depth) |
| ELEMENTS_API const std::vector< std::string > | Elements::System::backTrace (const int depth, const int offset=0) |
| ELEMENTS_API bool | Elements::System::getStackLevel (ELEMENTS_UNUSED void *addresses, ELEMENTS_UNUSED void *&addr, ELEMENTS_UNUSED std::string &fnc, ELEMENTS_UNUSED std::string &lib) |
Variables | |
| const std::string | Elements::System::SHLIB_VAR_NAME {"LD_LIBRARY_PATH"} |
| name of the shared dynamic library path | |
| const std::string | Elements::System::LIB_PREFIX {"lib"} |
| constant that represent the common prefix of the libraries | |
| const std::string | Elements::System::LIB_EXTENSION {"so"} |
| constant that represent the common extension of the libraries | |
| const std::string | Elements::System::LIB_SUFFIX {"." + LIB_EXTENSION} |
| constant that represents the standard suffix of the libraries: usually "."+LIB_EXTENSION | |
| const std::string | Elements::System::SHLIB_SUFFIX {LIB_SUFFIX} |
| alias for LIB_SUFFIX | |
| const std::string | Elements::System::DEFAULT_INSTALL_PREFIX {"/usr"} |
| constant for the canonical installation prefix (on Linux and MacOSX at least) | |
| const int | Elements::System::STACK_OFFSET {2} |
This file is intended to iron out all the differences between systems (currently Linux and MacOSX)
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3.0 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
All the compilation system dependent parts (#if, #ifdef etc) should be located in this file. This should clear the need of these entities in all other C++ files.
Definition in file System.h.